A method and device for analyzing user video preferences according to emotion node granularity

By analyzing users' heart rate information during video playback and calculating the average playback time per user in segments, the problem of accurately determining plot preferences in existing technologies is solved, enabling precise review of content creation and analysis of user preferences.

CN118890515BActive Publication Date: 2026-04-14BEIJING IQIYI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING IQIYI TECH CO LTD
Filing Date
2024-07-11
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing technologies cannot accurately determine users' preferences for specific plot points in their video viewing behavior, making it impossible to accurately review content creation.

Method used

By acquiring heartbeat information from the terminal while playing videos, the video playback time is distributed across each time period, the average playback time per person in each time period is calculated, and the heartbeat information is used to reflect user behavior preferences, generating a curve to indicate sentiment preferences.

Benefits of technology

It improves the accuracy of content creation review, enabling analysis of user preferences at the plot granularity level, and helps content creators adjust video content more precisely.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118890515B_ABST
    Figure CN118890515B_ABST
Patent Text Reader

Abstract

The application provides a method and device for analyzing user video preferences according to emotion nodes, the method comprising: obtaining heartbeat information delivered by a terminal when playing a target video, the heartbeat information being used to indicate emotion node preferences reflected by user behaviors; after the target video is played, dividing a video playing time length of the target video into corresponding time periods according to the heartbeat information to obtain an actual playing time length of the target video in each time period, wherein the video playing time length is divided into m continuous time periods; determining a time length value of the actual playing time length of a plurality of terminals in an nth time period and a terminal quantity of the nth time period, wherein each terminal represents a user id, 0≤n≤m; determining a per capita playing time length of the nth time period according to a quotient value between the time length value and the terminal quantity, wherein the per capita playing time length is used to indicate a preference of a user for a video plot of the nth time period. The application improves the accuracy of content review.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of video technology, and in particular to a method and apparatus for analyzing user video preferences based on the granularity of the scenario. Background Technology

[0002] With the development of video technology, it's now possible to automatically determine user preferences by comprehensively analyzing massive amounts of user video viewing data, extracting the most engaging content, and generating "highlighted" videos with the highest engagement. Users can then choose to watch the full video or the highlighted version on the video playback page. However, this technology only reflects the most popular video segments. For content creators, this only determines user preferences within a broad range and cannot pinpoint specific plot points that influence a user's viewing or abandonment behavior, making precise analysis of content creation impossible. Summary of the Invention

[0003] To solve the above-mentioned technical problems, or at least partially solve them, this application provides a method and apparatus for analyzing user video preferences based on the granularity of the scenario nodes.

[0004] Firstly, this application provides a method for analyzing user video preferences based on sentiment granularity, the method comprising:

[0005] The heartbeat information delivered by the terminal when playing the target video is obtained, and the heartbeat information is used to indicate the sentiment preferences reflected by the user's behavior;

[0006] After the target video finishes playing, the video playback duration of the target video is distributed into corresponding time periods according to the heartbeat information to obtain the actual playback duration of the target video in each time period, wherein the video playback duration is divided into m consecutive time periods;

[0007] Determine the duration and value of the actual playback time of multiple terminals in the nth time period, as well as the number of terminals in the nth time period, where each terminal represents a user ID, and 0≤n≤m;

[0008] The average playback duration per user in the nth time period is determined based on the quotient between the sum of the durations and the number of terminals, wherein the average playback duration per user is used to indicate the user's preference for the video plot in the nth time period.

[0009] Optionally, the playback duration of the target video is distributed across corresponding time periods according to the heartbeat information, resulting in the actual playback duration of the target video in each time period, including:

[0010] Obtain the video playback information reported for each heartbeat from the heartbeat information;

[0011] By analyzing the video playback information, the start and end positions of the progress bar and the video playback speed are determined for each heartbeat report.

[0012] If a progress bar is contained within a specified location range corresponding to the target time period, the single playback duration for each playback of the target video within the target time period is determined based on the start and end positions of the contained progress bar and the video playback speed.

[0013] The actual playback duration of the target time period is determined based on at least one single playback duration within the target time period.

[0014] Optionally, determining the single playback duration for each playback of the target video within the target time period, based on the start and end positions of the included progress bar and the video playback speed, includes:

[0015] The initial playback duration is obtained based on the difference between the time corresponding to the end position and the time corresponding to the start position of the progress bar, where the time is the playback time indicated by the progress bar in the target video.

[0016] Based on the quotient of the initial playback duration and the video playback speed, the single playback duration for each playback of the target video within the target time period is determined.

