Video pushing method and device, electronic equipment and storage medium

By using the recall frequency and matching scores in the video recommendation system, we can determine whether the video is a repetitive display video and perform repeated pushes, and solve the problem that the video content is not clicked, improving the click rate and user experience of the video.

CN119788919AActive Publication Date: 2025-04-08BEIJING QIYI CENTURY SCI & TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411905007.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-04-08
Estimated Expiration
2044-12-23

AI Technical Summary

Technical Problem

In video recommendations, video content may have a low click-through rate due to the title or poster not arousing user interest, resulting in a bias in the calculation of content that the user is interested in.

Method used

When receiving the client recommendation request on the server, the video recall is performed based on the client's tag information and viewing data, and the recall frequency and matching score of the recalled video are calculated, and whether it is a repeated display video, and it is added to the set of videos to be recommended and pushed to the client.

Benefits of technology

Improve the click-through rate of videos, and enhance the accuracy of user experience and video recommendations by repeatedly pushing videos that users are interested in but not clicked.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119788919A_ABST
    Figure CN119788919A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a video pushing method and device, electronic equipment and a storage medium, and is applied to the technical field of videos. By applying the method provided by the embodiment of the invention, video recall can be carried out according to the label information of the client and the watching data under the condition that the client recommendation request is received, and the first recall queue composed of a plurality of recalled videos is obtained; and when the recalled video is a recommended video, calculating the recall frequency of the recalled video according to the first recall queue and the historical recall queue, judging whether the recalled video can be repeatedly displayed or not, and when a repeatable display condition is met, adding the recommended repeatedly-displayed video into a first to-be-recommended video set and pushing the recommended repeatedly-displayed video to the client, repeated pushing of the video capable of being repeatedly displayed is achieved, so that the probability that a user clicks the video capable of being repeatedly displayed is improved, and then the click rate of the video is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of video technology, and in particular to a video push method, device, electronic device and storage medium. Background Art

[0002] With the development of big data, in waterfall flow scenarios, users will obtain new recommended content by sliding down, and the recommended content is often the content that the user is interested in based on the user's click data. Usually, when recommending content to users, such as when recommending videos, videos that have been recommended to users will be filtered out to avoid recommending the same video to users repeatedly.

[0003] However, in one possible scenario, the video content may be of interest to the user, but the title or poster of the video does not arouse the user's interest, so the user does not click to watch the video content, resulting in a low click-through rate for the video, and the content of user interest calculated based on the click data will also be biased. Summary of the invention

[0004] The purpose of the embodiments of the present application is to provide a video push method, device, electronic device and storage medium to improve the click rate of the video. The specific technical solution is as follows:

[0005] In a first aspect of an embodiment of the present application, a video push method is provided, the method being applied to a server, the method comprising:

[0006] When receiving a recommendation request from a client, recalling videos according to the tag information and viewing data of the client, and obtaining a first recall queue consisting of a plurality of recalled videos; wherein the tag information of the client represents attribute information of the client user;

[0007] For each of the recalled videos, if the recalled video is a recommended video, the recall frequency of the recalled video is calculated according to the first recall queue and the historical recall queue; wherein the historical recall queue is a video queue composed of recalled videos corresponding to the client recommendation requests under the first recommendation request of the same client; the first recommendation request is used to request the server to push the video to the client;

[0008] For each of the recalled videos, a matching score of the recalled video is calculated according to a pre-trained first deep learning model; wherein the first deep learning model is pre-trained according to a sample recalled video and a true value of the matching score of the sample recalled video; and the matching score indicates a matching degree between the recalled video and the client user;

[0009] Determine whether the recalled video is a repeatable video based on the recall frequency and the matching score, and if so, add it to the first set of videos to be recommended;

[0010] The first video set to be recommended is sent to the client for video push.

[0011] In a possible implementation manner, before sending the first set of videos to be recommended to the client for video push, the method further includes:

[0012] For each repeatedly displayable video, obtain the number of times it has been pushed; wherein the number of times it has been pushed is the total number of times the repeatedly displayable video has been pushed to the client based on the first recommendation request of the same client;

[0013] Determine whether the number of pushes is greater than or equal to a preset push threshold, and if so, delete the repeatedly displayed video from the first set of videos to be recommended;

[0014] The sending the first set of videos to be recommended to the client for video push includes:

[0015] Reordering the first videos to be recommended in the first set of videos to be recommended according to the number of times the repeatedly displayable videos have been pushed, to obtain a sorted set of first videos to be recommended;

[0016] The sorted first set of videos to be recommended is sent to the client for video push.

[0017] In a possible implementation manner, after sending the first set of videos to be recommended to the client for video push, the method further includes:

[0018] Recording the push time of each push of each video to be recommended in the first set of videos to be recommended;

[0019] Before sending the first set of videos to be recommended to the client for video push, the method further includes:

[0020] For each repeatedly displayable video, determine a first push time among the push times that is closest to the current time;

[0021] Determine whether the time difference between the current time and the first push time of the repeatedly displayed video is less than or equal to a preset duration; if so, delete the repeatedly displayed video from the first video set.

[0022] In a possible implementation, the method further includes:

[0023] Obtaining first posters to be recommended and / or first titles to be recommended corresponding to first videos to be recommended in the first set of videos to be recommended;

[0024] For each first video to be recommended, arbitrarily select one poster from each of the first posters to be recommended as the second poster to be recommended, and determine whether the second poster to be recommended is the recommended poster; and / or arbitrarily select one title from each of the first titles to be recommended as the second title to be recommended, and determine whether the second title to be recommended is the recommended title;

[0025] If not, adding the second poster to be recommended, and / or the second title to be recommended and the first video to be recommended to the first video set to be recommended;

[0026] If so, reselect a second poster to be recommended until the second poster to be recommended is not the recommended poster, and / or reselect a second title to be recommended until the second title to be recommended is not the recommended title.

[0027] In a possible implementation manner, for each of the recalled videos, when the recalled video is a recommended video, calculating the recall frequency of the recalled video according to the first recall queue and the historical recall queue includes:

[0028] The number of times the recalled video appears in the first recalled queue and the historical recalled queue is counted to obtain the recall frequency of the recalled video.

[0029] In a possible implementation, the method further includes:

[0030] For each client user, for each element in the recommended video and the recommended poster that have been recommended to the client user, use a preset number of hash functions to map the element to the first position of the first vector to obtain a first vector representing the storage state of each element; wherein one of the hash functions corresponds to one of the first positions;

[0031] For each vector element of the first vector, determine whether the value of the vector element adjacent to the vector element is the same as the vector element itself, and if so, determine that the vector element and the adjacent vector element are repeated vector elements;

[0032] Performing compression encoding on the repeated vector elements in the first vector to obtain an encoded first vector;

[0033] The encoded first vector is stored in the first database, wherein the first vector is used to determine whether the recalled video, and / or the second poster to be recommended, and / or the second title to be recommended are recommended.

[0034] In a possible implementation manner, upon receiving a recommendation request from a client, after performing video recall according to the tag information and viewing data of the client and obtaining a first recall queue consisting of a plurality of recalled videos, the method further includes:

[0035] Acquire the encoded first vector from the first database;

[0036] Decoding the encoded first vector by using a decoding function to obtain the first vector;

[0037] For each recalled video, determining a second position from the first vector according to a hash function corresponding to the recalled video;

[0038] It is determined whether the value of the second position indicates that the storage status of the video is yes. If so, it is determined that the recalled video is a recommended video.

[0039] In a possible implementation manner, the determining whether the second poster to be recommended is the recommended poster includes:

[0040] Acquire the encoded first vector from the first database;

[0041] Decoding the encoded first vector by using a decoding function to obtain the first vector;

[0042] For the second poster to be recommended, determining a third position from the first vector according to a hash function corresponding to the recalled video;

[0043] Determine whether the value of the third position indicates that the storage status of the poster is yes, and if so, determine that the second poster to be recommended is a recommended poster;

[0044] The step of determining whether the second title to be recommended is the recommended title comprises:

[0045] Acquire the encoded first vector from the first database;

