Video evaluation method and related devices thereof
Through the grouping and parameter processing of the viewing duration, combined with the mixed Gaussian model and the average operation of sliding, the problem of inaccurate evaluation in the existing technology has been solved, and the more accurate user interest evaluation is achieved.
Patent Information
- Application Number
- PCT/CN2024/105421
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-18
- Filing Date
- 2024-07-15
- Publication Date
- 2025-01-23
AI Technical Summary
When the prior art uses the viewing time of video to evaluate the user's interest, it is assumed that the user's interest degree follows the Gaussian distribution, resulting in inaccurate evaluation and inaccurately obtaining the user's interest degree in multiple videos.
By obtaining the duration of multiple video viewing, divide the video group, and process the duration bias items and noise viewing items of each video group, combine the mixed Gaussian model and sliding the average operation, obtain the parameters of the video group, and then calculate the video of the video Evaluation value.
This method can more accurately consider the bias and noise factors of video viewing, improve the accuracy of the evaluation, and accurately get the user's interest in multiple videos.
Smart Images

Figure CN2024105421_23012025_PF_FP_ABST
Abstract
Description
A video evaluation method and related equipment
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on July 18, 2023, with application number 202310885569.X and invention name “A video evaluation method and related equipment”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The embodiments of the present application relate to artificial intelligence (AI) technology, and in particular to a video evaluation method and related equipment. Background Art
[0003] With the rise of video content platforms, users are increasingly exposed to and viewing a wide variety of videos in their daily lives. Accurate video recommendations are crucial to better meet user needs and maintain engagement. Therefore, the use of neural network models for video recommendations has emerged. During model training, the model learns the user's interest in multiple videos, enabling more accurate video recommendations.
[0004] Video viewing duration is one of the key metrics for measuring a user's interest in a video. Related technologies calculate the viewing duration of multiple videos to obtain their mean and variance. Further calculations are then performed on the viewing duration, mean, and variance of the multiple videos to obtain evaluation values for the multiple videos. These evaluation values are used to indicate a user's interest in the videos.
[0005] In the above process, when using the viewing time of multiple videos to obtain the evaluation values of multiple videos, it is assumed that the user's interest level in multiple videos follows a Gaussian distribution. The factors considered in this setting are relatively simple and do not conform to the actual situation. This will result in the evaluation values of multiple videos being inaccurate, that is, it is impossible to accurately obtain the user's interest level in multiple videos.
[0006] Summary of the Invention
[0007] The embodiments of the present application provide a video evaluation method and related devices, which can accurately evaluate multiple videos, thereby accurately obtaining the user's interest level in the multiple videos.
[0008] A first aspect of an embodiment of the present application provides a video evaluation method, the method comprising:
[0009] When video evaluation is required, a batch of videos may be obtained first and divided into multiple video groups according to certain criteria. For one of the multiple video groups, that is, the first video group, the first video group may include multiple first videos.
[0010] After obtaining the first video group, the viewing durations of the multiple first videos can be processed to obtain parameters of the first video group. The parameters of the first video group include a duration offset item of the first video group and a noise viewing item of the first video group. The duration offset item of the first video group is used to indicate the offset of the viewing durations of the multiple first videos, and the noise viewing item of the first video group is used to indicate the noise of the viewing durations of the multiple first videos.
[0011] After obtaining the parameters of the first video group, the parameters of the first video group and the viewing duration of the multiple first videos can be further processed to obtain evaluation values for the multiple first videos. The actual evaluation values of the multiple first videos are used to indicate the user's level of interest in the multiple first videos, which is equivalent to obtaining the user's level of interest in the multiple first videos. Similar operations can be performed for the remaining video groups in the multiple video groups except the first video group, so the evaluation values of all videos in the batch can be obtained, that is, the user's level of interest in all videos in the batch. At this point, the video evaluation is complete.
[0012] As can be seen from the above method, when it is necessary to evaluate multiple video groups, a first video group containing multiple first videos can be obtained from the multiple video groups. Next, the viewing time of the multiple first videos can be processed to obtain the parameters of the first video group. Then, the parameters of the first video group and the viewing time of the multiple first videos can be further processed to obtain evaluation values for the multiple first videos, which is equivalent to obtaining the user's level of interest in the multiple first videos. The same operations as those performed on the first video group can be performed on the remaining video groups in the multiple video groups, so the evaluation values of all videos in the multiple video groups can be obtained, thereby completing the evaluation task for the multiple video groups. In the above process, when evaluating multiple first videos using the viewing time of multiple first videos included in the first video group and the parameters of the first video group, since the parameters of the first video group include the time bias of the first video group and the noise viewing item of the first video group, the evaluation process not only considers the bias of the viewing time of multiple first videos, but also considers the noise of the viewing time of multiple first videos. This evaluation method considers more comprehensive factors and can be more in line with the actual situation. Therefore, the evaluation values of multiple first videos obtained by this evaluation method have higher accuracy and can accurately obtain the user's interest in multiple first videos.
[0013] In a possible implementation, processing the viewing durations of the plurality of first videos to obtain parameters of the first video group includes: processing the viewing durations of the plurality of first videos using a mixed Gaussian model to obtain parameters of the first video group.
[0014] In one possible implementation, obtaining evaluation values of multiple first videos based on parameters of the first video group and the viewing time of multiple first videos includes: performing a sliding average operation on the parameters of the first video group and the parameters of the second video group to obtain new parameters of the first video group, the new parameters of the first video group being used to indicate a new bias of the viewing time of the multiple first videos and a new noise of the viewing time of the multiple first videos; obtaining evaluation values of the multiple first videos based on the new parameters of the first video group and the viewing time of the multiple first videos. In the aforementioned implementation, in order to make the parameters of the first video group and the parameters of the second video group similar in the multiple video groups, a sliding average operation can be performed on the parameters of the first video group, the number of the multiple first videos, the parameters of the second video group, and the number of the multiple second videos, thereby obtaining new parameters of the first video group, the new parameters of the first video group including a new duration bias item of the first video group and a new noise viewing item of the first video group, the new duration bias item of the first video group being used to indicate a new bias of the viewing time of the multiple first videos, and the new noise viewing item of the first video group being used to indicate a new noise of the viewing time of the multiple first videos. After obtaining the new parameters for the first video group, the new parameters for the first video group and the viewing duration of multiple first videos can be calculated to obtain the true evaluation values of the multiple first videos. Thus, processing the parameters of several related video groups through a sliding average operation can improve the accuracy of the video group parameters, facilitating more accurate video evaluation.
[0015] In one possible implementation, based on the new parameters of the first video group and the viewing time of multiple first videos, obtaining the evaluation values of multiple first videos includes: performing a first affine transformation operation on the viewing time of the target video and the new parameters of the first video group to obtain the evaluation value of the target video, where the target video is any first video among the multiple first videos. In the aforementioned implementation, for any first video among the multiple first videos, that is, the target video, a first affine transformation operation can be performed on the viewing time of the target video and the new parameters of the first video group to obtain the evaluation value of the target video. Then, for the remaining first videos, the same operation as that performed on the target video can also be performed on the remaining first videos, so that the evaluation values of all the first videos in the first video group can be obtained more accurately in the end.
[0016] In one possible implementation, based on the new parameters of the first video group and the viewing time of multiple first videos, obtaining the evaluation values of multiple first videos includes: performing a second affine transformation operation on the viewing time of the target video, the preset hyperparameters, and the new parameters of the first video group to obtain the evaluation value of the target video, where the target video is any one of the multiple first videos. In the aforementioned implementation, for any one of the multiple first videos, that is, the target video, a second affine transformation operation can be performed on the preset hyperparameters (for controlling the sensitivity of the duration bias and noise viewing), the viewing time of the target video, and the new parameters of the first video group (including the new duration bias and noise viewing item of the first video group) to obtain the evaluation value of the target video. Then, for the remaining first videos, the same operation as that performed on the target video can also be performed on the remaining first videos, so that the evaluation values of all first videos in the first video group can be obtained in the end. It can be seen that by processing the viewing time of each video in the video group and the parameters of the video group by controlling the parameter sensitivity, more accurate video evaluation can be achieved.
[0017] In one possible implementation, the first affine transformation operation includes at least one of the following: a subtraction operation and a division operation. In the aforementioned implementation, the first affine transformation operation performed on the target video may include one or more of a subtraction operation and a division operation.
[0018] In one possible implementation, the second affine transformation operation includes at least one of the following: an exponential operation, a subtraction operation, a multiplication operation, and a division operation. In the aforementioned implementation, the first affine transformation operation performed on the target video may include one or more of the exponential operation, the subtraction operation, the multiplication operation, and the division operation.
[0019] In one possible implementation, the second video group includes multiple second videos, the duration of the multiple first videos is within a preset first (duration) range, the duration of the multiple second videos is within a preset second (duration) range, and the first range and the second range do not overlap with each other. In the aforementioned implementation, the batch of videos can be divided into multiple video groups according to the video duration, and the multiple video groups correspond one-to-one to multiple non-overlapping duration ranges. As can be seen, the first video group in the multiple video groups includes multiple first videos, the duration of the multiple first videos is within the first duration range, the second video group in the multiple video groups includes multiple second videos, the duration of the multiple second videos is within the second duration range, and the first duration range and the second duration range do not overlap with each other.
[0020] A second aspect of an embodiment of the present application provides a video evaluation device, which includes: a first acquisition module, used to obtain a first video group, the first video group including multiple first videos; a processing module, used to process the viewing time of the multiple first videos to obtain parameters of the first video group, the parameters of the first video group are used to indicate the bias of the viewing time of the multiple first videos and the noise of the viewing time of the multiple first videos; a second acquisition module, used to obtain evaluation values of the multiple first videos based on the parameters of the first video group and the viewing time of the multiple first videos, the evaluation values of the multiple first videos are used to indicate the user's interest level in the multiple first videos.
[0021] As can be seen from the above device, when it is necessary to evaluate multiple video groups, a first video group containing multiple first videos can be obtained from the multiple video groups. Next, the viewing time of the multiple first videos can be processed to obtain the parameters of the first video group. Then, the parameters of the first video group and the viewing time of the multiple first videos can be further processed to obtain evaluation values of the multiple first videos, which is equivalent to obtaining the user's interest level in the multiple first videos. The same operations as those performed on the first video group can also be performed on the remaining video groups in the multiple video groups, so the evaluation values of all videos in the multiple video groups can be obtained, thereby completing the evaluation task for the multiple video groups. In the above process, when evaluating multiple first videos using the viewing time of multiple first videos included in the first video group and the parameters of the first video group, since the parameters of the first video group include the time bias of the first video group and the noise viewing item of the first video group, the evaluation process not only considers the bias of the viewing time of multiple first videos, but also considers the noise of the viewing time of multiple first videos. This evaluation method considers more comprehensive factors and can be more in line with the actual situation. Therefore, the evaluation values of multiple first videos obtained by this evaluation method have higher accuracy and can accurately obtain the user's interest in multiple first videos.
[0022] In a possible implementation, the processing module is configured to process the viewing durations of the plurality of first videos using a mixed Gaussian model to obtain parameters of the first video group.
[0023] In a possible implementation, the second acquisition module is configured to:
[0024] Performing a sliding average operation on the parameters of the first video group and the parameters of the second video group to obtain new parameters of the first video group, where the new parameters of the first video group are used to indicate a new bias of the viewing time of the plurality of first videos and a new noise of the viewing time of the plurality of first videos;
[0025] Based on the new parameters of the first video group and the viewing durations of the plurality of first videos, evaluation values of the plurality of first videos are obtained.
[0026] In a possible implementation, the second acquisition module is used to perform a first affine transformation operation on the viewing time of the target video and the new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any one of the multiple first videos.
[0027] In one possible implementation, the second acquisition module is used to perform a second affine transformation operation on the viewing time of the target video, preset hyperparameters, and new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any one of multiple first videos.
[0028] In a possible implementation, the first affine transformation operation includes at least one of the following: a subtraction operation and a division operation.
[0029] In a possible implementation, the second affine transformation operation includes at least one of the following: an exponential operation, a subtraction operation, a multiplication operation, and a division operation.
[0030] In one possible implementation, the second video group includes multiple second videos, the durations of the multiple first videos are within a preset first range, the durations of the multiple second videos are within a preset second range, and the first range and the second range do not overlap.
[0031] A third aspect of an embodiment of the present application provides a video evaluation device, which includes a memory and a processor; the memory stores code, and the processor is configured to execute the code. When the code is executed, the video evaluation device performs the method described in the first aspect or any possible implementation of the first aspect.
[0032] A fourth aspect of an embodiment of the present application provides a circuit system, which includes a processing circuit, and the processing circuit is configured to execute the method described in the first aspect or any possible implementation of the first aspect.
[0033] A fifth aspect of an embodiment of the present application provides a chip system, which includes a processor for calling a computer program or computer instructions stored in a memory so that the processor executes the method described in the first aspect or any possible implementation of the first aspect.
[0034] In a possible implementation, the processor is coupled to the memory through an interface.
[0035] In one possible implementation, the chip system further includes a memory, in which a computer program or computer instructions is stored.
[0036] A sixth aspect of the embodiments of the present application provides a computer storage medium storing a computer program, which, when executed by a computer, enables the computer to implement the method described in the first aspect or any possible implementation of the first aspect.
[0037] A seventh aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the first aspect or any possible implementation of the first aspect.
[0038] In an embodiment of the present application, when it is necessary to evaluate multiple video groups, a first video group containing multiple first videos can be obtained from the multiple video groups. Next, the viewing time of the multiple first videos can be processed to obtain the parameters of the first video group. Then, the parameters of the first video group and the viewing time of the multiple first videos can be further processed to obtain the evaluation values of the multiple first videos, which is equivalent to obtaining the user's interest level in the multiple first videos. For the remaining video groups in the multiple video groups, the same operations as those performed on the first video group can also be performed, so the evaluation values of all videos in the multiple video groups can be obtained, thereby completing the evaluation task for the multiple video groups. In the above process, when evaluating multiple first videos using the viewing time of multiple first videos included in the first video group and the parameters of the first video group, since the parameters of the first video group include the time bias of the first video group and the noise viewing item of the first video group, the evaluation process not only considers the bias of the viewing time of multiple first videos, but also considers the noise of the viewing time of multiple first videos. This evaluation method considers more comprehensive factors and can be more in line with the actual situation. Therefore, the evaluation values of multiple first videos obtained by this evaluation method have higher accuracy and can accurately obtain the user's interest in multiple first videos. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 is a schematic diagram of the structure of the artificial intelligence main framework;
[0040] FIG2a is a schematic structural diagram of a video evaluation system provided in an embodiment of the present application;
[0041] FIG2 b is another schematic diagram of the structure of the video evaluation system provided in an embodiment of the present application;
[0042] FIG2c is a schematic diagram of a device related to video evaluation provided in an embodiment of the present application;
[0043] FIG3 is a schematic diagram of the architecture of the system 100 provided in an embodiment of the present application;
[0044] FIG4 is a flow chart of a video evaluation method provided in an embodiment of the present application;
[0045] FIG5 is a schematic diagram of a duration offset provided by an embodiment of the present application;
[0046] FIG6 is a schematic diagram of noise viewing provided by an embodiment of the present application;
[0047] FIG7 is a schematic structural diagram of a video evaluation device provided in an embodiment of the present application;
[0048] FIG8 is a schematic structural diagram of an execution device provided in an embodiment of the present application;
[0049] FIG9 is a schematic structural diagram of a training device provided in an embodiment of the present application;
[0050] FIG10 is a schematic structural diagram of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION
[0051] The embodiments of the present application provide a video evaluation method and related devices, which can accurately evaluate multiple videos, thereby accurately obtaining the user's interest level in the multiple videos.
[0052] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0053] With the rise of video content platforms, users are increasingly exposed to and viewing a wide variety of videos in their daily lives. Accurate video recommendations are crucial to better meet user needs and maintain engagement. Therefore, the use of neural network models for video recommendations has emerged. During model training, the model learns the user's interest in multiple videos, enabling more accurate video recommendations.
[0054] Video viewing time is one of the important indicators for measuring a user's interest in a video. In related technologies, the viewing time of multiple videos can be calculated to obtain the mean and variance of the viewing time of multiple videos. Then, further calculations are performed on the viewing time of multiple videos, the mean, and the variance of the viewing time of multiple videos to obtain evaluation values for the multiple videos. The evaluation values of multiple videos are used to indicate the user's interest in the multiple videos. This calculation process is shown in the following formula:
[0055] In the above formula, w is the viewing time of a video among multiple videos, μ is the mean viewing time of multiple videos, σ is the variance of the viewing time of multiple videos, and r is the evaluation value of the video, that is, the user's interest in the video.
[0056] In the above process, when using the viewing time of multiple videos to obtain the evaluation values of multiple videos, it is assumed that the user's interest level in multiple videos follows a Gaussian distribution. The factors considered in this setting are relatively simple and do not conform to the actual situation. This will result in the evaluation values of multiple videos being inaccurate, that is, it is impossible to accurately obtain the user's interest level in multiple videos.
[0057] In order to solve the above problems, an embodiment of the present application provides a video evaluation method, which can be implemented in combination with artificial intelligence (AI) technology. AI technology is a technical discipline that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence. AI technology obtains the best results by perceiving the environment, acquiring knowledge and using knowledge. In other words, artificial intelligence technology is a branch of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Using artificial intelligence for data processing is a common application of artificial intelligence.
[0058] First, we will describe the overall workflow of an AI system. See Figure 1, which illustrates a schematic diagram of the AI framework. This framework will be explained from two perspectives: the "intelligent information chain" (horizontal axis) and the "IT value chain" (vertical axis). The "intelligent information chain" reflects the entire process from data acquisition to processing. For example, it could be the general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, and intelligent execution and output. Throughout this process, data undergoes a condensed journey from "data-information-knowledge-wisdom." The "IT value chain," spanning the underlying infrastructure of human intelligence, information (provided and processed by technology), and the system's industrial ecosystem, reflects the value that AI brings to the information technology industry.
[0059] (1) Infrastructure
[0060] Infrastructure provides computing power for AI systems, enabling communication with the outside world and supporting this through a foundational platform. External communication occurs through sensors; computing power is provided by intelligent chips (CPUs, NPUs, GPUs, ASICs, FPGAs, and other hardware accelerators). The foundational platform includes a distributed computing framework and network-related platform guarantees and support, including cloud storage and computing, and interconnected networks. For example, sensors communicate with the outside world to acquire data, which is then fed into the intelligent chips within the distributed computing system provided by the foundational platform for computation.
[0061] (2) Data
[0062] Data above the infrastructure layer represents data sources for AI. This data includes graphics, images, voice, and text, as well as IoT data from traditional devices. This includes business data from existing systems and sensor data such as force, displacement, liquid level, temperature, and humidity.
[0063] (3) Data processing
[0064] Data processing generally includes data training, machine learning, deep learning, search, reasoning, decision-making, etc.
[0065] Among them, machine learning and deep learning can symbolize and formalize data for intelligent information modeling, extraction, preprocessing, and training.
[0066] Reasoning refers to the process of simulating human intelligent reasoning in computers or intelligent systems, using formalized information to perform machine thinking and solve problems based on reasoning control strategies. Typical functions are search and matching.
[0067] Decision-making refers to the process of making decisions after intelligent information is reasoned, and usually provides functions such as classification, sorting, and prediction.
[0068] (4) General ability
[0069] After the data has undergone the data processing mentioned above, some general capabilities can be further formed based on the results of the data processing, such as algorithms or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.
[0070] (5) Smart products and industry applications
[0071] Smart products and industry applications refer to the products and applications of artificial intelligence systems in various fields. They are the encapsulation of the overall artificial intelligence solution, which productizes intelligent information decision-making and realizes practical application. Its application areas mainly include: smart terminals, smart transportation, smart medical care, autonomous driving, smart cities, etc.
[0072] Next, several application scenarios of this application are introduced.
[0073] Figure 2a is a schematic diagram of the structure of a video evaluation system provided in an embodiment of the present application. The video evaluation system includes a user device and a data processing device. The user device includes an intelligent terminal such as a mobile phone, a personal computer, an in-vehicle computer, or a video evaluation center. The user device can serve as the initiator of the video evaluation request, typically initiated by a user through the user device.
[0074] The aforementioned data processing device can be a device or server with data processing capabilities, such as a cloud server, network server, application server, or management server. The data processing device receives video evaluation requests from smart terminals via an interactive interface, performs video evaluations through a memory that stores data and a processor that processes data, and then uses the video evaluation results to apply neural network models (including model training and model application) through machine learning, deep learning, search, reasoning, and decision-making. The memory in the data processing device can be a general term that includes local storage and a database that stores historical data. The database can be located on the data processing device or on other network servers.
[0075] In the video evaluation system shown in Figure 2a, a user device can receive user instructions. For example, the user device can obtain one or more videos input / selected by the user, and then initiate a video evaluation request to a data processing device, causing the data processing device to execute a video evaluation application for the videos obtained by the user device, thereby obtaining evaluation values for the videos. For example, the user device can obtain multiple videos input or selected by the user, and then initiate a video evaluation request for multiple videos to the data processing device, causing the data processing device to evaluate the multiple videos, thereby obtaining evaluation values for the multiple videos, that is, the user's level of interest in the multiple videos. In the subsequent process, the data processing device can use the evaluation values of the multiple videos to complete the training of the recommendation model, and then use the recommendation model to recommend videos to the user.
[0076] In FIG. 2 a , a data processing device may execute the video evaluation method according to an embodiment of the present application.
[0077] FIG2 b is another structural diagram of a video evaluation system provided in an embodiment of the present application. In FIG2 b , the user device directly serves as a data processing device. The user device can directly obtain input from the user and process it directly by the hardware of the user device itself. The specific process is similar to that of FIG2 a , and reference may be made to the above description, which will not be repeated here.
[0078] In the video evaluation system shown in Figure 2b, a user device can receive user instructions. For example, the user device can obtain multiple videos input or selected by the user, then evaluate the videos to obtain evaluation values for the videos, indicating the user's level of interest in the videos. Subsequently, the user device can return the evaluation values to the data processing device, allowing the data processing device to train a recommendation model based on the evaluation values. The recommendation model is then deployed on the user device, allowing the user device to use the recommendation model to recommend videos to the user.
[0079] In FIG2 b , the user equipment itself can execute the video evaluation method of the embodiment of the present application.
[0080] FIG2c is a schematic diagram of a device related to video evaluation provided in an embodiment of the present application.
[0081] The user device in the above Figures 2a and 2b can specifically be the local device 301 or the local device 302 in Figure 2c, and the data processing device in Figure 2a can specifically be the execution device 210 in Figure 2c, wherein the data storage system 250 can store the data to be processed of the execution device 210, and the data storage system 250 can be integrated on the execution device 210, or it can be set on the cloud or other network servers.
[0082] The processors in Figures 2a and 2b can perform data evaluation through certain models (for example, a model based on a support vector machine or a mixed Gaussian model, etc.), and perform data training / machine learning / deep learning on the neural network model based on the data evaluation results, and use the final trained or learned model to execute a video recommendation application for the user, thereby obtaining corresponding recommendation results.
[0083] Figure 3 is a schematic diagram of the system 100 architecture provided in an embodiment of the present application. In Figure 3, the execution device 110 is configured with an input / output (I / O) interface 112 for data interaction with an external device. The user can input data to the I / O interface 112 through the client device 140. The input data can include: various tasks to be scheduled, callable resources and other parameters in the embodiment of the present application.
[0084] When the execution device 110 preprocesses the input data, or when the computing module 111 of the execution device 110 performs calculations and other related processing (such as implementing the functions of the neural network in this application), the execution device 110 can call the data, code, etc. in the data storage system 150 for the corresponding processing, and can also store the data, instructions, etc. obtained from the corresponding processing in the data storage system 150.
[0085] Finally, the I / O interface 112 returns the processing result to the client device 140 so as to provide it to the user.
[0086] It is worth noting that, under the control of the execution device 110, the training device 120 can generate corresponding target models / rules based on different training data for different goals or tasks. These corresponding target models / rules can be used to achieve the above goals or complete the above tasks, thereby providing the user with the desired results. The training data can be stored in the database 130 and comes from training samples collected by the data collection device 160.
[0087] In the scenario shown in FIG3 , the user can manually input data, which can be performed through the interface provided by I / O interface 112. Alternatively, client device 140 can automatically send input data to I / O interface 112. If user authorization is required for client device 140 to automatically send input data, the user can set the corresponding permissions in client device 140. The user can view the output of execution device 110 on client device 140, which can be presented in a display, sound, action, or other specific form. Client device 140 can also serve as a data acquisition terminal, collecting input data and output results from I / O interface 112 as new sample data and storing them in database 130. Of course, collection can also be performed without client device 140, with I / O interface 112 directly storing the input data and output results from I / O interface 112 as new sample data in database 130.
[0088] It is worth noting that FIG3 is only a schematic diagram of a system architecture provided by an embodiment of the present application, and the positional relationship between the devices, components, modules, etc. shown in the figure does not constitute any limitation. For example, in FIG3, the data storage system 150 is an external memory relative to the execution device 110. In other cases, the data storage system 150 can also be placed in the execution device 110. As shown in FIG3, a neural network can be trained according to the training device 120.
[0089] The present application also provides a chip including a neural network processor (NPU), which can be provided in the execution device 110 shown in FIG3 to complete the calculation work of the calculation module 111.
[0090] The neural network processor (NPU) is a coprocessor mounted on the host central processing unit (CPU), which assigns tasks to it. The core of the NPU is the arithmetic circuit, which is controlled by a controller to extract data from memory (weight memory or input memory) and perform calculations.
[0091] In some implementations, the arithmetic circuit includes multiple processing engines (PEs). In some implementations, the arithmetic circuit is a two-dimensional systolic array. The arithmetic circuit can also be a one-dimensional systolic array or other electronic circuit capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit is a general-purpose matrix processor.
[0092] For example, consider an input matrix A, a weight matrix B, and an output matrix C. The computational circuit retrieves the corresponding data for matrix B from the weight memory and caches it on each PE within the computational circuit. The computational circuit then performs a matrix operation on the matrix A data from the input memory and matrix B, storing the partial or final matrix results in the accumulator.
[0093] The vector computation unit can further process the output of the arithmetic circuit, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. For example, the vector computation unit can be used for network calculations in non-convolutional / non-FC layers in neural networks, such as pooling, batch normalization, and local response normalization.
[0094] In some implementations, the vector computation unit can store the processed output vectors in a unified buffer. For example, the vector computation unit can apply a nonlinear function to the output of the computation circuit, such as a vector of accumulated values, to generate activation values. In some implementations, the vector computation unit generates normalized values, merged values, or both. In some implementations, the processed output vectors can be used as activation inputs to the computation circuit, such as for use in subsequent layers in a neural network.
[0095] The unified memory is used to store input data and output data.
[0096] The weight data is directly transferred from the external memory to the input memory and / or unified memory through the direct memory access controller (DMAC), the weight data in the external memory is stored in the weight memory, and the data in the unified memory is stored in the external memory.
[0097] The bus interface unit (BIU) is used to implement interaction between the main CPU, DMAC and instruction fetch memory through the bus.
[0098] An instruction fetch buffer connected to the controller, used to store instructions used by the controller;
[0099] The controller is used to call the instructions cached in the memory to control the working process of the computing accelerator.
[0100] Generally, unified memory, input memory, weight memory and instruction fetch memory are all on-chip memories, and external memory is memory outside the NPU, which can be double data rate synchronous dynamic random access memory (DDR SDRAM), high bandwidth memory (HBM) or other readable and writable memory.
[0101] Since the embodiments of the present application involve the application of a large number of neural networks, in order to facilitate understanding, the relevant terms and related concepts such as neural networks involved in the embodiments of the present application are first introduced below.
[0102] (1) Neural Network
[0103] A neural network can be composed of neural units. A neural unit can refer to an operation unit with xs and intercept 1 as input. The output of the operation unit can be:
[0104] Here, s = 1, 2, ..., n, where n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, which is used to introduce nonlinear characteristics into the neural network to convert the input signal of the neural unit into the output signal. The output signal of this activation function can serve as the input of the next convolutional layer. The activation function can be a sigmoid function. A neural network is formed by connecting many of the above-mentioned single neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract features of the local receptive field. The local receptive field can be an area composed of several neural units.
[0105] The operation of each layer in a neural network can be described by the mathematical expression y = a(Wx + b). From a physical perspective, the operation of each layer in a neural network can be understood as transforming the input space (a set of input vectors) into the output space (i.e., from the row space to the column space of a matrix) through five operations. These operations include: 1. Dimensionality increase / decrease; 2. Scaling / reduction; 3. Rotation; 4. Translation; and 5. "Bending." Operations 1, 2, and 3 are performed by Wx, 4 by +b, and 5 by a(). The word "space" is used here because the objects being classified are not individual things, but rather a class of things, and space refers to the collection of all individuals within that class. W is the weight vector, each value in which represents the weight of a neuron in that layer of the neural network. This vector W determines the spatial transformation from input space to output space described above. That is, the weights W of each layer control how the space is transformed. The goal of training a neural network is to ultimately obtain the weight matrix for all layers of the trained neural network (a weight matrix formed by the vectors W of many layers). Therefore, the training process of a neural network is essentially about learning how to control spatial transformations, and more specifically, about learning the weight matrix.
[0106] Because we want the output of the neural network to be as close as possible to the value we really want to predict, we can compare the current network's predicted value with the desired target value, and then update the weight vector of each layer of the neural network based on the difference between the two (of course, there is usually an initialization process before the first update, which is to pre-configure the parameters for each layer in the neural network). For example, if the network's predicted value is too high, the weight vector is adjusted to make it predict a lower value, and this adjustment is continued until the neural network can predict the desired target value. Therefore, it is necessary to pre-define "how to compare the difference between the predicted value and the target value." This is the loss function or objective function, which is an important equation used to measure the difference between the predicted value and the target value. Among them, taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference, so the training of the neural network becomes a process of minimizing this loss as much as possible.
[0107] (2) Backpropagation algorithm
[0108] Neural networks can use the back propagation (BP) algorithm to correct the size of the parameters in the initial neural network model during training, reducing the reconstruction error loss of the neural network model. Specifically, the forward propagation of the input signal to the output generates error loss. This error loss information is then backpropagated to update the parameters in the initial neural network model, thereby converging the error loss. The BP algorithm is a backward propagation movement dominated by error loss, aiming to obtain the optimal parameters of the neural network model, such as the weight matrix.
[0109] The following is a brief description of the video evaluation method provided by this application.
[0110] The video evaluation method provided in the embodiment of the present application can be used to evaluate a batch of videos, so as to obtain the (real) evaluation value of the batch of videos, that is, the (real) interest level of the user in the batch of videos. Thereafter, a batch of training data can be generated accordingly, and the batch of training data contains the characteristics of the user and the characteristics of the batch of videos, and the evaluation value of the batch of videos is used as the label of the batch of training data. In this way, the batch of training data can be input into the model to be trained to obtain the predicted evaluation value of the batch of videos, that is, the predicted interest level of the user in the batch of videos. Combined with the real evaluation value of the batch of videos and the predicted evaluation value of the batch of videos, the parameters of the model to be trained can be updated to obtain the model to be trained after the parameters are updated, and the next batch of training data can be generated in the same way, and the model to be trained after the parameters are updated is continued to be trained to obtain a recommendation model, and then the recommendation model is used to recommend videos to users.
[0111] To further understand the video evaluation method provided in the embodiment of the present application, the method is further described below with reference to FIG4 . FIG4 is a flow chart of the video evaluation method provided in the embodiment of the present application. As shown in FIG4 , the method includes:
[0112] 401. Obtain a first video group, where the first video group includes multiple first videos.
[0113] In this embodiment, when video evaluation is required, a batch of videos can be first obtained and divided into multiple video groups, each of which contains multiple videos. It should be noted that the batch of videos can be divided into multiple video groups according to the duration of the videos. Specifically, multiple preset non-overlapping duration ranges can be obtained first. For any one of the multiple duration ranges, all videos in the batch of videos whose duration falls within the duration range constitute the corresponding video group. The same applies to the remaining duration ranges in the multiple duration ranges. Therefore, multiple video groups corresponding to the multiple duration ranges can be obtained in the end.
[0114] Since the operations performed on each video group are similar, for ease of explanation, the following uses one of the multiple video groups as an example for schematic description. This video group is referred to as the first video group, the multiple videos included in this video group are referred to as multiple first videos, and the duration range corresponding to this video group is referred to as the first duration range. In other words, the first video group contains multiple first videos, and the durations of the multiple first videos are within the first duration range.
[0115] For example, suppose there is a batch of videos containing 100 videos. Since the shortest video among these 100 videos is 5 minutes and 1 second, and the longest video is 20 minutes and 30 seconds, multiple duration ranges can be set. The first duration range is 5 minutes to 6 minutes, the second duration range is 6 minutes to 7 minutes, ..., and the 16th duration range is 20 minutes to 21 minutes. Therefore, these 100 videos can be divided into 16 video groups according to their duration. The first video group contains 4 videos, and the duration of these 4 videos is between 5 minutes and 6 minutes. The second video group contains 10 videos, and the duration of these 10 videos is between 6 minutes and 76 minutes, ..., and the 16th video group contains 3 videos, and the duration of these 3 videos is between 20 minutes and 21 minutes. For the convenience of explanation, when referring to this example below, the i-th video group is used as an example for schematic introduction, i=1, ..., 16.
[0116] 402. Process the viewing durations of the plurality of first videos to obtain parameters of a first video group, where the parameters of the first video group are used to indicate an offset of the viewing durations of the plurality of first videos and noise of the viewing durations of the plurality of first videos.
[0117] After obtaining the first video group, the viewing durations of the multiple first videos included in the first video group can be processed to obtain parameters of the first video group. The parameters of the first video group include a duration offset item of the first video group and a noise viewing item of the first video group. The duration offset item of the first video group is used to indicate the offset of the viewing durations of the multiple first videos, and the noise viewing item of the first video group is used to indicate the noise of the viewing durations of the multiple first videos.
[0118] Specifically, the parameters of the first video group may be obtained in the following manner:
[0119] The viewing durations of the plurality of first videos are processed to obtain parameters of the first video group including:
[0120] After obtaining the first video group, the viewing durations of multiple first videos in the first video group can be obtained from various video platforms. Assuming that both the duration bias term and the noise viewing term obey a certain distribution, such as a mixed Gaussian distribution, the viewing durations of the multiple first videos can be input into a mixed Gaussian model. The mixed Gaussian model can be used to process the viewing durations of the multiple first videos to estimate the parameters of the first video group, namely, the duration bias term and the noise viewing term of the first video group.
[0121] Still as in the above example, for the i-th video group, assuming that the i-th video group contains M videos (M is a positive integer greater than or equal to 1), the viewing time of these M videos can be analyzed using the mixed Gaussian model to estimate the duration bias of the i-th video group. and noise viewing
[0122] 403. Based on the parameters of the first video group and the viewing durations of the plurality of first videos, obtain evaluation values of the plurality of first videos, where the evaluation values of the plurality of first videos are used to indicate the user's interest level in the plurality of first videos.
[0123] After obtaining the parameters of the first video group, the parameters of the first video group and the viewing time of the multiple first videos contained in the first video group can be further processed to obtain the true evaluation values of the multiple first videos contained in the first video group. The true evaluation values of the multiple first videos are used to indicate the user's true interest level in the multiple first videos, which is equivalent to obtaining the user's true interest level in the multiple first videos.
[0124] It should be noted that for the remaining video groups except the first video group in the multiple video groups, the same operations as those performed on the first video group can also be performed on the remaining video groups, so the true evaluation values of all videos in the multiple video groups can be obtained, that is, the true evaluation values of all videos in the batch of videos, that is, the user's true interest level in all videos in the batch of videos.
[0125] Specifically, the true evaluation values of the plurality of first videos (i.e., the aforementioned evaluation values) may be obtained in the following manner:
[0126] (1) In a plurality of video groups, in order to make the parameters of the first video group similar to those of the second video group (in a plurality of video groups, the first video group and the second video group are two adjacent video groups), the parameters of the first video group may be processed in a certain manner. The processing includes: after obtaining the parameters of the first video group, the parameters of the second video group may be obtained accordingly (the process of obtaining the parameters of the second video group may refer to the process of obtaining the parameters of the first video group, which will not be repeated here). It is worth noting that the second video group is another video group in the plurality of video groups. The plurality of videos contained in the video group may be referred to as a plurality of second videos, and the duration range corresponding to the video group may be referred to as a second duration range. That is, the second video group contains a plurality of second videos, and the duration of the plurality of second videos is within the second duration range. Based on the aforementioned definition of the plurality of duration ranges, it can be seen that the first duration range and the second duration range do not overlap with each other.
[0127] After obtaining the parameters of the first video group and the parameters of the second video group, a sliding average operation can be performed on the parameters of the first video group, the number of multiple first videos, the parameters of the second video group, and the number of multiple second videos to obtain new parameters of the first video group. The new parameters of the first video group include a new duration bias item of the first video group and a new noise viewing item of the first video group. The new duration bias item of the first video group is used to indicate the new bias of the viewing time of multiple first videos, and the new noise viewing item of the first video group is used to indicate the new noise of the viewing time of multiple first videos.
[0128] As in the above example, we get the duration offset of the i-th video group and noise viewing The duration offset of the i-th video group can be obtained by the following formula: and noise viewing Processing is performed to obtain the new duration offset of the i-th video group and the new noise view of the i-th video group:
[0129] In the above formula, is the new duration offset of the i-th video group, is the new noise viewing of the i-th video group, D i is the number of all videos contained in the i-th video group, is the duration offset of the ith video group (T is a positive integer greater than or equal to 1), is the noise viewing of the iTth video group, D i-Tis the number of all videos contained in the ith video group, is the duration offset of the i+Tth video group, is the noise viewing of the i+Tth video group, D i+T is the number of all videos contained in the i+Tth video group.
[0130] (2) After obtaining the new parameters of the first video group, the new parameters of the first video group and the viewing time of the multiple first videos can be calculated to obtain the true evaluation values of the multiple first videos.
[0131] More specifically, the new parameters of the first video group and the viewing durations of the multiple first videos may be calculated in the following ways to obtain the true evaluation values of the multiple first videos:
[0132] (2.1) Since the operations performed on each first video are similar, the following description will be illustratively based on any one of the multiple first videos, and this first video will be referred to as the target video. Then, a first affine transformation operation (e.g., the first affine transformation operation may include one or more of a subtraction operation and a division operation) may be performed on the viewing duration of the target video and the new parameters of the first video group to obtain the true evaluation value of the target video.
[0133] Then, for the remaining first videos, the same operation as that performed on the target video can also be performed on the remaining first videos, so that the true evaluation values of all the first videos in the first video group can be obtained in the end.
[0134] As in the above example, the new duration offset of the i-th video group is obtained and the new noise view of the i-th video group The following formula can be used to calculate the viewing time of the jth video in the i-th video group using these two parameters to obtain the evaluation value of the jth video:
[0135] In the above formula, r i,j is the evaluation value of the jth video in the i-th video group, w i,j is the viewing time of the jth video in the i-th video group.
[0136] (2.2) Since it is difficult for the mixed Gaussian model to estimate a better duration bias term and a noise viewing term, it can be seen from analysis that the sensitivity of the duration bias term increases with the increase of viewing time, and the sensitivity of the noise viewing term decreases with the increase of viewing time. Then, preset hyperparameters can be obtained to achieve sensitivity control of the duration bias term and the noise viewing term. After obtaining the preset hyperparameters, a second affine transformation operation can be performed on the viewing time of the target video, the preset hyperparameters, and the new parameters of the first video group (for example, the second affine transformation operation can include one or more of exponential operation, subtraction operation, multiplication operation, and division operation) to obtain an evaluation value of the target video.
[0137] Then, for the remaining first videos, the same operation as that performed on the target video can also be performed on the remaining first videos, so that the true evaluation values of all the first videos in the first video group can be obtained in the end.
[0138] As in the above example, the new duration offset of the i-th video group is obtained and the new noise view of the i-th video group The preset hyperparameter α can be obtained. The following formula is used to calculate the viewing time of the j-th video in the i-th video group using these three parameters to obtain the evaluation value of the j-th video:
[0139] In the above formula, exp() represents the exponential operation with e as the base.
[0140] Furthermore, after obtaining the true evaluation values of the batch of videos, that is, the user's true level of interest in the batch of videos, a batch of training data can be generated accordingly. This batch of training data contains the characteristics of the user and the characteristics of the batch of videos, and the evaluation values of the batch of videos are used as labels for the batch of training data. In this way, this batch of training data can be input into the model to be trained to obtain the predicted evaluation values of the batch of videos, that is, the user's predicted level of interest in the batch of videos. Then, the true evaluation values of the batch of videos and the predicted evaluation values of the batch of videos can be calculated using a preset loss function to obtain a target loss. The target loss is used to indicate the difference between the true evaluation values of the batch of videos and the predicted evaluation values of the batch of videos.
[0141] Subsequently, the target loss can be used to update the parameters of the model to be trained to obtain the model to be trained after the updated parameters, and the next batch of training data can be generated in the same way to continue training the model to be trained after the updated parameters, so as to obtain the recommendation model, and then use the recommendation model to recommend videos to users.
[0142] In order to further understand the video evaluation method provided by the embodiment of the present application, the method is further introduced below in conjunction with a specific application example. As shown in Figures 5 and 6 (Figure 5 is a schematic diagram of the duration bias provided by the embodiment of the present application, and Figure 6 is a schematic diagram of the noise viewing provided by the embodiment of the present application), in this application example, the viewing time of a video is regarded as a mixture of the user's interest in the video, duration bias, and noise viewing, wherein the duration bias refers to the fact that the user will spend more time watching the long video of interest, resulting in a longer average viewing time for the long video. This phenomenon is called duration bias. For example, the user has the same level of interest in videos v1, v2, and v3, but their own durations are different, and the user spends more time watching v3 (which itself has a longer duration). Noise viewing refers to the fact that the user needs time to judge whether he likes the recommended video, and may watch a video that he is not interested in for a short period of time. This is usually called noise viewing. Fundamentally, noise viewing is caused by the user's trust in the clickbait content at the beginning of the video. For example, suppose v1, v2, and v3 are all videos that the user is not interested in. Due to the misleading content at the beginning of the video, the user spends time watching videos that the user is not interested in.
[0143] Based on this, this application example provides a model for debiasing and denoising viewing time correction. In this model, the distribution of video viewing time within each bucket is considered a mixture of bias and noise distributions, and a Gaussian mixture model is used to estimate the parameters of these underlying distributions. Furthermore, since adjacent buckets should have similar properties, a frequency sliding average is used to smooth the estimated bias and noise parameter sequences. Furthermore, a sensitivity control correction module is designed to facilitate the estimation of bias and noise parameters.
[0144] Specifically, the application examples include:
[0145] Input: Interaction data Sliding average window T and hyperparameter α, where x t are the features of the user and the features of the t-th video (derived from the t-th video), w t is the viewing time of the tth video, d t is the duration of the tth video.
[0146] Output: Video evaluation value R.
[0147] 1: Get each calculation formula, including w + ←{},w - ←{}, R←{}.
[0148] 2: Bucket the N videos contained in D according to the video duration d, and obtain M buckets (M video groups).
[0149] 3: The viewing time of N videos contained in D is w1,...,w N , as the input of the Gaussian mixture model, estimate the duration bias of each bucket and noise viewing
[0150] 4: T to Perform sliding average to obtain new duration bias T Perform sliding average to get new noise view
[0151] 5: Using formula (5), for each video contained in D, calculate the evaluation value of each video Constitute R.
[0152] In addition, the method (D 2 Co(A) and D 2 The model trained with Co(S) was compared with the model trained with methods based on related technologies (Watch Time, PCR, etc.). The comparison results are shown in Tables 1, 2, and 3:
[0153] Table 1
[0154] Table 2
[0155] Table 3
[0156] Based on Tables 1 to 3, we can see that D 2 Co(S) achieved the best performance among all models on datasets 1 and 2. In addition, the models trained with PCR, D2Q, and WTG outperformed the models trained with the original Watch Time labels, mainly because they alleviated the duration bias problem. 2 Co(A) and D 2 The Co(S) algorithm also outperforms these correction algorithm baselines because the method proposed in the embodiment of the present application also models the noise viewing. 2 Co(S) is higher than D in both datasets. 2Co(A) achieves better performance, demonstrating the importance of sensitivity control. Notably, the baselines with post-denoising (PCR-denoise, D2Q-denoise, and WTG-denoise) show varying degrees of improvement compared to their original methods, clearly demonstrating the presence of noisy viewing. However, post-denoising simply heuristically truncates samples with less viewing time, removing only a portion of the noise.
[0157] In an embodiment of the present application, when it is necessary to evaluate multiple video groups, a first video group containing multiple first videos can be obtained from the multiple video groups. Next, the viewing time of the multiple first videos can be processed to obtain the parameters of the first video group. Then, the parameters of the first video group and the viewing time of the multiple first videos can be further processed to obtain the evaluation values of the multiple first videos, which is equivalent to obtaining the user's interest level in the multiple first videos. For the remaining video groups in the multiple video groups, the same operations as those performed on the first video group can also be performed, so the evaluation values of all videos in the multiple video groups can be obtained, thereby completing the evaluation task for the multiple video groups. In the above process, when evaluating multiple first videos using the viewing time of multiple first videos included in the first video group and the parameters of the first video group, since the parameters of the first video group include the time bias of the first video group and the noise viewing item of the first video group, the evaluation process not only considers the bias of the viewing time of multiple first videos, but also considers the noise of the viewing time of multiple first videos. This evaluation method considers more comprehensive factors and can be more in line with the actual situation. Therefore, the evaluation values of multiple first videos obtained by this evaluation method have higher accuracy and can accurately obtain the user's interest in multiple first videos.
[0158] The above is a detailed description of the video evaluation method provided in the embodiment of the present application. The following is an introduction to the video evaluation device provided in the embodiment of the present application. Figure 7 is a structural diagram of the video evaluation device provided in the embodiment of the present application. As shown in Figure 7, the device includes:
[0159] A first acquisition module 701 is configured to acquire a first video group, where the first video group includes a plurality of first videos;
[0160] A processing module 702 is configured to process the viewing durations of the plurality of first videos to obtain parameters of a first video group, where the parameters of the first video group are used to indicate an offset of the viewing durations of the plurality of first videos and a noise of the viewing durations of the plurality of first videos;
[0161] The second acquisition module 703 is used to obtain evaluation values of the multiple first videos based on the parameters of the first video group and the viewing time of the multiple first videos. The evaluation values of the multiple first videos are used to indicate the user's interest level in the multiple first videos.
[0162] In an embodiment of the present application, when it is necessary to evaluate multiple video groups, a first video group containing multiple first videos can be obtained from the multiple video groups. Next, the viewing time of the multiple first videos can be processed to obtain the parameters of the first video group. Then, the parameters of the first video group and the viewing time of the multiple first videos can be further processed to obtain the evaluation values of the multiple first videos, which is equivalent to obtaining the user's interest level in the multiple first videos. For the remaining video groups in the multiple video groups, the same operations as those performed on the first video group can also be performed, so the evaluation values of all videos in the multiple video groups can be obtained, thereby completing the evaluation task for the multiple video groups. In the above process, when evaluating multiple first videos using the viewing time of multiple first videos included in the first video group and the parameters of the first video group, since the parameters of the first video group include the time bias of the first video group and the noise viewing item of the first video group, the evaluation process not only considers the bias of the viewing time of multiple first videos, but also considers the noise of the viewing time of multiple first videos. This evaluation method considers more comprehensive factors and can be more in line with the actual situation. Therefore, the evaluation values of multiple first videos obtained by this evaluation method have higher accuracy and can accurately obtain the user's interest in multiple first videos.
[0163] In one possible implementation, the processing module is configured to process the viewing durations of the plurality of first videos using a mixed Gaussian model to obtain parameters of the first video group.
[0164] In one possible implementation, the second acquisition module is used to: perform a sliding average operation on the parameters of the first video group and the parameters of the second video group to obtain new parameters of the first video group, where the new parameters of the first video group are used to indicate a new bias in the viewing time of multiple first videos and a new noise in the viewing time of multiple first videos; and obtain evaluation values of multiple first videos based on the new parameters of the first video group and the viewing time of multiple first videos.
[0165] In one possible implementation, the second acquisition module is used to perform a first affine transformation operation on the viewing time of the target video and the new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any one of the multiple first videos.
[0166] In one possible implementation, the second acquisition module is used to perform a second affine transformation operation on the viewing time of the target video, preset hyperparameters, and new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any one of multiple first videos.
[0167] In a possible implementation, the first affine transformation operation includes at least one of the following: a subtraction operation and a division operation.
[0168] In one possible implementation, the second affine transformation operation includes at least one of the following: an exponential operation, a subtraction operation, a multiplication operation, and a division operation.
[0169] In one possible implementation, the second video group includes multiple second videos, the durations of the multiple first videos are within a preset first range, the durations of the multiple second videos are within a preset second range, and the first range and the second range do not overlap.
[0170] It should be noted that the information interaction, execution process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the embodiment of the present application, and no further details will be given here.
[0171] The embodiment of the present application also relates to an execution device, and Figure 8 is a structural diagram of the execution device provided by the embodiment of the present application. As shown in Figure 8, the execution device 800 can be specifically manifested as a mobile phone, a tablet, a laptop computer, a car computer, an intelligent wearable device, a server, etc., which are not limited here. Among them, the video evaluation device described in the embodiment corresponding to Figure 7 can be deployed on the execution device 800 to implement the function of video evaluation in the embodiment corresponding to Figure 5. Specifically, the execution device 800 includes: a receiver 801, a transmitter 802, a processor 803 and a memory 804 (wherein the number of processors 803 in the execution device 800 can be one or more, and Figure 8 takes one processor as an example), wherein the processor 803 may include an application processor 8031 and a communication processor 8032. In some embodiments of the present application, the receiver 801, the transmitter 802, the processor 803 and the memory 804 can be connected via a bus or other means.
[0172] The memory 804 may include a read-only memory and a random access memory, and provides instructions and data to the processor 803. A portion of the memory 804 may also include non-volatile random access memory (NVRAM). The memory 804 stores processor and operation instructions, executable modules, or data structures, or subsets or extended sets thereof. The operation instructions may include various operation instructions for implementing various operations.
[0173] Processor 803 controls the operation of the execution device. In specific applications, the various components of the execution device are coupled together via a bus system. In addition to a data bus, the bus system may also include a power bus, a control bus, and a status signal bus. However, for clarity, all bus systems are referred to as a bus system in the figure.
[0174] The methods disclosed in the above embodiments of the present application can be applied to or implemented by the processor 803. The processor 803 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in the processor 803 or by software instructions. The above processor 803 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor, or a microcontroller, and can further include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 803 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application can be directly implemented as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in memory 804, and processor 803 reads information in memory 804 and, in conjunction with its hardware, completes the steps of the above method.
[0175] Receiver 801 can be used to receive input digital or character information and generate signal input related to executing device-related settings and function control. Transmitter 802 can be used to output digital or character information through the first interface. Transmitter 802 can also be used to send instructions to the disk pack through the first interface to modify data in the disk pack. Transmitter 802 can also include a display device such as a display screen.
[0176] In one embodiment of the present application, processor 803 is configured to obtain evaluation values for multiple videos using the video evaluation function in the embodiment corresponding to FIG. 5 , and use these values as labels for training data (including user characteristics and video characteristics, etc.) to activate a training device to complete training of a recommendation model. Processor 803 can then be used to recommend videos to users using the recommendation model.
[0177] The embodiment of the present application also relates to a training device. FIG9 is a schematic diagram of the structure of the training device provided by the embodiment of the present application. As shown in FIG9 , the training device 900 is implemented by one or more servers. The training device 900 may have relatively large differences due to different configurations or performances. It may include one or more central processing units (CPUs) 99 (for example, one or more processors) and a memory 932, and one or more storage media 930 (for example, one or more mass storage devices) storing application programs 942 or data 944. Among them, the memory 932 and the storage medium 930 can be temporary storage or permanent storage. The program stored in the storage medium 930 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the training device. Furthermore, the central processing unit 99 can be configured to communicate with the storage medium 930 to execute a series of instruction operations in the storage medium 930 on the training device 900.
[0178] The training device 900 may also include one or more power supplies 926, one or more wired or wireless network interfaces 950, one or more input and output interfaces 958; or, one or more operating systems 941, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0179] Specifically, the training device can complete the training of the recommendation model using the evaluation values of multiple videos under the control of the execution device, and return the recommendation model to the execution device.
[0180] An embodiment of the present application also relates to a computer storage medium, which stores a program for signal processing. When the computer storage medium is run on a computer, it enables the computer to execute the steps executed by the aforementioned execution device, or enables the computer to execute the steps executed by the aforementioned training device.
[0181] An embodiment of the present application also relates to a computer program product, which stores instructions that, when executed by a computer, enable the computer to execute the steps executed by the aforementioned execution device, or enable the computer to execute the steps executed by the aforementioned training device.
[0182] The execution device, training device or terminal device provided in the embodiments of the present application can specifically be a chip, and the chip includes: a processing unit and a communication unit, the processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, a pin or a circuit, etc. The processing unit can execute the computer execution instructions stored in the storage unit, so that the chip in the execution device executes the data processing method described in the above embodiment, or so that the chip in the training device executes the data processing method described in the above embodiment. Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, etc. The storage unit can also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.
[0183] Specifically, see Figure 10, which is a schematic diagram of the structure of a chip provided in an embodiment of the present application. The chip can be represented as a neural network processor NPU 1000. NPU 1000 is mounted on the host CPU (host CPU) as a coprocessor and is assigned tasks by the host CPU. The core of the NPU is arithmetic circuit 1003, which is controlled by controller 1004 to extract matrix data from memory and perform multiplication operations.
[0184] In some implementations, the arithmetic circuit 1003 includes multiple processing units (PEs). In some implementations, the arithmetic circuit 1003 is a two-dimensional systolic array. The arithmetic circuit 1003 can also be a one-dimensional systolic array or other electronic circuit capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit 1003 is a general-purpose matrix processor.
[0185] For example, assume there are input matrix A, weight matrix B, and output matrix C. The arithmetic circuit retrieves the corresponding data of matrix B from weight memory 1002 and caches it on each PE in the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from input memory 1001 and performs a matrix operation on matrix B. The partial or final matrix result is stored in accumulator 1008.
[0186] Unified memory 1006 is used to store input and output data. Weight data is directly transferred to weight memory 1002 through the Direct Memory Access Controller (DMAC) 1005. Input data is also transferred to unified memory 1006 through the DMAC.
[0187] BIU stands for Bus Interface Unit, i.e., bus interface unit 1013 , which is used for interaction between the AXI bus, DMAC, and instruction fetch buffer (IFB) 1009 .
[0188] The bus interface unit 1013 (BIU) is used for the instruction fetch memory 1009 to obtain instructions from the external memory, and is also used for the storage unit access controller 1005 to obtain the original data of the input matrix A or the weight matrix B from the external memory.
[0189] DMAC is mainly used to transfer input data in the external memory DDR to the unified memory 1006 or transfer weight data to the weight memory 1002 or transfer input data to the input memory 1001.
[0190] The vector calculation unit 1007 includes multiple operation processing units. When necessary, it further processes the output of the operation circuit 1003, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. It is mainly used for non-convolutional / fully connected layer network calculations in neural networks, such as batch normalization, pixel-level summation, and upsampling of the predicted label plane.
[0191] In some implementations, the vector calculation unit 1007 can store the processed output vector to the unified memory 1006. For example, the vector calculation unit 1007 can apply a linear function or a nonlinear function to the output of the operation circuit 1003, such as linear interpolation of the predicted label plane extracted by the convolution layer, or another example is a vector of accumulated values to generate an activation value. In some implementations, the vector calculation unit 1007 generates a normalized value, a pixel-level summed value, or both. In some implementations, the processed output vector can be used as an activation input to the operation circuit 1003, for example, for use in subsequent layers in a neural network.
[0192] An instruction fetch buffer 1009 connected to the controller 1004 is used to store instructions used by the controller 1004;
[0193] Unified memory 1006, input memory 1001, weight memory 1002, and instruction fetch memory 1009 are all on-chip memories. External memories are private to the NPU hardware architecture.
[0194] The processor mentioned in any of the above places can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the above program.
[0195] It should also be noted that the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the device embodiments provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.
[0196] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course can also be implemented by special hardware including application-specific integrated circuits, special CPUs, special memories, special components, etc. In general, all functions performed by computer programs can be easily implemented with corresponding hardware, and the specific hardware structures used to implement the same function can also be diverse, such as analog circuits, digital circuits or special circuits, etc. However, for the present application, software program implementation is a better implementation method in most cases. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer's floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., and includes a number of instructions to enable a computer device (which can be a personal computer, training equipment, or network equipment, etc.) to execute the methods described in each embodiment of the present application.
[0197] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0198] 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 application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can 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 can be transmitted from a website, a computer, a training device or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website, a computer, a training device or a data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium can 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 (SSD)).
Claims
1. A video evaluation method, characterized in that: The method comprises: Acquire a first video group, where the first video group includes multiple first videos; Processing the viewing durations of the plurality of first videos to obtain parameters of the first video group, where the parameters of the first video group are used to indicate biases of the viewing durations of the plurality of first videos and noises of the viewing durations of the plurality of first videos; Based on the parameters of the first video group and the viewing duration of the multiple first videos, evaluation values of the multiple first videos are obtained, where the evaluation values of the multiple first videos are used to indicate the user's interest level in the multiple first videos.
2. The method according to claim 1, characterized in that The processing of the viewing durations of the plurality of first videos to obtain parameters of the first video group includes: The viewing durations of the plurality of first videos are processed by using a mixed Gaussian model to obtain parameters of the first video group.
3. The method according to claim 1 or 2, characterized in that: The acquiring evaluation values of the plurality of first videos based on the parameters of the first video group and the viewing durations of the plurality of first videos includes: Performing a sliding average operation on the parameters of the first video group and the parameters of the second video group to obtain new parameters of the first video group, where the new parameters of the first video group are used to indicate new biases of viewing durations of the plurality of first videos and new noises of the viewing durations of the plurality of first videos; Based on the new parameters of the first video group and the viewing durations of the multiple first videos, evaluation values of the multiple first videos are obtained.
4. The method according to claim 3, characterized in that The acquiring evaluation values of the plurality of first videos based on the new parameters of the first video group and the viewing durations of the plurality of first videos includes: A first affine transformation operation is performed on the viewing time of a target video and new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any first video among the multiple first videos.
5. The method according to claim 3, characterized in that: The acquiring evaluation values of the plurality of first videos based on the new parameters of the first video group and the viewing durations of the plurality of first videos includes: A second affine transformation operation is performed on the viewing time of the target video, the preset hyperparameters, and the new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any first video among the multiple first videos.
6. The method according to claim 4, characterized in that The first affine transformation operation includes at least one of the following: a subtraction operation and a division operation.
7. The method according to claim 5, characterized in that The second affine transformation operation includes at least one of the following: an exponential operation, a subtraction operation, a multiplication operation, and a division operation.
8. The method according to any one of claims 3 to 7, characterized in that: The second video group includes multiple second videos, the durations of the multiple first videos are within a preset first range, the durations of the multiple second videos are within a preset second range, and the first range and the second range do not overlap each other.
9. A video evaluation device, characterized in that: The device comprises: A first acquisition module, used to acquire a first video group, where the first video group includes a plurality of first videos; a processing module, configured to process the viewing durations of the plurality of first videos to obtain parameters of the first video group, wherein the parameters of the first video group are used to indicate a bias of the viewing durations of the plurality of first videos and a noise of the viewing durations of the plurality of first videos; The second acquisition module is used to obtain evaluation values of the multiple first videos based on the parameters of the first video group and the viewing time of the multiple first videos, and the evaluation values of the multiple first videos are used to indicate the user's interest level in the multiple first videos.
10. The device according to claim 9, characterized in that The processing module is used to process the viewing durations of the multiple first videos through a mixed Gaussian model to obtain parameters of the first video group.
11. The device according to claim 9 or 10, characterized in that The second acquisition module is used to: Performing a sliding average operation on the parameters of the first video group and the parameters of the second video group to obtain new parameters of the first video group, where the new parameters of the first video group are used to indicate new biases of viewing durations of the plurality of first videos and new noises of the viewing durations of the plurality of first videos; Based on the new parameters of the first video group and the viewing durations of the multiple first videos, evaluation values of the multiple first videos are obtained.
12. The device according to claim 11, characterized in that The second acquisition module is used to perform a first affine transformation operation on the viewing time of the target video and the new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any first video among the multiple first videos.
13. The device according to claim 11, characterized in that The second acquisition module is used to perform a second affine transformation operation on the viewing time of the target video, preset hyperparameters and new parameters of the first video group to obtain an evaluation value of the target video, where the target video is any first video among the multiple first videos.
14. The device according to claim 12, characterized in that The first affine transformation operation includes at least one of the following: a subtraction operation and a division operation.
15. The device according to claim 13, characterized in that The second affine transformation operation includes at least one of the following: an exponential operation, a subtraction operation, a multiplication operation, and a division operation.
16. The device according to any one of claims 11 to 15, characterized in that The second video group includes multiple second videos, the durations of the multiple first videos are within a preset first range, the durations of the multiple second videos are within a preset second range, and the first range and the second range do not overlap each other.
17. A video evaluation device, characterized in that: The video evaluation device comprises a memory and a processor; the memory stores codes, and the processor is configured to execute the codes. When the codes are executed, the video evaluation device performs the method according to any one of claims 1 to 8.
18. A computer storage medium, characterized in that: The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method of any one of claims 1 to 8.
19. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Video recommendation method and device, electronic equipment and readable storage medium
CN111259195A
Video recommendation method and device, model training method and device, electronic equipment and medium
CN114245185A
Video recommendation method and device, electronic equipment and storage medium
CN116112705A
Cross-domain fusion recommendation method based on graph convolutional network
CN116320511A
Video evaluation method and related equipment thereof
CN117061733A