[0017] Optionally, determining the actual playback duration of the target time period based on at least one single playback duration within the target time period includes:

[0018] If a video within the target time period is played only once within a set duration, then the duration of that single playback is taken as the actual playback duration of the target time period.

[0019] If a video within the target time period is played multiple times within a set duration, the actual playback duration of the target time period is determined based on the sum of the durations of multiple single playbacks.

[0020] Optionally, the conditions for heartbeat reporting include: reaching the heartbeat sending cycle, playback pausing, user exiting playback, video playback ending, switching playback speed, and advertisement starting and ending.

[0021] Optionally, after obtaining the video playback information reported for each heartbeat in the heartbeat information, the method further includes:

[0022] If the video playback information is advertisement playback, video pause, or progress bar dragging, then the current position of the progress bar will remain unchanged.

[0023] Optionally, after determining the average playback time per person in the nth time period, the method further includes:

[0024] Set multiple time periods arranged in playback order as the horizontal axis, and the average playback time per person in each time period as the vertical axis;

[0025] A curve is generated based on the horizontal and vertical coordinates.

[0026] Secondly, this application provides an apparatus for analyzing user video preferences based on sentiment granularity, the apparatus comprising:

[0027] The acquisition module is used to acquire heartbeat information delivered by the terminal when playing the target video, and the heartbeat information is used to indicate the sentiment preferences reflected by the user's behavior;

[0028] The distribution module is used to distribute the video playback duration of the target video to the corresponding time periods according to the heartbeat information after the target video playback ends, so as to obtain the actual playback duration of the target video in each time period, wherein the video playback duration is divided into m consecutive time periods;

[0029] The first determining module is used to determine the duration and value of the actual playback duration of multiple terminals in the nth time period, as well as the number of terminals in the nth time period, wherein each terminal represents a user ID, and 0≤n≤m;

[0030] The second determining module is used to determine the average playback duration per user in the nth time period based on the quotient between the duration and the number of terminals, wherein the average playback duration per user is used to indicate the user's preference for the video plot in the nth time period.

[0031] Thirdly, an electronic device is provided, including 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;

[0032] Memory, used to store computer programs;

[0033] When a processor executes a program stored in memory, it implements any of the steps of the method for analyzing user video preferences at the level of scenario nodes.

[0034] Fourthly, a computer-readable storage medium is provided, wherein a computer program is stored therein, and when the computer program is executed by a processor, it implements any of the steps of the method for analyzing user video preferences at the level of situation nodes.

[0035] The technical solutions provided in this application have the following advantages compared with the prior art:

[0036] The server distributes the video playback duration to corresponding time slots based on the heartbeat information reported by the terminals, obtaining the actual playback duration of the video in each time slot. For a given time slot, the quotient of the sum of the actual playback durations of multiple terminals and the number of terminals is used as the average playback duration per user. Since the heartbeat information reflects user behavior preferences for plot points, the distributed actual playback duration reflects user preferences for plot points within that time slot. Furthermore, based on the average playback duration per user, a unified dimension reflecting user preferences for plot points is provided. Compared to long video clips, this application allows content creators to review content at the granularity of plot points, improving the accuracy of content review. Attached Figure Description

[0037] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0038] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, those skilled in the art can obtain other drawings based on these drawings without creative effort.

[0039] Figure 1 A schematic diagram of the hardware environment for a method of analyzing user video preferences based on scenario granularity provided in this application embodiment;

[0040] Figure 2 A flowchart illustrating a method for analyzing user video preferences based on scenario granularity, provided in this application embodiment;

[0041] Figure 3 This is a schematic diagram illustrating user behavior and preference expressions provided in the embodiments of this application;

[0042] Figure 4 A flowchart for determining the actual playback duration of each time period is provided in the embodiments of this application;

[0043] Figure 5 A schematic diagram illustrating user playback behavior provided in an embodiment of this application;

[0044] Figure 6 A schematic diagram of heartbeat reporting provided in an embodiment of this application;

[0045] Figure 7 A schematic diagram illustrating time granularity amortization provided for embodiments of this application;

[0046] Figure 8 A graph showing the average playback time per person provided in the embodiments of this application;

[0047] Figure 9A schematic diagram of a device for analyzing user video preferences based on the granularity of situation nodes, provided in an embodiment of this application;

[0048] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0049] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0050] In the following description, the use of suffixes such as "module," "part," or "unit" to denote elements is solely for the purpose of illustration and has no specific meaning in itself. Therefore, "module" and "part" may be used interchangeably.

[0051] To address the problems mentioned in the background art, according to one aspect of the embodiments of this application, an embodiment of a method for analyzing user video preferences based on sentiment granularity is provided.