[0046] Decoding the encoded first vector by using a decoding function to obtain the first vector;

[0047] For the second title to be recommended, determining a fourth position from the first vector according to a hash function corresponding to the recalled video;

[0048] It is determined whether the value of the fourth position indicates that the storage status of the title is yes. If so, it is determined that the second title to be recommended is a recommended title.

[0049] In another aspect of the embodiment of the present application, a video push device is provided, the device is applied to a server, and the device includes:

[0050] The video recall module is used to recall videos according to the tag information and viewing data of the client upon receiving a recommendation request from the client, and obtain a first recall queue consisting of a plurality of recalled videos; wherein the tag information of the client represents the attribute information of the client user;

[0051] A recall frequency calculation module, for each of the recalled videos, when the recalled video is a recommended video, calculates the recall frequency of the recalled video according to the first recall queue and the historical recall queue; wherein the historical recall queue is a video queue composed of recalled videos corresponding to the client recommendation requests under the first recommendation request of the same client; the first recommendation request is used to request the server to push the video to the client;

[0052] A matching score calculation module, for calculating the matching score of each of the recalled videos according to a pre-trained first deep learning model; wherein the first deep learning model is pre-trained according to a sample recalled video and a true value of the matching score of the sample recalled video; the matching score indicates the matching degree between the recalled video and the client user;

[0053] A module for determining a video that can be repeatedly displayed is used to determine whether the recalled video is a video that can be repeatedly displayed according to the recall frequency and the matching score, and if so, add the video to the first set of videos to be recommended;

[0054] The video push module is used to send the first video set to be recommended to the client for video push.

[0055] In a possible implementation, the device further includes:

[0056] A push count acquisition module is used to acquire the push count of each repeatedly displayable video; wherein the push count is the total number of times the repeatedly displayable video is pushed to the client based on the first recommendation request of the same client;

[0057] A push count determination module, used to determine whether the push count is greater than or equal to a preset push threshold, and if so, delete the repeatedly displayed video from the first set of videos to be recommended;

[0058] The video push module includes:

[0059] A sorting submodule, specifically used to re-sort the first videos to be recommended in the first set of videos to be recommended according to the number of times the repeatedly displayable videos have been pushed, to obtain a sorted set of first videos to be recommended;

[0060] The video push submodule is specifically used to send the sorted first set of videos to be recommended to the client for video push.

[0061] In a possible implementation, the device further includes:

[0062] A push recording module, used to record the push time of each push of each video to be recommended in the first set of videos to be recommended;

[0063] A push time acquisition module, used to determine, for each repeatedly displayable video, a first push time among the push times that is closest to the current time;

[0064] The freezing period determination module is used to determine whether the time difference between the current time and the first push time of the repeatedly displayed video is less than or equal to a preset duration. If so, the repeatedly displayed video is deleted from the first video set.

[0065] In a possible implementation, the device further includes:

[0066] A poster or title acquisition module, used to acquire each first poster to be recommended and / or first title to be recommended corresponding to each first video to be recommended in the first set of videos to be recommended;

[0067] A poster or title judgment module is used to select, for each first video to be recommended, any one of the first posters to be recommended as a second poster to be recommended, and judge whether the second poster to be recommended is the recommended poster; and / or, any one of the first titles to be recommended as a second title to be recommended, and judge whether the second title to be recommended is the recommended title;

[0068] a poster or title adding module, for, if not, adding the second poster to be recommended, and / or the second title to be recommended and the first video to be recommended to the first video set to be recommended;

[0069] The poster selection module is used to, if yes, reselect a second poster to be recommended until the second poster to be recommended is not the recommended poster, and / or reselect a second title to be recommended until the second title to be recommended is not the recommended title.

[0070] In a possible implementation, the recall frequency calculation module includes:

[0071] The recall frequency calculation submodule is specifically used to count the number of times the recalled video appears in the first recall queue and the historical recall queue to obtain the recall frequency of the recalled video.

[0072] In a possible implementation, the device further includes:

[0073] A hash function mapping module is used to map, for each client user, each element in the recommended videos and recommended posters that have been recommended to the client user, to a first position of a first vector using a preset number of hash functions to obtain a first vector representing the storage state of each element; wherein one hash function corresponds to one first position;

[0074] a vector element value determination module, configured to determine, for each vector element of the first vector, whether the value of the vector element adjacent to the vector element is the same as its own value, and if so, determine that the vector element and the adjacent vector element are repeated vector elements;

[0075] A compression coding module, used for performing compression coding on the repeated vector elements in the first vector to obtain a coded first vector;

[0076] A vector storage module is used to store the encoded first vector in the first database, wherein the first vector is used to determine whether the recalled video, and / or the second poster to be recommended, and / or the second title to be recommended are recommended.

[0077] In a possible implementation, the device further includes:

[0078] A first vector acquisition module, configured to acquire the encoded first vector from the first database;

[0079] A first decoding module, configured to decode the encoded first vector through a decoding function to obtain the first vector;

[0080] A second position determination module, configured to determine, for each recalled video, a second position from the first vector according to a hash function corresponding to the recalled video;

[0081] The first storage status judgment module is used to judge whether the values ​​of the second positions all indicate that the storage status of the video is yes, and if so, determine that the recalled video is a recommended video.

[0082] In a possible implementation, the poster or title determination module includes:

[0083] A vector acquisition second module, configured to acquire the encoded first vector from the first database;

[0084] A second decoding module, configured to decode the encoded first vector through a decoding function to obtain the first vector;

[0085] A third position determining module, configured to determine a third position from the first vector according to a hash function corresponding to the recalled video, for the second poster to be recommended;

[0086] A second storage status judgment module is used to judge whether the values ​​of the third positions all indicate that the storage status of the poster is yes, and if so, determine that the second poster to be recommended is a recommended poster;

[0087] A vector acquisition third module, configured to acquire the encoded first vector from the first database;

[0088] A third decoding module, configured to decode the encoded first vector through a decoding function to obtain the first vector;

[0089] a fourth position determining module, configured to determine, for the second title to be recommended, a fourth position from the first vector according to a hash function corresponding to the recalled video;

[0090] The third storage status judgment module is used to judge whether the value of the fourth position indicates that the storage status of the title is yes, and if so, determine that the second title to be recommended is a recommended title.

[0091] In another aspect of the embodiment of the present application, an electronic device is further provided, including:

[0092] Memory, used to store computer programs;

[0093] The processor is used to implement any video push method described in the embodiments of the present application when executing the program stored in the memory.

[0094] In another aspect of the implementation of the present application, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any of the above-mentioned video pushing methods is implemented.

[0095] In another aspect of the implementation of the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the above-mentioned video pushing methods.

[0096] The embodiments of the present application provide a video push method, device, electronic device and storage medium. By applying the method of the embodiments of the present application, when a recalled video is a recommended video, a judgment can be made as to whether it can be repeatedly displayed based on the recall frequency and personalized score of the recalled video. When the conditions for repeated display are met, the recommended repeatedly displayed video is added to the first set of videos to be recommended and pushed to the client, thereby achieving repeated push of the repeatedly displayed video, thereby increasing the probability of users clicking on the repeatedly displayed video, and further increasing the click-through rate of the video. BRIEF DESCRIPTION OF THE DRAWINGS

[0097] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art are briefly introduced below.

[0098] Figure 1 A first schematic diagram of a waterfall page layout provided in an embodiment of the present application;

[0099] Figure 2 A second schematic diagram of a waterfall page layout provided in an embodiment of the present application;

[0100] Figure 3 A third schematic diagram of a waterfall page layout provided in an embodiment of the present application;

[0101] Figure 4 A schematic diagram of a video push interface provided in an embodiment of the present application;

[0102] Figure 5 A schematic diagram of a flow chart of a video push method provided in an embodiment of the present application;

[0103] Figure 6 A schematic diagram of sliding window calculation provided in an embodiment of the present application;

[0104] Figure 7 Another flowchart of the video push method provided in the embodiment of the present application;

[0105] Figure 8 A schematic diagram of a first database storing videos provided in an embodiment of the present application;