[0052] Optionally, in the embodiments of this application, the above-described method for analyzing user video preferences based on scenario granularity can be applied to, for example... Figure 1 The hardware environment shown consists of terminal 101 and server 103. Figure 1 As shown, server 103 is connected to terminal 101 via a network and can be used to provide services to the terminal or clients installed on the terminal. Database 105 can be set up on the server or independently of the server to provide data storage services for server 103. The network mentioned above includes, but is not limited to, wide area network, metropolitan area network or local area network. Terminal 101 includes, but is not limited to, PC, mobile phone, tablet computer, etc.

[0053] The following will describe in detail, using a specific implementation method and taking server 103 as an example, a method for analyzing user video preferences based on scenario granularity provided in this application embodiment. Figure 2 As shown, the specific steps are as follows:

[0054] Step 201: Obtain the heartbeat information delivered by the terminal when playing the target video. The heartbeat information is used to indicate the sentiment preferences reflected by the user's behavior.

[0055] Step 202: After the target video finishes playing, the video playback duration of the target video is distributed to the corresponding time periods according to the heartbeat information to obtain the actual playback duration of the target video in each time period. The video playback duration is divided into m consecutive time periods.

[0056] Step 203: Determine the duration and value of the actual playback time of multiple terminals in the nth time period, and the number of terminals in the nth time period, where each terminal represents a user ID, 0≤n≤m.

[0057] Step 204: Determine the average playback duration per user for the nth time period based on the quotient between the duration and the number of terminals. The average playback duration per user is used to indicate the user's preference for the video plot in the nth time period.

[0058] While watching a video, users may perform actions based on their preferences, including but not limited to: dragging the progress bar forward, dragging the progress bar backward, playing at high speed, playing at low speed, and long-pressing to fast forward. These actions reflect the user's level of interest in the plot. Figure 3 The diagram illustrates user behavior and preferences. It shows that if a user drags the video progress bar backward, it indicates that the user is not interested in the current plot but is interested in the next part; if a user switches to high-speed playback, it indicates that the user is not interested in the current plot; and if a user switches to low-speed playback, it indicates that the user is interested in the current plot.

[0059] If a user is interested in the current plot, they may play the video at a lower speed or drag the progress bar to repeat the playback. If a user is not interested in the current plot, they may long-press to fast forward or drag the progress bar to skip the plot. In this case, the actual playback time of a certain plot video may differ from its theoretical playback time. Therefore, it is necessary to distribute the actual playback time to the corresponding time period based on the plot preferences under the user's operation behavior, so as to obtain the true playback time of each time period.

[0060] The target videos include, but are not limited to, movies, TV series, variety shows, micro-films, and short videos.

[0061] If the terminal detects that the heartbeat reporting conditions are met, such as reaching the heartbeat reporting cycle, advertisement insertion, or video pause, it reports the current video playback information to the server. After the target video finishes playing, the server obtains the heartbeat information containing all video playback information.

[0062] The server distributes the entire video playback duration into corresponding time segments based on heartbeat information. For example, the video playback duration is divided into m consecutive time segments to obtain the actual playback duration of the terminal in each time segment. The video playback duration mentioned in this application embodiment refers to the playback duration from the beginning to the end of the video. The video may end automatically after playback or when the user exits the video.

[0063] For the nth time period out of m time periods, where 0 ≤ n ≤ m, the server obtains the actual playback duration of each terminal in the nth time period according to the above-described allocation method. Then, it determines the sum of the actual playback durations of multiple terminals in the nth time period. Additionally, the server obtains the number of terminals in the nth time period. Finally, based on the quotient between the sum of the durations and the number of terminals, it determines the average playback duration per user in the nth time period. Devices accessing the target video from different IP addresses are denoted as a single terminal.

[0064] Average playback time per user in the nth time period = Sum of actual playback times of multiple devices in the nth time period / Number of devices in the nth time period.

[0065] In this embodiment, one terminal corresponds to one user ID. The sum of the durations of multiple terminals in the nth time period is essentially the sum of the durations of multiple users watching the video in the nth time period. The number of terminals in the nth time period is the number of users watching the target video in the nth time period, thus obtaining the average playback duration per person in the nth time period.

[0066] Average playback time per user combines the playback time of different users in the same time period. Since playback time indicates user preferences, average playback time per user indicates user preferences for video content in a certain time period.

[0067] The time periods mentioned in this application embodiment can be at the second or minute level, specifically three seconds, five seconds, one minute, three minutes, etc., and the division of time periods is related to the video length. The time periods can be preset by technicians or automatically determined by the server. The automatic determination method can use neural network models, the correspondence between time period length and video length, etc.