[0106] Fig. 9 A schematic diagram of the structure of a video push system provided in an embodiment of the present application;

[0107] Fig.10 Another structural diagram of the video push system provided in the embodiment of the present application;

[0108] Fig.11 A schematic diagram of the structure of a video push device provided in an embodiment of the present application;

[0109] Fig.12 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0110] The technical solutions in the embodiments of the present invention will be described below in conjunction with the accompanying drawings in the embodiments of the present invention.

[0111] The method of the embodiment of the present application can be applied to various video recommendation scenarios. In one example, the waterfall flow page layout is a more popular layout method nowadays. The visual representation of this page layout method is an uneven multi-column layout. As the page scroll bar scrolls down, and in this page layout method, the client can continuously load the video data sent by the server and append it to the end of the current page.

[0112] Figures 1 to 3 It is a schematic diagram of multiple waterfall page layouts. Figure 1 The waterfall page layout shown is often used in TV video software. In the TV interface, multiple video windows can be displayed, and each window displays a poster and recommendation for the corresponding video. When the user is attracted by the video poster or recommendation and clicks on the window corresponding to the video, the physical content of the video can be obtained for viewing. If the video content that the user is interested in does not appear in the interface, the user can use the remote control to slide down the page to scroll the page to obtain new video content.

[0113] like Figure 2 The waterfall flow page layout shown is often used in short video software. Under this page layout, the interface of the electronic device directly displays the physical content of a video. The user can directly watch the video content or scroll the page to complete the video switching by sliding down or up on the screen. Figure 3 The waterfall page layout shown is often used in video websites or live broadcast software. In this page layout, the interface of the electronic device can display multiple video windows, where each window directly displays the entity content of the video. The user can obtain the entity content of the video by clicking on the window corresponding to the video of interest, and the entire interface of the electronic device only displays the entity of the video. If there is no video of interest to the user in the interface, the user can scroll the page to obtain a new video by sliding down or up on the screen.

[0114] The method of the embodiment of the present application is not only applicable to the above-mentioned waterfall flow scenario, but also can be applied to other video recommendation scenarios. In one example, the embodiment of the present application can be applied to the video page flipping recommendation scenario, such as Figure 4 As shown, the user can obtain other recommended videos by clicking the page turning button to turn the page up and down or left and right.

[0115] In the related art, in order to avoid recommending duplicate content to users, a filtering function is usually set, that is, the video recommended to the user will no longer be recommended in the subsequent swipe or page turning. However, the screen display space of the electronic device is limited. The user may not click on the video because the video poster or video recommendation displayed in the video window did not attract the user's attention, or the user may not notice and miss the video, while the actual video entity content may be content that the user is interested in. Therefore, the filtering function may determine that the video entity content is not interesting to the user because the user did not click on the video, and the video entity content will no longer be pushed in subsequent recommendations. This not only causes a low click-through rate for the video entity, but also because the video entity is incorrectly judged as content that the user is not interested in, the subsequent recommended video content made based on the feedback may also be affected, thereby affecting the user experience.

[0116] In order to solve at least one of the above problems, a first aspect of an embodiment of the present application provides a video push method, which is applied to a server, including: Figure 5 Steps shown:

[0117] Step S501: upon receiving a recommendation request from a client, recall videos according to the tag information and viewing data of the client, and obtain a first recall queue consisting of a plurality of recalled videos.

[0118] In actual applications, the method of the embodiment of the present application is applied to a terminal device on the server side, which terminal device can be an electronic device such as a computer or a server. The client recommendation request is a video recommendation request sent by the client to the server side, and the recommendation request can be a recommendation request that is directly and automatically triggered, or a recommendation request that is triggered in response to a user's recommendation request operation. In one example, for short video recommendation application software, this type of software will directly recommend videos to the user when the user opens it. In this case, the user automatically triggers the client recommendation request when opening the software. In another example, the client recommendation request can be a recommendation request triggered in response to a recommendation request operation performed by the user when using the video recommendation software, wherein the user recommendation request operation can be a page turning signal sent by the user to the electronic display device through a remote control, or can be an operation such as sliding up, sliding down, or turning pages directly on the screen of the electronic display device.

[0119] The tag information of the client can be the attribute information of the client user, and the attribute information is used to indicate the user's video viewing preferences. In one example, when the user logs in to the software for the first time, the client can push an interest selection page to the user, guide the user to make interest selections, and collect the interest information selected by the user. The interest information is mainly used to indicate the user's viewing preferences, and the information is sent to the server as tag information. Among them, the interest information selected by the user can be information indicating the type of video, such as movies, variety shows, TV series, documentaries, etc.; it can also be information indicating video-related fields, such as sports, entertainment, suspense, comedy, and other related fields. In another example, the attribute information of the client is information indicating the user's basic information. For example, the attribute information includes the user's age. If the user is less than 18 years old, a video related to youth education can be pushed when pushing a video to the user.

[0120] The client's viewing data may indicate the client user's viewing status of the video entity. For example, the client's viewing data may include data such as whether the user clicks to watch the video content, the length of time the user watches the video, and the number of times the user watches the video.

[0121] Video recall refers to the process of selecting videos that users may be interested in from a large number of videos in a push system for users to browse and select. Recall can be performed from multiple dimensions of the client's corresponding user or multiple dimensions of the video. For example, based on the client's tag information and viewing data, content that users may be interested in can be selected from a large number of videos in various databases. In an example, if a user watches a video that is a comedy video starring actor A, then when the server receives a recommendation request from the client, the recalled videos may include other videos starring actor A and various comedy videos.

[0122] Step S502: For each recalled video, if the recalled video is a recommended video, the recall frequency of the recalled video is calculated according to the first recall queue and the historical recall queue.

[0123] The historical recall queue is a video queue composed of recalled videos corresponding to each client recommendation request under the same client first recommendation request, and the client first recommendation request is used to request the server to push the video to the client.

[0124] In actual applications, each time a user triggers a client recommendation request, the server will perform a corresponding recall, obtain a recall queue consisting of recalled videos, filter the recall queue, and recommend the filtered video queue to the client. After each video is recommended to the client, it will be stored in a database. The user can determine whether the recalled video is a recommended video by judging whether it is in the database.

[0125] In actual applications, each recalled video obtained by video recall can be a pushed video or a video that has not been pushed. Its recall frequency is the sum of the number of times a recalled video appears in the first recall queue and each historical recall queue under the first recommendation request of the same client.

[0126] The first recommendation request of the client is a search request made by the user in actual application. It refers to the request made by the user to search on the client based on his own personalized needs. It can be triggered by the user clicking the search box on the client interface, or by the user clicking a certain video type area. In one example, the user clicks on the search button in a video player software to find the video he wants to watch, triggering the first recommendation request of the client; the client will display the relevant recommended videos to the user according to the user's search content in the first recommendation request of the client, and each operation such as sliding down or turning the page performed by the user on the page showing the relevant recommended videos can trigger each client recommendation request under the first recommendation request of the client. In another example, the user directly clicks on the movie area on the client interface to trigger the first recommendation request of the client, and the server responds to the search request and pushes each movie video to the client, and each pull-down search performed by the user on the movie video push display interface of the client can trigger each client recommendation request under the first recommendation request.

[0127] Step S503: For each recalled video, a matching score of the recalled video is calculated according to the pre-trained first deep learning model.

[0128] The first deep learning model is pre-trained based on the sample recall video and the true value of the matching score of the sample recall video; the matching score indicates the matching degree between the recall video and the client user. In one example, the deep learning model can be trained by multiple feature data such as the sample information of the sample recall video (including the actor list, video type, video content, etc. of the sample recall video), the label sample information of the client, etc., to obtain the trained first deep learning model. The first deep learning model is mainly used to calculate the matching score of the recall video for the client user based on the relevant information of the recall video (such as the information of the video-related actors, content, type, etc.) and the user-related information of the client (such as the client label information, viewing data, etc.). The higher the matching score, the higher the correlation between the recall video and the label information of the client user, the more it matches the user's video viewing preference, and the greater the possibility that the user is interested in the recall video. Therefore, the recall video can be repeatedly pushed multiple times to increase the click-through rate of the video.