[0068] For short videos, a one-second granularity allows for more detailed segmentation. For TV dramas, a one-second granularity cannot provide more information, while a three-minute granularity is too coarse. A one-minute granularity is just right for a TV drama episode of about forty minutes.

[0069] In this application, the server distributes the video playback duration to corresponding time periods based on the heartbeat information reported by the terminals, obtaining the actual playback duration of the video in each time period. For a certain time period, the quotient of the sum of the actual playback durations of multiple terminals and the number of terminals is used as the average playback duration per user. Since the heartbeat information reflects the user's preference for plot points, the distributed actual playback duration reflects the user's preference for plot points within that time period. Furthermore, based on the average playback duration per user, a unified dimension reflecting the user's preference for plot points is provided. Compared to long video clips, this application allows content creators to review content at the granularity of plot points, improving the accuracy of content review.

[0070] As an optional implementation method, such as Figure 4 As shown, the video playback duration is distributed across corresponding time periods based on heartbeat information to obtain the actual playback duration of the terminal in each time period, including the following steps:

[0071] Step 401: Obtain the video playback information reported by each heartbeat in the heartbeat information for the duration of a single playback session;

[0072] Step 402: By analyzing the video playback information, determine the start and end positions of the progress bar and the video playback speed for each heartbeat report;

[0073] Step 403: If a progress bar is contained within the specified position range corresponding to the target time period, the single playback duration of each playback of the target video in the target time period is determined based on the start and end positions of the contained progress bars and the video playback speed.

[0074] Step 404: Determine the actual playback duration of the target time period based on at least one single playback duration within the target time period.

[0075] The following user actions during video playback—dragging the progress bar, long-pressing to fast forward, playing at high or low speeds—will affect the actual playback duration of a certain segment of the video. For example, if... Figure 5 As shown, the user exhibits three behaviors during the few minutes of video viewing: normal playback, dragging the progress bar forward, and playback at double speed. First, the video plays normally for 195 seconds, specifically the first 180 seconds from the first to the third minute and the first 15 seconds of the fourth minute. If the user suddenly wants to rewatch a segment, they drag the progress bar forward 62 seconds, reaching the last 47 seconds of the third minute. Then, the user starts playback at double speed for 60 seconds, resulting in double speed playback for the last 47 seconds of the third minute and the first 13 seconds of the fourth minute. After double speed playback completes, the user exits the video.

[0076] It can be seen that the user spent the most time in the third minute, suggesting that the user was relatively more interested in the third minute. The playback duration can be divided into each minute of the progress bar, as follows.

[0077] After distributing the playback time across each minute of the progress bar, the first minute plays for 60 seconds normally, the second minute plays for 60 seconds normally, and the third minute includes two scenarios: first, 60 seconds of normal playback, then 47 seconds of double-speed playback. Therefore, the third minute actually plays for 60 + 47 / 2 = 83.5 seconds. The fourth minute also includes two scenarios: first, 15 seconds of normal playback, then 13 seconds of double-speed playback. Therefore, the fourth minute actually plays for 15 + 13 / 2 = 21.5 seconds. In this way, the server distributes the video playback time across the corresponding minute of playback, considering both normal and double-speed playback.

[0078] Specifically, after the terminal reports multiple heartbeat signals to the server, the server analyzes the video playback information reported for each heartbeat to obtain the start and end positions of the progress bar and the video playback speed at the time of each heartbeat report. Then, it determines the actual playback duration for any given time period (target time period).

[0079] Specifically, the video location range corresponding to each time period is predetermined, and then the specified location range of the target time period is determined. If the start and end positions of the progress bar fall within the specified location range of the target time period, then the playback duration can be determined based on the progress bar.

[0080] The server obtains the start and end positions of the progress bars falling within the specified range, as well as the video playback speed. Based on the start and end positions of the included progress bars and the video playback speed, it determines the single playback duration for each playback of the target video within the target time period. If the progress bar falls within the specified position range more than once, for example, if the user has just watched the content and then drags the progress bar forward to watch it again, there will be two progress bars within the specified position range. In this case, the sum of the two single playback durations is taken as the actual playback duration for the target time period. If the progress bar falls within the specified position range only once, then that single playback duration is taken as the actual playback duration for the target time period.

[0081] This application divides the target video into multiple time periods. Based on the number of times the video is played within the same time period and the duration of each playback, the actual playback duration of that time period is obtained. Essentially, the video playback progress corresponding to the operation playback behavior in the heartbeat information is distributed to each time period, thereby obtaining the actual playback duration of each time period. In this way, the actual playback duration is also integrated into the plot preference reflected by the operation playback behavior.