[0129] Step S504: Determine whether the recalled video is a repeatable video based on the recall frequency and the matching score.

[0130] Among them, a recall threshold and a score threshold can be set. By judging whether the recall frequency is greater than or equal to the recall threshold and judging whether the matching score is greater than or equal to the score threshold, it is determined whether the recalled video is a repeatable video. The recall threshold can be determined by actual filtering requirements. If it is necessary to reduce the frequency of pushing pushed videos, the recall threshold can be set to a larger value. In an example, the recall threshold can be set to values ​​such as 6, 8, and 9. The score threshold can also be determined by actual filtering requirements. The higher the score threshold, the fewer the number of repeatable videos obtained, but the greater the probability that the user clicks on the repeatable video.

[0131] If yes, execute step S505: add it to the first video set to be recommended.

[0132] If the recall frequency of the recalled video is greater than or equal to the above recall threshold and the matching score is greater than or equal to the above score threshold, it is determined that the user is more interested in the recalled video and is more likely to click on the video. Therefore, it can be determined that the recalled video is a repeatedly displayed video, and the repeatedly displayed video is added to the first set of videos to be recommended to facilitate subsequent push.

[0133] In actual applications, if the recall frequency of a recalled video is less than the above recall threshold or the matching score is less than the score threshold, it is considered that the user has little interest in the recalled video and is less likely to click on the video. In order to avoid repeatedly pushing the pushed video to the client and causing user disgust, the pushed recalled video can be deleted and no longer pushed.

[0134] Step S506: Send the first video set to be recommended to the client for video push.

[0135] The method of the embodiment of the present application can be calculated by a sliding window, and its basic principle is to slide the entire first recall queue by maintaining a fixed window, and execute the above steps to calculate the video that slides to. The sliding window can also include two windows, one of which is a non-repeatable display window, which is used to filter out pushed videos; and the other window is a repeatable display window, which is used to push pushed videos that can be repeatedly displayed.

[0136] In an example, Figure 6As shown, the sliding window includes window A and window B, wherein window A is a non-repeatable display window, which is used to execute the recommendation method in the related technology and filter the pushed videos; window B is a repeatable display window, which can be used to execute the method of the embodiment of the present application and repeatedly push the pushed repeatable push videos. The two slide on the first recall queue with a unit step length, each executes the relevant push method, obtains the first subset of videos to be recommended and the second subset of videos to be recommended, and sends them as a push result, that is, the first set of videos to be recommended, to the client.

[0137] By applying the method of the embodiment of the present application, when a recalled video is a recommended video, a judgment can be made as to whether it can be repeatedly displayed based on the recall frequency and matching score of the recalled video. When the recalled video meets the conditions for repeated display, the video is added to the first set of videos to be recommended and pushed to the client, thereby achieving repeated push of repeatedly displayed videos, thereby increasing the probability of users clicking on the repeatedly displayed videos, and further increasing the click-through rate of the videos.

[0138] In a possible implementation, the method of the embodiment of the present application may further filter the repeatedly pushed and displayed videos. Then, before the above step S506, the method of the embodiment of the present application may further include the following steps:

[0139] Step 1: For each repeatedly displayable video, obtain the number of times it has been pushed.

[0140] The number of pushes is the total number of times the reproducible video is pushed to the client based on the first recommendation request of the same client. In actual applications, after the video is pushed, the push information such as the number of pushes and the push time of the video can be recorded. In an example, the recorded push information is updated in real time, and for a reproducible video, the number of pushes of the video can be directly read.

[0141] In a possible implementation, after determining in the above step S504 that a certain recommended recall video is a repeatable video, the repeatable video can be marked as repeatable to obtain repeatable marking information. The repeatable marking information can be a label information represented by binary data. In an example, "0" indicates that the video is a non-repeatable video, and "1" indicates that the video is a repeatable video.

[0142] In the first videos to be recommended, for each first video to be recommended, the repeatable marking information of the video can be obtained. If the repeatable marking information is "1", it is confirmed that the first video to be recommended is a repeatable display video.

[0143] Step 2: Determine whether the number of pushes is greater than or equal to a preset push threshold. If so, delete the repeatedly displayed video from the first set of videos to be recommended.

[0144] The method of the embodiment of the present application is executed by the above-mentioned repeatable display window, and the size of the repeatable display window can be configured according to actual needs. Within the size range of the repeatable display window, the number of times the repeatable display video has been pushed is judged. If the number of times the repeatable display video has been pushed is greater than or equal to the preset push threshold, it means that in actual application, the video has been recommended to the user many times. In order to avoid user disgust caused by repeated pushes, it is necessary to discard it, that is, delete the repeatable display video from the first set of videos to be recommended. Among them, the preset push threshold can be determined according to actual application needs. If it is necessary to push the video to the user more times to ensure that the user will not miss it due to not noticing the video, the preset push threshold can be set to a larger value; if you want to avoid causing user disgust, the preset push threshold can be set to a smaller value.

[0145] After filtering the videos in the first video set to be recommended, the first videos to be recommended in the first video set to be recommended may be sorted, as follows:

[0146] Step three: reorder the first videos to be recommended in the first set of videos to be recommended according to the number of times the repeatedly displayed videos have been pushed, to obtain a sorted set of first videos to be recommended.

[0147] Step 4: Send the sorted first video set to be recommended to the client for video push.

[0148] In order to improve the user experience, the first videos to be recommended in the first set of videos to be recommended can be reordered according to the number of times the videos that can be repeatedly displayed have been pushed. For example, for videos that can be repeatedly displayed that have been pushed a large number of times, they are placed at the back of the order. Among them, the first videos to be recommended in the first set of videos to be recommended can be reordered by a greedy algorithm, that is, for each first video to be recommended, the optimization strategy of the greedy algorithm is used to calculate whether the first video to be recommended meets the preset rules of the optimization strategy, and if it meets the rules, it is distributed to the specified position of the client interface.

[0149] In actual applications, in order to avoid pushing multiple videos of the same type to the client at one time and affecting the user experience, when sorting the first videos to be recommended, they can be broken up based on the type or frequency control of the first videos to be recommended, so that various types of videos can be pushed when pushing videos to the client. And in a possible implementation, the number of videos that can be repeatedly displayed can also be controlled when distributing videos. Since the display screen of the client electronic display device is limited, the number of videos pushed each time is also limited accordingly. In order to avoid pushing too large a proportion of repeatedly displayed videos to users, the number of videos that can be repeatedly displayed can be limited when distributing videos. For example, the number of videos that can be repeatedly displayed in the first video set to be recommended is set to no more than 3, so as to avoid the situation where a large number of repeatedly pushed videos appear on the client display interface, resulting in a poor user experience.

[0150] By applying the method of the embodiment of the present application, the number of times a repeatedly displayed video has been pushed can be judged, so that when the number of pushes has reached a preset push threshold, the repeatedly displayed video can be discarded, thereby avoiding recommending the same video to users too many times, thereby improving the user experience.

[0151] In a possible implementation, the following filtering operation may also be performed on the videos in the first set of videos to be recommended:

[0152] Step 1: For each repeatedly displayable video, determine the first push time that is closest to the current time among the push times.

[0153] In actual applications, after a video is pushed, the push time and push frequency of the video can be recorded. In a possible implementation, after the first set of videos to be recommended is sent to the client for video push, the push time of each push of each video to be recommended in the first set of videos to be recommended is recorded. In an example, for a certain video, the push time of each push is recorded as follows: Push frequency: 1, Push time: 2024-12-20-9:50; Push frequency: 2, Push time: 2024-12-20-9:56; Push frequency: 3, Push time: 2024-12-20-10:03. For a video, the push time corresponding to its last push is the first push time closest to the current time. In the above example, the first push time is 2024-12-20-10:03.

[0154] Step 2: Determine whether the time difference between the current time and the first push time of the repeatedly displayed video is less than or equal to a preset duration. If so, delete the repeatedly displayed video from the first set of videos to be recommended.