[0082] As an optional implementation method, the single playback duration of the target video is determined based on the start and end positions of the included progress bar and the video playback speed. Specifically, the start and end positions of the progress bar each correspond to a specific time, which refers to the visible time when the progress bar is dragged in the target video. The initial playback duration is obtained by subtracting the time corresponding to the start position from the time corresponding to the end position of the progress bar. Then, the quotient of the initial playback duration and the video playback speed is used as the single playback duration.

[0083] If a video within the target time period is played only once within the set duration, then that single playback duration is taken as the actual playback duration. If a video within the target time period is played multiple times within the set duration, for example, if the user drags the progress bar forward to rewatch the video within the target time period, then the sum of the multiple single playback durations is taken as the actual playback duration of the target time period.

[0084] As an optional implementation method, the method for determining if a video within a target time period is played multiple times within a set duration includes: determining a specified location range corresponding to the target time period, wherein each time period in the video corresponds to a location range where a plot segment is located; if a progress bar appears once within the specified location range within the set duration, the number of times the video is played is incremented by one, until no more progress bars appear within the specified location range.

[0085] The location range of a plot segment corresponding to each time period is defined in advance. Then, the specified location range of the target time period is determined. If the start and end positions of the progress bar fall within the specified location range of the target time period, then at least part of the video in the target time period is played once. If the start and end positions of the progress bar fall within the specified location range again after a period of time, then at least part of the video in the target time period is played again. In this way, each playback increments by one based on the previous playback, until the progress bar is no longer detected within the specified location range, and it is considered that no further playback has been performed.

[0086] The set duration is manually set. Multiple playbacks within this set duration refer to repeated viewing of the target video without the user exiting. This could mean watching the content of the target time segment again after finishing it, or watching the content of other time segments again.

[0087] This application determines the number of times a video is played within a target time period and the duration of each playback, and then adds up the multiple playback durations to obtain the actual playback duration of the target time period.

[0088] In this application, the conditions for heartbeat reporting include: reaching the heartbeat sending cycle, playback pausing, user exiting playback, video playback ending, switching playback speed, and advertisement starting and ending.

[0089] Based on such fine-grained heartbeat delivery, the analysis of sentiment node granularity has a data foundation.

[0090] Each heartbeat reported by the terminal carries a reporting condition, such as exiting playback or the start of an advertisement. This allows the server to determine whether to continue calculating the single playback duration based on the reported condition. Since the duration of video pauses and advertisements is not included in the playback duration, focusing only on the video content ensures a more accurate final average playback duration per user. If the reported condition is other than video pauses or advertisements, the server calculates the single playback duration normally.

[0091] The heartbeat sending cycle can be fixed, or it can be shorter in the early stages of video playback and longer in the later stages. This allows for more accurate detection of user preferences for certain points in the video at the very beginning of playback. For example, a heartbeat can be sent after 15 seconds of playback, then again after 60 seconds, and then every 120 seconds thereafter.

[0092] When a terminal switches playback speeds, it reports a heartbeat, which allows the server to determine the playback speed and thus the duration of a single playback session.

[0093] When playback pauses or ends, and when an advertisement begins or ends, the terminal sends a heartbeat to the server. This allows the server to ensure that the progress bar position remains unchanged during playback pauses and advertisements, thus avoiding the impact of playback pauses and advertisements on the duration of a single playback session.

[0094] This application is able to obtain time-granularity allocated information from the video playback information reported by the heartbeat. Figure 6 This is a diagram illustrating heart rate reporting, showing that it includes five heart rate reports, as described below.

[0095] NO1: The video plays normally from 0 to 14 seconds, and the heart rate is reported at the 15th second of the video (after playing for 15 seconds).

[0096] NO2: The video is played normally from 15 to 74 seconds, and the heart rate is reported at the 74th second of the video (or after playing it again for 60 seconds).

[0097] NO3: The video is played normally from 75 to 194 seconds, and the heart rate is reported at the 194th second of the video (or after playing it again for 120 seconds).

[0098] NO4: If a user drags the progress bar forward from 195 seconds back to 132 seconds, the dragging of the progress bar will not be counted towards the playback duration.

[0099] NO5: The video is played at double speed from 133 to 192 seconds. A heartbeat is reported at 133 seconds (double speed playback) and at 192 seconds (end of video).

[0100] During the advertisement, the pause period, and when the progress bar is dragged quickly, the progress bar will not be timed.