[0155] The preset duration is a freezing period after a video is pushed, that is, the filtered TTL (Time ToLive) period of the pushed video. During this freezing period, the pushed video will not be pushed again. The preset duration can be configured according to the actual application scenario requirements. For example, for the push of short videos, the freezing period can be set to a shorter time, such as 2 hours, 4 hours, 6 hours, etc.; for the push of long videos, the freezing period can be set to a longer time, such as 12 hours, 24 hours, 48 ​​hours, etc.

[0156] In one example, the preset duration is 5 minutes. Taking the above example again, if the current time is 2024-12-20-10:07, the time difference between the current time and the first push time is 4 minutes, which is less than the preset duration. This means that the reproducible video is in the freezing period and needs to be deleted from the first set of videos to be recommended.

[0157] By applying the method of the embodiment of the present application, it is possible to determine whether the repeatedly displayed video is in a freezing period and discard the repeatedly displayed video in the freezing period, thereby avoiding repeatedly pushing the same video to the user in a short period of time and affecting the user experience.

[0158] In a possible implementation manner, when pushing a video to a client, the video is pushed together with a poster and / or a title of the video. The method of the embodiment of the present application may further include the following steps:

[0159] Step (1): obtaining first posters to be recommended and / or first titles to be recommended corresponding to first videos to be recommended in the first video set to be recommended.

[0160] Step (2): for each first video to be recommended, arbitrarily select a poster from each first poster to be recommended as the second poster to be recommended, and determine whether the second poster to be recommended is a recommended poster; and / or, arbitrarily select a title from each first title to be recommended as the second title to be recommended, and determine whether the second title to be recommended is a recommended title.

[0161] If not, then execute step (3): add the second poster to be recommended, and / or the second title to be recommended and the first video to be recommended to the set of first videos to be recommended;

[0162] If so, the process returns to step (2) to reselect a second poster to be recommended until the second poster to be recommended is not the recommended poster, and / or reselect a second title to be recommended until the second title to be recommended is not the recommended title.

[0163] The poster is the promotional poster corresponding to the video, and the title is the promotional name corresponding to the video. One video can correspond to multiple posters and titles. In an example, for a certain film and television series, when displayed on the client interface, the stills of all the cast members of the film and television series can be used as the promotional poster of the film and television series, or the stills of the male and female protagonists of the film and television series can be used as the promotional poster of the film and television series; the story outline of the film and television series can be used as the title of the film and television series for promotion; or the storyline of a certain character in the film and television series can be used as the title for promotion.

[0164] In actual applications, the recommended videos, recommended posters and recommended titles are also stored in a database. In determining in an example whether the second poster to be recommended or the second title to be recommended has been recommended, it is only necessary to determine whether the second poster to be recommended or the second title to be recommended exists in the above database.

[0165] For each first video to be recommended, if the selected second poster to be recommended is a recommended video, it means that the recommended poster of the first video to be recommended did not arouse the user's interest when it was pushed before. Therefore, the poster needs to be changed when recommending the first video to be recommended until the selected second poster to be recommended is a non-recommended poster. In an example, the client user is a loyal fan of team A. For a match video between team A and team B, if the relevant pictures and introduction content of team B are selected as the poster and title for promotion when pushing the video, the user may not click to watch the match video. However, the video is still a video that the user is interested in. Therefore, when pushing repeatedly, if the relevant pictures and introduction content of team A that have not been pushed are selected as the poster and title of the match video, the user is very likely to click on the video to watch.

[0166] By applying the method of the embodiment of the present application, it is possible to determine whether the second poster to be recommended and / or the second title to be recommended selected for the first video to be recommended have been recommended. If so, reselect until the selected second poster to be recommended and / or the second title to be recommended are non-recommended posters and / or titles. This can achieve the switching of the repeatedly displayed recommended videos to the non-recommended posters and / or titles for display, thereby increasing the possibility of user clicks and thus improving the click-through rate of the video.

[0167] In a possible implementation, the recall frequency of the recalled video may be calculated by the following steps:

[0168] The number of times the recalled video appears in the first recall queue and the historical recall queue is counted to obtain the recall frequency of the recalled video.

[0169] In practical applications, the recall frequency of each video can be recorded to obtain the recall frequency information, and the recall frequency information of the video can be updated each time the video is recalled. When obtaining the recall frequency of the recalled video, the recall frequency information of the recalled video can be directly identified to obtain the recall frequency.

[0170] By applying the method of the embodiment of the present application to calculate the recall frequency of the recalled video, it can be determined whether it is a repeatedly displayed video based on the recall frequency and matching score of the recalled video. If it is a repeatedly displayed video, the video can be pushed repeatedly, thereby increasing the possibility of users clicking on the video and improving the click-through rate of the video.

[0171] In practical applications, the recommended videos, recommended posters and recommended titles can be stored in a database in the form of Bloom filters, as follows:

[0172] Step (i): for each client user, for each element in the recommended video, recommended poster and recommended title that has been recommended to the client user, use a preset number of hash functions to map the element to the first position of the first vector to obtain a first vector representing the storage state of each element.

[0173] Each client user may correspond to a first vector, and a hash function may correspond to the first position, wherein the first position indicates the position of the vector element in the first row and column of the first vector where the recommended video, recommended poster or recommended title is mapped. In an example, a function maps a recommended video to the first row and third column of the first vector.

[0174] Step (ii): for each vector element of the first vector, determine whether the value of the vector element adjacent to the vector element is the same as its own value; if so, determine that the vector element and the adjacent vector element are repeated vector elements.

[0175] Step (iii): compress and encode the repeated vector elements in the first vector to obtain an encoded first vector.

[0176] In practical applications, the first vector is a mapped Bloom filter, and the first vector can be compressed and stored using a snappy compression algorithm, thereby reducing the storage space occupied by the Bloom filter.

[0177] Step (iv): storing the encoded first vector in the first database, wherein the first vector is used to determine whether the recalled video, and / or the second poster to be recommended, and / or the second title to be recommended are recommended.

[0178] Normally, in order to avoid storing too much data and putting pressure on bandwidth and cache databases, the list of pushed videos stored in the first database does not exceed 600, and the list of poster image entities does not exceed 6,000. Of course, this value can be dynamically configured based on actual conditions.

[0179] By applying the method of the embodiment of the present application, recommended videos, posters and titles can be stored through a Bloom filter and a snappy compression algorithm, thereby saving system resources, reducing cache pressure, improving system IO (input / output) efficiency, and ensuring the system's latency requirements.

[0180] In a possible implementation, whether the recalled video is a recommended video can be determined by the following steps:

[0181] Step A: Obtain an encoded first vector from a first database.

[0182] When obtaining the encoded first vector, the encoded first vector corresponding to the client user may be obtained from the first database according to the id corresponding to the client user.

[0183] Step B: Decode the encoded first vector using a decoding function to obtain the first vector.

[0184] Among them, the decoding function is the decoding function corresponding to the snappy compression algorithm in the related technology, which will not be repeated in this application.

[0185] Step C: For each recalled video, determine the second position from the first vector according to the hash function corresponding to the recalled video.

[0186] Step D: Determine whether the value of the second position indicates that the storage status of the video is yes. If so, determine that the recalled video is a recommended video.

[0187] In actual applications, a recommended video is mapped to three positions of the first vector through three hash functions, and the values ​​of the three positions in the first vector are set to 1. When judging whether the recalled video is a recommended video, the three positions in the first vector are determined by the hash function corresponding to the recalled video. If the values ​​of these three positions are all "1", it means that the recalled video exists in the first database and is a recommended video. If the value of any of the three positions is not "1", it means that the video is not a recommended video.

[0188] By applying the method of the embodiment of the present application, it is possible to determine whether the recalled video is a recommended video through the first vector in the first database, thereby determining the repeatable display condition when the recalled video is a recommended video.

[0189] In a possible implementation manner, whether the second poster to be recommended is a recommended poster may also be determined by the following steps:

[0190] Step a: Obtain the encoded first vector from the first database.

[0191] Step b: Decode the encoded first vector using a decoding function to obtain the first vector.

[0192] Step c: for the second poster to be recommended, determine the third position from the first vector according to the hash function corresponding to the recalled video.

[0193] Step d: Determine whether the value of the third position indicates that the storage status of the poster is yes. If so, determine that the second poster to be recommended is a recommended poster.

[0194] Determine whether the second title to be recommended is a recommended title by following the steps below:

[0195] Step e: Obtain the encoded first vector from the first database.

[0196] Step f: Decode the encoded first vector using a decoding function to obtain the first vector.

[0197] Step g: For the second title to be recommended, determine the fourth position from the first vector according to the hash function corresponding to the recalled video.

[0198] Step h: Determine whether the value of the fourth position indicates that the storage status of the title is yes. If so, determine that the second title to be recommended is a recommended title.

[0199] Among them, step ef of the embodiment of the present application is the same as step ab and step AB, and will not be repeated in this embodiment.

[0200] By applying the method of the embodiment of the present application, it is possible to determine whether the second poster to be recommended or the second title to be recommended has been recommended through the first vector in the first database, so that if it has been recommended, the poster or title is switched, and the unrecommended poster or title is pushed together with the first video to be recommended, thereby increasing the possibility of user interest and further increasing the video click-through rate.

[0201] The following example is used to specifically illustrate the method of the embodiment of the present application. Figure 7As shown, when receiving the recommendation request from the client, the video is recalled, and the recalled videos that have not been pushed are finely ranked and scored. Each recalled video is scored according to the type, content and other characteristic information of each recalled video. The higher the score, the greater the possibility that the user is interested in the video. When sorting the recalled videos, it is placed in a front position. For the recalled videos that have been pushed, it is necessary to calculate whether they are repeatable display videos. If they are repeatable display videos, they can be directly recommended to the re-ranking step, that is, the first videos to be recommended in the first set of videos to be recommended are re-ranked. Among them, the recommended videos will not appear in the non-repeatable display sliding window, and the number of repeated display videos outside the window also needs to be scattered to control the number of repeated display videos. The re-ranked first set of videos to be recommended is pushed to the client as the final push result. At the same time, the first set of videos to be recommended is stored in the first database and updated. The stored and updated information may include the id information of the pushed videos, the number of pushes, the id information of the pushed posters, the address information of the pushed posters, etc.

[0202] The storage format of the first database can be as follows Figure 8 As shown, the first database stores the global pushed video set, wherein each pushed video set corresponding to the client recommendation request is stored in the database, such as the first pushed video set, the second pushed video set, ... the Nth pushed video set and the N+1th pushed video set. The calculated video results of the repeatable display sliding window and the non-repeatable display sliding window together constitute a pushed video set.

[0203] In a second aspect of the embodiments of the present application, a video push system is provided, which is applied to a server, such as Fig. 9 As shown, the system includes a video computing device 901 and a video pushing device 902;

[0204] The video computing device 901 is used to:

[0205] When a recommendation request is received from a client, videos are recalled based on the tag information and viewing data of the client to obtain a first recall queue consisting of multiple recalled videos; wherein the tag information of the client represents attribute information of the client user.

[0206] For each recalled video, if the recalled video is a recommended video, the recall frequency of the recalled video is calculated based on the first recall queue and the historical recall queue; wherein the historical recall queue is a video queue composed of recalled videos corresponding to the recommendation requests of each client under the first recommendation request of the same client; the first recommendation request is used to request the server to push the video to the client.

[0207] For each recalled video, a matching score of the recalled video is calculated based on a pre-trained first deep learning model; wherein the first deep learning model is pre-trained based on sample recalled videos and the true value of the matching score of the sample recalled video; the matching score represents the matching degree between the recalled video and the client user.

[0208] Through the recall frequency and matching score, it is determined whether the recalled video is a video that can be displayed repeatedly. If so, it is added to the first set of videos to be recommended.

[0209] The first video set to be recommended is sent to the video pushing device.

[0210] The video pushing device 902 is used to push the first video set to be recommended to the client for video pushing.

[0211] The system using the embodiment of the present application can determine whether the recalled video can be repeatedly displayed based on the recall frequency and personalized score of the recalled video when the recalled video is a recommended video. When the conditions for repeated display are met, the recommended repeatedly displayed video is added to the first set of videos to be recommended and pushed to the client, thereby achieving repeated push of the repeatedly displayed video, thereby increasing the probability of users clicking on the repeatedly displayed video, and further increasing the click-through rate of the video.

[0212] In a possible implementation, the video computing device is further configured to:

[0213] For each repeatedly displayable video, obtain the number of times it has been pushed; wherein the number of times it has been pushed is the total number of times the repeatedly displayable video is pushed to the client based on the first recommendation request of the same client.

[0214] It is determined whether the number of pushes is greater than or equal to a preset push threshold. If so, the repeatedly displayed video is deleted from the first video set to be recommended.

[0215] Sending the first video set to be recommended to the client for video push includes:

[0216] According to the number of times the repeatedly displayed video has been pushed, the first videos to be recommended in the first set of videos to be recommended are reordered to obtain a sorted set of first videos to be recommended.

[0217] The sorted first set of videos to be recommended is sent to the client for video push.

[0218] In a possible implementation, the video computing device is further configured to:

[0219] The push time of each push of each video to be recommended in the first set of videos to be recommended is recorded.

[0220] Before sending the first video set to be recommended to the client for video push, the method further includes:

[0221] For each repeatedly displayable video, a first push time closest to the current time among the push times is determined.

[0222] It is determined whether the time difference between the current time and the first push time of the repeatedly displayed video is less than or equal to a preset duration. If so, the repeatedly displayed video is deleted from the first video set.

[0223] In a possible implementation, the video computing device is further configured to:

[0224] Obtain each first poster to be recommended corresponding to each first video to be recommended in the first video to be recommended set, and / or first title to be recommended.

[0225] For each first video to be recommended, select any one of the first posters to be recommended as the second poster to be recommended, and determine whether the second poster to be recommended is a recommended poster; and / or select any one of the first titles to be recommended as the second title to be recommended, and determine whether the second title to be recommended is a recommended title.

[0226] If not, the second poster to be recommended, and / or the second title to be recommended and the first video to be recommended are added to the first video set to be recommended.

[0227] If so, reselect the second poster to be recommended until the second poster to be recommended is not the recommended poster, and / or reselect the second title to be recommended until the second title to be recommended is not the recommended title.

[0228] In one possible implementation, the video computing device is used to:

[0229] The number of times the recalled video appears in the first recall queue and the historical recall queue is counted to obtain the recall frequency of the recalled video.

[0230] In a possible implementation, the video computing device is further configured to:

[0231] For each client user, for each element in the recommended videos and recommended posters that have been recommended to the client user, a preset number of hash functions are used to map the element to the first position of the first vector to obtain a first vector representing the storage state of each element; wherein one hash function corresponds to one first position.

[0232] For each vector element of the first vector, it is determined whether the value of the vector element adjacent to the vector element is the same as the vector element itself. If so, it is determined that the vector element and the adjacent vector element are repeated vector elements.

[0233] The repeated vector elements in the first vector are compressed and encoded to obtain an encoded first vector.

[0234] The encoded first vector is stored in the first database, wherein the first vector is used to determine whether the recalled video, and / or the second poster to be recommended, and / or the second title to be recommended are recommended.

[0235] In one possible implementation, the video computing device is used to:

[0236] Obtain an encoded first vector from a first database.

[0237] The encoded first vector is decoded by a decoding function to obtain a first vector.

[0238] For each recalled video, a second position is determined from the first vector according to a hash function corresponding to the recalled video.

[0239] It is determined whether the value of the second position indicates that the storage status of the video is yes. If so, it is determined that the recalled video is a recommended video.

[0240] In one possible implementation, the video computing device is used to:

[0241] Obtain an encoded first vector from a first database.

[0242] The encoded first vector is decoded by a decoding function to obtain a first vector.

[0243] For the second poster to be recommended, a third position is determined from the first vector according to the hash function corresponding to the recalled video.