[0101] Figure 7 This is a schematic diagram of time granularity allocation, which is divided into four minutes in total, as described in detail below.

[0102] 1 minute: The video plays normally from 0 to 59 seconds.

[0103] 2-minute mark: The video plays normally from 60 to 119 seconds.

[0104] The 3rd minute: The 3rd minute includes seconds 120-179. In NO3 above, seconds 75-194 are played at normal speed, so seconds 120-179 in the 3rd minute are also played at normal speed. In NO5 above, seconds 133-192 are played at double speed, so seconds 133-179 in the 3rd minute are played at double speed again. Therefore, the playback time of the 3rd minute includes two parts: normal playback and double speed playback. Playback time = (179-120+1)+(179-133+1) / 2 = 83.5 seconds.

[0105] 4th minute: The video plays up to 194 seconds at most, therefore, the 4th minute includes 180-194 seconds. In NO3 above, 75-194 seconds is played at normal speed, so 180-194 seconds in the 4th minute is also played at normal speed. In NO5 above, 133-192 seconds is played at double speed, so 180-192 seconds in the 4th minute is played at double speed again. Therefore, the 4th minute's playback duration includes two parts: normal playback and double speed playback. Playback duration = (194-180+1)+(192-180+1) / 2 = 21.5 seconds.

[0106] according to Figure 6 and Figure 7 The comparison shows that Figure 6 The total video playback time was calculated to be 225 minutes based on heart rate reports. Figure 7 The total video playback time is calculated by dividing it into different time periods, which is also 225 minutes.

[0107] As can be seen, this application distributes all video playback information delivered via heartbeat to a minute-level granularity. Based on the playback duration and number of times the target video is played within that minute, the total playback duration is calculated. Thus, the actual playback duration per minute for the terminal is obtained. Figure 7 The playback duration for each line is calculated. Further calculations will take into account multiple other terminals and their number to arrive at the average playback duration per minute per user.

[0108] As an optional implementation, after determining the average playback time per person in the nth time period, the method further includes: setting multiple time periods arranged in playback order as the horizontal axis and the average playback time per person in each time period as the vertical axis; generating a curve based on the horizontal and vertical axes.

[0109] The server can also use multiple time periods arranged in playback order as the horizontal axis and the average playback time per person in each time period as the vertical axis, and then generate a curve based on the horizontal and vertical axes. Figure 8 A graph showing the average viewing time per person.

[0110] The server feeds the graph back to the terminal, allowing users to view the most popular time slots and identify the corresponding plot points. These most popular plot points provide data support for content creators in script development. Furthermore, the relationship between user viewing behavior and plot points can be analyzed to assess the risk of users abandoning the show.

[0111] In addition, ads can be inserted at corresponding time periods based on this curve. For example, ads can be inserted during unpopular plot points to reduce the impact of ads on users' viewing experience, or ads can be inserted during popular plot points to enhance users' attention to subsequent content.

[0112] Based on the same technical concept, embodiments of this application also provide an apparatus for analyzing user video preferences at the level of scenario granularity, such as... Figure 9 As shown, the device includes:

[0113] The acquisition module 901 is used to acquire the heartbeat information delivered by the terminal when playing the target video. The heartbeat information is used to indicate the sentiment preferences reflected by the user's behavior.

[0114] The distribution module 902 is used to distribute the video playback duration of the target video to the corresponding time periods according to the heartbeat information after the target video playback ends, so as to obtain the actual playback duration of the target video in each time period. The video playback duration is divided into m consecutive time periods.

[0115] The first determining module 903 is used to determine the duration and value of the actual playback duration of multiple terminals in the nth time period, as well as the number of terminals in the nth time period, where each terminal represents a user ID, and 0≤n≤m;

[0116] The second determining module 904 is used to determine the average playback duration per user in the nth time period based on the quotient between the duration and the number of terminals, wherein the average playback duration per user is used to indicate the user's preference for the video plot in the nth time period.

[0117] Optionally, the amortization module 902 is used for:

[0118] Retrieve video playback information reported for each heartbeat from the heartbeat data;

[0119] By analyzing video playback information, the start and end positions of the progress bar and the video playback speed are determined for each heartbeat report;

[0120] If a progress bar is contained within the specified location range corresponding to the target time period, the single playback duration for each playback of the target video within the target time period is determined based on the start and end positions of the contained progress bars and the video playback speed.

[0121] The actual playback duration of the target time period is determined based on at least one single playback duration within the target time period.

[0122] Optionally, the amortization module 902 is used for:

[0123] The initial playback duration is obtained by the difference between the time corresponding to the end position and the time corresponding to the start position of the progress bar, and the time is the playback time indicated by the progress bar in the target video.

[0124] Based on the quotient of the initial playback duration and the video playback speed, determine the single playback duration of each playback of the target video within the target time period.

[0125] Optionally, the amortization module 902 is used for:

[0126] If a video within the target time period is played only once within the set duration, the duration of that single playback will be taken as the actual playback duration of the target time period.

[0127] If a video within the target time period is played multiple times within a set duration, the actual playback duration of the target time period is determined by the sum of the durations of the multiple single playbacks.

[0128] Optionally, the conditions for heartbeat reporting include: reaching the heartbeat sending cycle, playback pausing, user exiting playback, video playback ending, switching playback speed, and advertisement starting and ending.

[0129] Optionally, the device is also used for:

[0130] If the video playback information is an advertisement, video paused, or progress bar dragging, then the current position of the progress bar will remain unchanged.

[0131] Optionally, the device is also used for:

[0132] Set multiple time periods arranged in playback order as the horizontal axis, and the average playback time per person in each time period as the vertical axis;

[0133] Generate a curve graph based on the x-axis and y-axis.

[0134] Based on the same technical concept, embodiments of the present invention also provide an electronic device, such as... Figure 10 As shown, it includes a processor 1001, a communication interface 1002, a memory 1003, and a communication bus 1004, wherein the processor 1001, the communication interface 1002, and the memory 1003 communicate with each other through the communication bus 1004.

[0135] Memory 1003 is used to store computer programs;

[0136] The processor 1001 executes the above steps when executing the program stored in the memory 1003.

[0137] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0138] The communication interface is used for communication between the aforementioned electronic devices and other devices.

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

[0140] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0141] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements any of the above methods:

[0142] The heartbeat information delivered by the terminal when playing the target video is obtained. The heartbeat information is used to indicate the sentiment preferences reflected by the user's behavior.

[0143] After the target video finishes playing, the video playback duration is distributed to the corresponding time periods according to the heartbeat information to obtain the actual playback duration of the target video in each time period. The video playback duration is divided into m consecutive time periods.

[0144] Determine the duration and value of the actual playback time of multiple terminals in the nth time period, and the number of terminals in the nth time period, where each terminal represents a user ID, 0≤n≤m;

[0145] The average playback time per user in the nth time period is determined based on the quotient between the sum of durations and the number of terminals. The average playback time per user is used to indicate the user's preference for the video plot in the nth time period.

[0146] Optionally, the playback duration of the target video is distributed across corresponding time periods based on the heartbeat information, resulting in the actual playback duration of the target video in each time period, including:

[0147] Retrieve video playback information reported for each heartbeat from the heartbeat data;

[0148] By analyzing video playback information, the start and end positions of the progress bar and the video playback speed are determined for each heartbeat report;

[0149] If a progress bar is contained within the specified location range corresponding to the target time period, the single playback duration for each playback of the target video within the target time period is determined based on the start and end positions of the contained progress bars and the video playback speed.

[0150] The actual playback duration of the target time period is determined based on at least one single playback duration within the target time period.

[0151] Optionally, the duration of each playback of the target video within the target time period is determined based on the start and end positions of the included progress bar and the video playback speed, including:

[0152] The initial playback duration is obtained by the difference between the time corresponding to the end position and the time corresponding to the start position of the progress bar, and the time is the playback time indicated by the progress bar in the target video.

[0153] Based on the quotient of the initial playback duration and the video playback speed, determine the single playback duration of each playback of the target video within the target time period.

[0154] Optionally, determining the actual playback duration of the target time period based on at least one single playback duration within the target time period includes:

[0155] If a video within the target time period is played only once within the set duration, the duration of that single playback will be taken as the actual playback duration of the target time period.

[0156] If a video within the target time period is played multiple times within a set duration, the actual playback duration of the target time period is determined by the sum of the durations of the multiple single playbacks.

[0157] Optionally, the conditions for heartbeat reporting include: reaching the heartbeat sending cycle, playback pausing, user exiting playback, video playback ending, switching playback speed, and advertisement starting and ending.

[0158] Optionally, after obtaining the video playback information reported for each heartbeat from the heartbeat information, the method further includes:

[0159] If the video playback information is an advertisement, video paused, or progress bar dragging, then the current position of the progress bar will remain unchanged.

[0160] Optionally, after determining the average playback time per person in the nth time period, the method further includes:

[0161] Set multiple time periods arranged in playback order as the horizontal axis, and the average playback time per person in each time period as the vertical axis;

[0162] Generate a curve graph based on the x-axis and y-axis.