[0244] It is determined whether the value of the third position indicates that the storage status of the poster is yes. If so, it is determined that the second poster to be recommended is a recommended poster.

[0245] Determining whether the second title to be recommended is a recommended title; including:

[0246] Obtain an encoded first vector from a first database.

[0247] The encoded first vector is decoded by a decoding function to obtain a first vector.

[0248] For the second title to be recommended, a fourth position is determined from the first vector according to the hash function corresponding to the recalled video.

[0249] It is determined whether the value of the fourth position indicates that the storage status of the title is yes. If so, it is determined that the second title to be recommended is a recommended title.

[0250] like Fig.10 As shown, compared Fig. 9 The video push system of the embodiment of the present application further includes a first database. The video push device can obtain the pushed information of the video from the first database, and send the pushed first video set to be recommended to the first database to facilitate updating the pushed information.

[0251] In a third aspect of the embodiments of the present application, a video push device is provided, which is applied to a server, including: Fig.11 The structure shown:

[0252] The video recall module 1101 is used to recall videos according to the client's tag information and viewing data upon receiving a recommendation request from the client, and obtain a first recall queue consisting of multiple recalled videos; wherein the client's tag information represents the attribute information of the client user.

[0253] The recall frequency calculation module 1102 is used to calculate the recall frequency of each recalled video according to the first recall queue and the historical recall queue when the recalled video is a recommended video; wherein the historical recall queue is a video queue composed of the recalled videos corresponding to the client recommendation requests under the first recommendation request of the same client; and the first recommendation request is used to request the server to push the video to the client.

[0254] The matching score calculation module 1103 is used to calculate the matching score of each recalled video according to a pre-trained first deep learning model; wherein the first deep learning model is pre-trained according to the sample recalled video and the true value of the matching score of the sample recalled video; the matching score represents the matching degree between the recalled video and the client user.

[0255] The module 1104 for determining the video that can be repeatedly displayed is used to determine whether the recalled video is a video that can be repeatedly displayed according to the recall frequency and the matching score, and if so, add the video to the first set of videos to be recommended.

[0256] The video push module 1105 is used to send the first video set to be recommended to the client for video push.

[0257] In a possible implementation manner, the device of the embodiment of the present application further includes:

[0258] The push count acquisition module is used to acquire the push count for each repeatedly displayable video; wherein the push count is the total number of times the repeatedly displayable video is pushed to the client based on the first recommendation request of the same client.

[0259] The push count judgment module is used to judge whether the push count is greater than or equal to a preset push threshold. If so, the repeatedly displayed video is deleted from the first set of videos to be recommended.

[0260] The video push module includes:

[0261] The sorting submodule is specifically used to re-sort the first videos to be recommended in the first set of videos to be recommended according to the number of times the repeatedly displayable videos have been pushed, so as to obtain a sorted set of first videos to be recommended.

[0262] The video push submodule is specifically used to send the sorted first set of videos to be recommended to the client for video push.

[0263] In a possible implementation, the device further includes:

[0264] The push recording module is used to record the push time of each push of each video to be recommended in the first set of videos to be recommended.

[0265] The push time acquisition module is used to determine, for each repeatedly displayable video, a first push time among the push times that is closest to the current time.

[0266] The freezing period determination module is used to determine whether the time difference between the current time and the first push time of the repeatedly displayed video is less than or equal to a preset duration. If so, the repeatedly displayed video is deleted from the first video set.

[0267] In a possible implementation, the device further includes:

[0268] The poster or title acquisition module is used to obtain each first poster to be recommended and / or first title to be recommended corresponding to each first video to be recommended in the first set of videos to be recommended.

[0269] A poster or title judgment module is used to select, for each first video to be recommended, any one poster from each of the first posters to be recommended as the second poster to be recommended, and judge whether the second poster to be recommended is the recommended poster; and / or, to select any one title from each of the first titles to be recommended as the second title to be recommended, and judge whether the second title to be recommended is the recommended title.

[0270] The poster or title adding module is used to, if not, add the second poster to be recommended, and / or the second title to be recommended and the first video to be recommended to the first video set to be recommended.

[0271] The poster selection module is used to, if yes, reselect a second poster to be recommended until the second poster to be recommended is not the recommended poster, and / or reselect a second title to be recommended until the second title to be recommended is not the recommended title.

[0272] In a possible implementation, the recall frequency calculation module includes:

[0273] The recall frequency calculation submodule is specifically used to count the number of times the recalled video appears in the first recall queue and the historical recall queue to obtain the recall frequency of the recalled video.

[0274] In a possible implementation, the device further includes:

[0275] A hash function mapping module is used to map, for each client user, each element in the recommended videos and recommended posters that have been recommended to the client user, to the first position of a first vector using a preset number of hash functions to obtain a first vector representing the storage state of each element; wherein one hash function corresponds to one first position.

[0276] The vector element value judgment module is used to judge, for each vector element of the first vector, whether the value of the vector element adjacent to the vector element is the same as its own value, and if so, determine that the vector element and the adjacent vector element are repeated vector elements.

[0277] A compression coding module is used to perform compression coding on the repeated vector elements in the first vector to obtain a coded first vector.

[0278] A vector storage module is used to store the encoded first vector in the first database, wherein the first vector is used to determine whether the recalled video, and / or the second poster to be recommended, and / or the second title to be recommended are recommended.

[0279] In a possible implementation, the device further includes:

[0280] The vector acquisition first module is used to acquire the encoded first vector from the first database.

[0281] The first decoding module is used to decode the encoded first vector through a decoding function to obtain the first vector.

[0282] The second position determination module is used to determine the second position from the first vector according to the hash function corresponding to each recalled video.

[0283] The first storage status judgment module is used to judge whether the values ​​of the second positions all indicate that the storage status of the video is yes, and if so, determine that the recalled video is a recommended video.

[0284] In a possible implementation, the poster or title determination module includes:

[0285] The vector acquisition second module is used to acquire the encoded first vector from the first database.

[0286] The second decoding module is used to decode the encoded first vector through a decoding function to obtain the first vector.

[0287] The third position determination module is used to determine a third position from the first vector according to the hash function corresponding to the recalled video for the second poster to be recommended.

[0288] The second storage status judgment module is used to judge whether the values ​​of the third positions all indicate that the storage status of the poster is yes, and if so, determine that the second poster to be recommended is a recommended poster.

[0289] The vector acquisition third module is used to obtain the encoded first vector from the first database.

[0290] The third decoding module is used to decode the encoded first vector through a decoding function to obtain the first vector.

[0291] The fourth position determination module is used to determine a fourth position from the first vector according to a hash function corresponding to the recalled video for the second title to be recommended.

[0292] The third storage status judgment module is used to judge whether the value of the fourth position indicates that the storage status of the title is yes, and if so, determine that the second title to be recommended is a recommended title.

[0293] By using the device of the embodiment of the present application, when the recalled video is a recommended video, it can be determined whether it can be repeatedly displayed based on the recall frequency of the recalled video. When the conditions for repeated display are met, the recommended repeatedly displayed video is added to the first set of videos to be recommended and pushed to the client, thereby achieving repeated push of the repeatedly displayed video, thereby increasing the probability of users clicking on the repeatedly displayed video, and further increasing the click-through rate of the video.

[0294] The present application also provides an electronic device, such as Fig.12 As shown, it includes a processor 1201, a communication interface 1202, a memory 1203 and a communication bus 1204, wherein the processor 1201, the communication interface 1202, and the memory 1203 communicate with each other through the communication bus 1204.

[0295] Memory 1203, used for storing computer programs;

[0296] The processor 1201 is used to implement the following steps when executing the program stored in the memory 1203:

[0297] When receiving a recommendation request from a client, recalling videos according to the tag information and viewing data of the client, and obtaining a first recall queue consisting of a plurality of recalled videos; wherein the tag information of the client indicates attribute information of the client user;

[0298] For each recalled video, if the recalled video is a recommended video, the recall frequency of the recalled video is calculated according to the first recall queue and the historical recall queue; wherein the historical recall queue is a video queue composed of recalled videos corresponding to the recommendation requests of each client under the first recommendation request of the same client; the first recommendation request is used to request the server to push the video to the client;

[0299] For each recalled video, a matching score of the recalled video is calculated according to a pre-trained first deep learning model; wherein the first deep learning model is pre-trained according to a sample recalled video and a true value of the matching score of the sample recalled video; and the matching score indicates a matching degree between the recalled video and the client user;

[0300] Determine whether the recalled video is a repeatable video based on the recall frequency and matching score, and if so, add it to the first set of videos to be recommended;

[0301] The first video set to be recommended is sent to the client for video push.

[0302] The communication bus mentioned in the above terminal can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0303] The communication interface is used for communication between the above terminal and other devices.

[0304] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0305] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0306] In another embodiment of the present invention, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the video pushing method described in any one of the above embodiments is implemented.

[0307] In another embodiment of the present invention, a computer program product including instructions is provided. When the computer program product is executed on a computer, the computer executes the video pushing method described in any one of the above embodiments.

[0308] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.

[0309] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0310] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system, device, electronic device, and computer-readable storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0311] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.

Claims

1. A video push method, characterized in that: The method is applied to the server, and the method includes: When receiving a recommendation request from a client, recalling videos according to the tag information and viewing data of the client, and obtaining a first recall queue consisting of a plurality of recalled videos; wherein the tag information of the client represents attribute information of the client user; For each of the recalled videos, if the recalled video is a recommended video, the recall frequency of the recalled video is calculated according to the first recall queue and the historical recall queue; wherein the historical recall queue is a video queue composed of recalled videos corresponding to the client recommendation requests under the first recommendation request of the same client; the first recommendation request is used to request the server to push the video to the client; For each of the recalled videos, a matching score of the recalled video is calculated according to a pre-trained first deep learning model; wherein the first deep learning model is pre-trained according to a sample recalled video and a true value of the matching score of the sample recalled video; and the matching score indicates a matching degree between the recalled video and the client user; Determine whether the recalled video is a repeatable video based on the recall frequency and the matching score, and if so, add it to the first set of videos to be recommended; The first video set to be recommended is sent to the client for video push.

2. The method according to claim 1, characterized in that Before sending the first set of videos to be recommended to the client for video push, the method further includes: For each repeatedly displayable video, obtain the number of times it has been pushed; wherein the number of times it has been pushed is the total number of times the repeatedly displayable video has been pushed to the client based on the first recommendation request of the same client; Determine whether the number of pushes is greater than or equal to a preset push threshold, and if so, delete the repeatedly displayed video from the first set of videos to be recommended; The sending the first set of videos to be recommended to the client for video push includes: Reordering the first videos to be recommended in the first set of videos to be recommended according to the number of times the repeatedly displayable videos have been pushed, to obtain a sorted set of first videos to be recommended; The sorted first set of videos to be recommended is sent to the client for video push.

3. The method according to claim 2, characterized in that After sending the first set of videos to be recommended to the client for video push, the method further includes: Recording the push time of each push of each video to be recommended in the first set of videos to be recommended; Before sending the first set of videos to be recommended to the client for video push, the method further includes: For each repeatedly displayable video, determine a first push time among the push times that is closest to the current time; Determine whether the time difference between the current time and the first push time of the repeatedly displayed video is less than or equal to a preset duration; if so, delete the repeatedly displayed video from the first video set.

4. The method according to claim 2, characterized in that: The method further comprises: Obtaining first posters to be recommended and / or first titles to be recommended corresponding to first videos to be recommended in the first set of videos to be recommended; For each first video to be recommended, arbitrarily select one poster from each of the first posters to be recommended as the second poster to be recommended, and determine whether the second poster to be recommended is the recommended poster; and / or arbitrarily select one title from each of the first titles to be recommended as the second title to be recommended, and determine whether the second title to be recommended is the recommended title; If not, adding the second poster to be recommended, and / or the second title to be recommended and the first video to be recommended to the first video set to be recommended; If so, reselect a second poster to be recommended until the second poster to be recommended is not the recommended poster, and / or reselect a second title to be recommended until the second title to be recommended is not the recommended title.

5. The method according to claim 1, characterized in that For each of the recalled videos, when the recalled video is a recommended video, calculating the recall frequency of the recalled video according to the first recall queue and the historical recall queue, including: The number of times the recalled video appears in the first recalled queue and the historical recalled queue is counted to obtain the recall frequency of the recalled video.

6. The method according to claim 1 or 4, characterized in that: The method further comprises: For each client user, for each element in the recommended video and the recommended poster that have been recommended to the client user, use a preset number of hash functions to map the element to the first position of the first vector to obtain a first vector representing the storage state of each element; wherein one of the hash functions corresponds to one of the first positions; For each vector element of the first vector, determine whether the value of the vector element adjacent to the vector element is the same as the vector element itself, and if so, determine that the vector element and the adjacent vector element are repeated vector elements; Performing compression encoding on the repeated vector elements in the first vector to obtain an encoded first vector; The encoded first vector is stored in the first database, wherein the first vector is used to determine whether the recalled video, and / or the second poster to be recommended, and / or the second title to be recommended are recommended.

7. The method according to claim 6, characterized in that When receiving a recommendation request from a client, after recalling videos according to the tag information and viewing data of the client and obtaining a first recall queue consisting of a plurality of recalled videos, the method further includes: Acquire the encoded first vector from the first database; Decoding the encoded first vector by using a decoding function to obtain the first vector; For each recalled video, determining a second position from the first vector according to a hash function corresponding to the recalled video; It is determined whether the value of the second position indicates that the storage status of the video is yes. If so, it is determined that the recalled video is a recommended video.

8. The method according to claim 4 or 6, characterized in that: The determining whether the second poster to be recommended is the recommended poster includes: Acquire the encoded first vector from the first database; Decoding the encoded first vector by using a decoding function to obtain the first vector; For the second poster to be recommended, determining a third position from the first vector according to a hash function corresponding to the recalled video; Determine whether the value of the third position indicates that the storage status of the poster is yes, and if so, determine that the second poster to be recommended is a recommended poster; The step of determining whether the second title to be recommended is the recommended title comprises: Acquire the encoded first vector from the first database; Decoding the encoded first vector by using a decoding function to obtain the first vector; For the second title to be recommended, determining a fourth position from the first vector according to a hash function corresponding to the recalled video; It is determined whether the value of the fourth position indicates that the storage status of the title is yes; if so, it is determined that the second title to be recommended is a recommended title.

9. A video push device, characterized in that: The device is applied to a server, and includes: The video recall module is used to recall videos according to the tag information and viewing data of the client upon receiving a recommendation request from the client, and obtain a first recall queue consisting of a plurality of recalled videos; wherein the tag information of the client represents the attribute information of the client user; A recall frequency calculation module, for each of the recalled videos, when the recalled video is a recommended video, calculates the recall frequency of the recalled video according to the first recall queue and the historical recall queue; wherein the historical recall queue is a video queue composed of recalled videos corresponding to the client recommendation requests under the first recommendation request of the same client; the first recommendation request is used to request the server to push the video to the client; A matching score calculation module, for calculating the matching score of each of the recalled videos according to a pre-trained first deep learning model; wherein the first deep learning model is pre-trained according to a sample recalled video and a true value of the matching score of the sample recalled video; the matching score indicates the matching degree between the recalled video and the client user; A module for determining a video that can be repeatedly displayed is used to determine whether the recalled video is a video that can be repeatedly displayed according to the recall frequency and the matching score, and if so, add the video to the first set of videos to be recommended; The video push module is used to send the first video set to be recommended to the client for video push.

10. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, for implementing the method steps described in any one of claims 1 to 8 when executing a program stored in a memory.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps described in any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Recommending method and device of videos, electronic equipment, medium and program

    CN108228824A

  • Video recommendation method and device and electronic equipment

    CN117009575A

  • Video determination method and device, medium, equipment and product

    CN118233681A

  • Recommending content based on probability that a user has interest in viewing the content again

    US9055343B1