[0163] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to perform any of the methods described above.

[0164] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially 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, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).

[0165] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0166] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A method for analyzing user video preferences based on sentiment granularity, characterized in that, The method includes: The system acquires heartbeat information delivered by the terminal when playing the target video. The heartbeat information is used to indicate the plot preferences reflected by the user's behavior, including dragging the progress bar, long-pressing to fast forward, playing at high speed or low speed. After the target video finishes playing, the video playback duration of the target video is distributed into corresponding time periods according to the heartbeat information to obtain the actual playback duration of the target video in each time period, wherein the video playback duration is divided into m consecutive time periods; Determine the duration and value of the actual playback time of multiple terminals in the nth time period, as well as the number of terminals in the nth time period, where each terminal represents a user ID, and 0≤n≤m; The average playback duration per user in the nth time period is determined based on the quotient between the sum of the durations and the number of terminals, wherein the average playback duration per user is used to indicate the user's preference for the video plot in the nth time period. Specifically, the playback duration of the target video is distributed across corresponding time periods based on the heartbeat information to obtain the actual playback duration of the target video in each time period, including: Obtain the video playback information reported for each heartbeat from the heartbeat information; By analyzing the video playback information, the start and end positions of the progress bar and the video playback speed are determined for each heartbeat report. If a progress bar is contained within a specified position range corresponding to the target time period, the initial playback duration is obtained based on the difference between the time corresponding to the end position and the time corresponding to the start position of the progress bar, where the time is the playback time indicated by the progress bar in the target video. Based on the quotient of the initial playback duration and the video playback speed, determine the single playback duration of each time the target video is played during the target time period; The actual playback duration of the target time period is determined based on at least one single playback duration within the target time period.

2. The method according to claim 1, characterized in that, Determining the actual playback duration of the target time period based on at least one single playback duration within the target time period includes: If a video within the target time period is played only once within a set duration, then the duration of that single playback is taken as the actual playback duration of the target time period. If a video within the target time period is played multiple times within a set duration, the actual playback duration of the target time period is determined based on the sum of the durations of multiple single playbacks.

3. The method according to claim 1, characterized in that, The conditions for heartbeat reporting include: reaching the heartbeat sending cycle, playback pausing, user exiting playback, video playback ending, switching playback speed, and advertisement starting and ending.

4. The method according to claim 1, characterized in that, After obtaining the video playback information reported for each heartbeat from the heartbeat information, the method further includes: If the video playback information is advertisement playback, video pause, or progress bar dragging, then the current position of the progress bar will remain unchanged.

5. The method according to claim 1, characterized in that, After determining the average playback time per person in the nth time period, the method further includes: Set multiple time periods arranged in playback order as the horizontal axis, and the average playback time per person in each time period as the vertical axis; A curve is generated based on the horizontal and vertical coordinates.

6. An apparatus for analyzing user video preferences based on sentiment granularity, characterized in that, The device includes: The acquisition module is used to acquire heartbeat information delivered by the terminal when playing the target video. The heartbeat information is used to indicate the plot preferences reflected by the user's behavior. The user behavior includes dragging the progress bar, long-pressing to fast forward, high-speed playback or low-speed playback. The distribution module is used to distribute the video playback duration of the target video to the corresponding time periods according to the heartbeat information after the target video playback ends, so as to obtain the actual playback duration of the target video in each time period, wherein the video playback duration is divided into m consecutive time periods; The first determining module is used to determine the duration and value of the actual playback duration of multiple terminals in the nth time period, as well as the number of terminals in the nth time period, wherein each terminal represents a user ID, and 0≤n≤m; The second determining module is used to determine the average playback duration per user in the nth time period based on the quotient between the duration and the number of terminals, wherein the average playback duration per user is used to indicate the user's preference for the video plot in the nth time period; The sharing module is used for: Obtain the video playback information reported for each heartbeat from the heartbeat information; By analyzing the video playback information, the start and end positions of the progress bar and the video playback speed are determined for each heartbeat report. If a progress bar is contained within a specified position range corresponding to the target time period, the initial playback duration is obtained based on the difference between the time corresponding to the end position and the time corresponding to the start position of the progress bar, where the time is the playback time indicated by the progress bar in the target video. Based on the quotient of the initial playback duration and the video playback speed, determine the single playback duration of each time the target video is played during the target time period; The actual playback duration of the target time period is determined based on at least one single playback duration within the target time period.

7. 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, when executing a program stored in memory, implements the steps of the method described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method described in any one of claims 1-5.

Citation Information

Patent Citations

  • Video content processing method and video content processing device

    CN104581400A