CN113538030B - Content pushing method and device and computer storage medium - Google Patents

Content pushing method and device and computer storage medium Download PDF

Info

Publication number
CN113538030B
CN113538030B CN202011133680.6A CN202011133680A CN113538030B CN 113538030 B CN113538030 B CN 113538030B CN 202011133680 A CN202011133680 A CN 202011133680A CN 113538030 B CN113538030 B CN 113538030B
Authority
CN
China
Prior art keywords
played
resource
play
playing
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011133680.6A
Other languages
Chinese (zh)
Other versions
CN113538030A (en
Inventor
谭斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011133680.6A priority Critical patent/CN113538030B/en
Publication of CN113538030A publication Critical patent/CN113538030A/en
Application granted granted Critical
Publication of CN113538030B publication Critical patent/CN113538030B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application discloses a content pushing method, comprising the following steps: responding to the received resource acquisition request, acquiring matched resources to be played, wherein the resources to be played have corresponding preset play quantity; acquiring playing data of the resources to be played in a preset time period; processing the play data to obtain resource play feature vectors corresponding to a plurality of continuous time slices one by one; determining the predicted play quantity of the resource to be played in a future preset time based on the resource play feature vector; if the sum of the played quantity of the resource to be played and the predicted playing quantity is larger than or equal to the preset playing quantity, stopping playing the resource to be played. The method embeds and converts the discrete category characteristic codes into vectors, and further predicts the future actual play amount by using a neural network model, so that the superplaying of advertisement resources can be avoided. The application also discloses a content pushing device, a server and a computer storage medium.

Description

Content pushing method and device and computer storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a content pushing method, a content pushing device, and a computer storage medium.
Background
Big data (Big data) refers to a data set which cannot be captured, managed and processed by a conventional software tool within a certain time range, and is a massive, high-growth-rate and diversified information asset which needs a new processing mode to have stronger decision-making ability, insight discovery ability and flow optimization ability. With the advent of the cloud age, big data has attracted more and more attention, and special techniques are required for big data to effectively process a large amount of data within a tolerant elapsed time. Technologies applicable to big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the internet, and scalable storage systems.
Based on big data technology, many special forms of products and services are realized. For example, an advertisement push service based on user interests can push content of interest to a user without affecting the user's use of a product. The media platform can estimate the available inventory of each advertisement position under each directional condition, and further reasonably sell advertisement playing resources to clients. Most of advertisements are sold through signing a guaranteed contract, a client can purchase a certain amount of exposure display aiming at the contract advertisements, and after the exposure of the advertisements reaches the exposure required in the contract, the media platform can stop broadcasting the advertisements correspondingly.
The existing superbroadcast control algorithm is simpler, a general estimation is carried out on the online play condition through priori knowledge, then a threshold value is set, such as 95% of the maximum playable play progress is observed, and after the threshold value is reached, a stop mark is set to be 1, namely stop is carried out.
There are a number of problems with current technology: firstly, the threshold value is given through priori knowledge, is subjective willingness of a person, and has low accuracy; secondly, the threshold is the same for all orders, however, the quantity of contract advertisement orders is tens of thousands, the crowd direction and the advertisement position of each order are different, the same threshold is obviously unreasonable, finally, the online advertisement playing is controlled by various factors, such as frequency, directed occupation, mixed arrangement algorithm and the like, the delay time and the playing quantity during the delay time are almost changed at all times, and the unchanged threshold is difficult to accurately control the superplaying.
Machine Learning (ML) is a multi-domain interdisciplinary, involving multiple disciplines such as probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory, etc. It is specially studied how a computer simulates or implements learning behavior of a human to acquire new knowledge or skills, and reorganizes existing knowledge structures to continuously improve own performance. Machine learning is the core of artificial intelligence, a fundamental approach to letting computers have intelligence, which is applied throughout various areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, confidence networks, reinforcement learning, transfer learning, induction learning, teaching learning, and the like.
Disclosure of Invention
The embodiment of the application provides an intelligent resource playing control method, device and computer storage medium.
In a first aspect, an embodiment of the present application provides a content pushing method, including:
responding to the received resource acquisition request, acquiring matched resources to be played, wherein the resources to be played have corresponding preset play quantity;
acquiring playing data of the resources to be played in a preset time period;
processing the play data to obtain resource play feature vectors corresponding to a plurality of continuous time slices one by one;
determining the predicted play quantity of the resource to be played in a future preset time based on the resource play feature vector;
if the sum of the played quantity of the resource to be played and the predicted playing quantity is larger than or equal to the preset playing quantity, stopping playing the resource to be played.
In a second aspect, an embodiment of the present application provides a content pushing apparatus, including:
the resource acquisition module is used for responding to the received resource acquisition request and acquiring matched resources to be played, wherein the resources to be played have corresponding preset play quantity;
the playing data acquisition module is used for acquiring the playing data of the resources to be played in a preset time period;
The feature extraction module is used for processing the play data to obtain resource play feature vectors corresponding to the continuous time slices one by one;
the prediction module is used for determining the predicted play quantity of the resource to be played in the future preset time based on the resource play feature vector;
and the super-broadcasting control module is used for stopping playing the resource to be played if the sum of the played quantity of the resource to be played and the predicted playing quantity is greater than or equal to the preset playing quantity.
In a third aspect, an embodiment of the present application provides an intelligent device, including: a memory; one or more processors coupled with the memory; one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, the one or more applications configured to perform the content pushing method provided in the first aspect described above.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium having program code stored therein, the program code being executable by a processor to perform the content pushing method provided in the first aspect.
According to the content pushing method, the content pushing device and the content pushing server provided by the scheme, the discrete category feature codes are embedded and converted into vectors, and the neural network model is further used for predicting the future actual playing quantity, so that the superplaying of advertisement resources can be avoided.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic architecture diagram of a resource playing control system according to an exemplary embodiment of the present application.
Fig. 2 shows a flowchart of a content pushing method according to an exemplary embodiment of the present application.
Fig. 3 shows a flowchart of a content pushing method according to an exemplary embodiment of the present application.
Fig. 4 shows a schematic structural diagram of a sample feature of the LSTM model in the method shown in fig. 3.
Fig. 5 illustrates an effect schematic diagram of a content pushing method according to an exemplary embodiment of the present application.
Fig. 6 shows a schematic structural diagram of an LSTM model provided in an exemplary embodiment of the present application.
Fig. 7 shows a schematic structural diagram of an LSTM model provided in an exemplary embodiment of the present application.
Fig. 8 shows a training flow diagram of the LSTM model shown in fig. 6.
Fig. 9 shows a flowchart of a content pushing method according to an exemplary embodiment of the present application.
Fig. 10 shows a flowchart of a content pushing method according to an exemplary embodiment of the present application.
Fig. 11 is a block diagram illustrating a structure of a content pushing apparatus according to an exemplary embodiment of the present application.
Detailed Description
In order to enable those skilled in the art to better understand the present application, the following description will make clear and complete descriptions of the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application.
Referring to fig. 1, a schematic architecture diagram of a resource playing control system according to an embodiment of the present application is shown. The asset play control system includes an asset play server 10 and a media client 20.
The asset playing server 10 is used for returning asset data according to the request of the media client 20. After receiving the resource acquisition request sent by the media client 20, the resource playing server 10 acquires the corresponding resource and returns the resource to the media client 20.
The media client 20 may include, for example: computers, notebook computers, tablet computers, cell phones, etc. Various applications, such as a browser or shopping application, may be run within the media client 20. These applications, when running, will request various data from the asset playing server 10, i.e. will send various network requests to the asset playing server 10.
Specifically, the asset playing server 10 includes: a processor 11, a main memory 12, a non-volatile memory 13, and a network module 14. The processor 11 is connected to the main memory 12 through a first bus 17, and it should be understood that the first bus 17 is merely illustrative, and not limited to a physical bus, and any hardware architecture or technology capable of connecting the main memory 12 to the processor 11 may be used.
Main memory 12 is typically a volatile memory such as dynamic random access memory (Dynamic Random Access Memory, DRAM).
The non-volatile memory 13 and the network module 14 are both connected to the first bus 17 via an input/output (IO) bus 18, which in turn may interact with the processor 11. The IO bus may be, for example, a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or a high-speed serial computer expansion bus (Peripheral Component Interconnect Express, PCI-E).
The nonvolatile memory 13 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read only memory), an EPROM, a hard disk, or a ROM.
The network module 14 may be coupled to the resource server 10 via network signals.
The nonvolatile memory 13 stores a resource engine 131 and an anti-supercast model 132.
The resource engine 131 is responsible for receiving a resource acquisition request sent by the media client 20, acquiring user characteristics according to the resource acquisition request, and retrieving all matched resources in a resource library to be played according to the user characteristics. The asset engine 131 is further configured to determine one or more assets to be played from the assets matching the user characteristics to be returned to the media client 20 for presentation or playback.
The anti-supercast model 132 is used for predicting the predicted play amount in a specified time period in the future according to the play data of a certain resource, and implementing supercast control based on the predicted play amount, so as to avoid supercasting of the resource and improve the operation efficiency of the resource play control system.
In one particular embodiment, the anti-supercast model 132 is a Long Short-Term Memory (LSTM) neural network model.
In a specific embodiment, the resource refers to an advertisement, and the advertisement may be text, picture, video, animation, or other various modes.
In a resource playback control system there are several participants: a resource playing service provider, a resource playing service delivery main body and a user. The resource playing service provider provides services for the user and the resource playing service delivery main body through the resource playing control system. Taking an advertisement system as an example, the resource playing service delivery main body is an advertiser, and when the advertiser needs to deliver advertisements, the advertiser can make contract orders with the advertisement resource provider, and specify the advertisements, expected playing amounts, time limit, targeting conditions and the like which need to be delivered in the contract orders.
The targeting condition refers to an advertisement delivery object specified by an advertiser, and specifically may include any one of the following targeting conditions or a combination of multiple targeting conditions:
(1) Region orientation: for example, many advertisers have regional characteristics of their business;
(2) Population attribute orientation: mainly including age, sex, education level, income level, etc.;
(3) Channel orientation: the method is suitable for vertical media which are relatively close to the conversion requirement, such as automobiles, babies and mothers, and the like, and has a narrower coverage;
(4) Context orientation: matching relevant advertisements according to specific content (e.g., keywords, topics, etc.) of the web page;
(5) Behavior orientation: knowing the interests of the user according to the historical access behaviors of the user, thereby putting advertisements;
(6) Precise position orientation: advertising based on precise geographic location is performed based on terminal device information such as global positioning system (Global Positioning System, GPS) location information, internet protocol (Internet Protocol, IP) addresses, etc.
Referring to fig. 2, a flowchart of a content pushing method according to an exemplary embodiment of the present invention is shown, where the method may be executed by the resource playing control system, and is used for controlling playing of resources, and the method includes the following steps:
Step S1, a resource acquisition request is received.
In a specific embodiment, the media client 20 has an application installed therein, where the application may include, for example, a news client, a browser, instant messaging software, video playing software, a novel reader, and so on. In addition to requesting normal browsing content data from the background server, the application program will send a resource acquisition request to the resource playing server 10 to acquire the resources to be played, so as to perform presentation playing in the media client 20. In response, the server 10 will receive the resource acquisition request described above.
In a specific embodiment, a user identifier, such as a Token, may be included in the resource acquisition request, and the resource playing server 10 extracts the user Token from the resource acquisition request, uses the user Token to find the corresponding user in the user data, and further obtains the feature information of the user. The user token here may be, for example, a Json Web Token (JWT) defined in accordance with the open standard RFC7519, a Session ID (Session), or any other identifier that can uniquely identify the user.
After receiving the resource obtaining request, the server 10 returns the obtained corresponding multimedia resource to the media client 20 for display or playing. The multimedia resource herein refers to, for example, advertising. It will be understood that advertisement is defined from the perspective of content, and in terms of presentation, multimedia resources may include any combination of text, pictures, animations, and video, and even program scripts for generating text, pictures, animations, and video, and techniques that can be executed by the media client 20 and expose the corresponding content for viewing by the user in its interface can be used. The process by which the server 10 returns the corresponding multimedia resource according to the above-described resource acquisition request will be described below in connection with a more specific embodiment.
And step S2, carrying out resource recall according to the resource acquisition request.
In a specific embodiment, the user information of the pair may be first acquired according to the user identifier included in the resource acquisition request, where the user characteristic information may include user characteristic data of different dimensions, for example, may include gender, age, education level, income level, interests, geographic location, and the like of the user.
On the other hand, for all resources to be played, one or more user features may be set as a matching condition, or a subscription condition, for each resource to be played. Therefore, for each current user, according to the set matching conditions, whether the resources to be played and the users are matched can be judged.
For example, a user with a Shanghai male has opened a music application, at which point all advertisements would be retrieved, assuming only three advertisements A, B, C, where A is scheduled for Shanghai female, B is scheduled for Shanghai male, C is scheduled for male, then B, C two advertisements match the user and A is not matched with the user.
The target of this step obtains at least part of the resources to be played in the resources to be played that are matched with the current user. In general, a relational database may be used to store matching relationships between different resources to be played and user characteristics. Then, the user characteristics can be used as bar query conditions to query in the relational database to obtain at least part of the resources to be played. It will be appreciated that the relational database is given here as an example, and the storage manner of the matching relationship between the user characteristics and the resources to be played is not limited in any way.
It can be understood that, since the number of resources to be played is generally very large, even if the user characteristic information is adopted to perform the matching search, any number of resources to be played finally obtained may be very large, and it is impossible to display all resources at one time in the user interface, so that one or several resources to be played need to be determined for the recalled resources to be played for displaying and playing.
And step S3, filtering the recalled resources to be played to obtain a resource matching result.
In a specific embodiment, a user model may be established based on the user features, and on the other hand, for each resource to be played, keywords may be extracted from the text and the image of the resource to be played, and the matching degree between the user and each resource to be played may be calculated according to the user model and the keywords. For the resources to be played obtained in step S2, the resources to be played may be sorted according to the matching degree, then only the resources to be played with the matching degree within a predetermined range are selected, and the resources with the matching degree lower than the predetermined range may be discarded in the current request.
Further, the above process is to conduct matching search of resources directly through static features such as gender and age of the user. However, these features merely direct the presentation of the resource to a particular group of users. Such directed user feature matching does not reflect the user's own interest features. Therefore, in a resource pushing system, interest data of different dimensions of a user can be collected, matching degree calculation is carried out according to the interest data of the user and resources to be played, so that the resources to be played can be ordered according to the interest degree of the user, only the resources to be played with the interest degree of the user in a preset range are selected, and the resources to be played with the interest degree of the user lower than the preset range can be discarded in a current request and are not returned.
In a specific embodiment, the resources to be played may be filtered according to the similarity between the content currently browsed by the user and the resources to be played. For example, keywords may be extracted from the content currently browsed by the user and the resource to be played, then semantic analysis may be performed, and then the similarity between the content currently browsed by the user and the resource to be played may be determined based on the semantic analysis result. The higher the similarity, the higher the ranking of the corresponding assets to be played, and the easier it is to leave for return to the media client 20.
It can be understood that, even though the number of resources to be played is still very large after the sorting and screening processes, the number of resources to be played which can be displayed in each request is limited, so that only a specified number of resources to be played can be obtained from resources to be played which meet the standard finally and returned.
In one particular embodiment, a random function may be employed to determine which resources to play may be left. For example, a probability value (Rate), e.g., 0.5, may be given to each resource to be played, and a random number may be generated for each resource to be played by using a random function whose value is subject to an even distribution of 0-1, or the random number is greater than the Rate value, so that the resource to be played is left, otherwise the resource to be played is not displayed at this time. Therefore, by adjusting the rate value of each resource to be played, the probability that the resource to be played is displayed and played can be controlled.
And S4, returning the resource matching result.
After a sufficient number of resources to be played are acquired, the server 10 may return them to the media client 20. Accordingly, after receiving the resource to be played, the media client 20 displays, i.e. displays and plays the above words, pictures, animation and video in its user interface.
In a specific embodiment, in the step S3, the sorting and screening process may be performed on the recalled resources to be played, and the superplaying control process may be performed, and referring to fig. 3, the superplaying control process includes the following steps:
step S31, obtaining the playing data of each resource to be played.
In the content pushing system shown in fig. 1, each resource playing operation of the media client 20 may also be recorded, and specifically, a presentation playing time of a certain resource to be played in the media client 20 and corresponding user characteristic information may be recorded. These play data may be stored in a database to facilitate query use. In the method provided in this embodiment, whether a phenomenon that a certain resource to be played will be superbroadcast in a predetermined time range in the future may be predicted based on the play data, and whether the resource to be played needs to be continuously pushed to the media client may be controlled based on the prediction result.
The super-broadcasting refers to the phenomenon that the display playing amount of a certain resource to be played exceeds a preset playing amount. This predetermined play amount is already preset or dynamically acquired. In general, the assets to be played are associated with an order contract for an asset placement that can agree on the predetermined play size. In this case, this predetermined play amount may be predetermined in advance. It will be appreciated that the presettings herein do not mean that there is only a fixed value. For example, a predetermined play amount per day may be set, a predetermined play amount per hour may be set, a predetermined play amount for users in different territories may be set, a predetermined play amount for users of different genres may be set, that is, the predetermined play amount may be related to a user characteristic, to time, or to a geographic location. However, regardless of the specific setting policy, the predetermined play amount has an upper limit beyond which the super-play is considered.
In another scenario, the predetermined play amount is not directly pre-agreed by the order contract, and it may be dynamically set by the computer system of the resource playing delivery subject through the application programming interface. At this time, the resource playing and delivering main body can dynamically monitor the statistical data of the resource playing, and dynamically adjust the preset playing amount according to different user feedback. In such a scenario, the content push system is required to open an application programming interface for the resource play delivery body to invoke.
According to the statistical result of the specific resource playing data, the actual playing amount of the resource changes smoothly as a whole, but different characteristics are presented at different time points, which shows that the actual playing amount of the resource is closely related to time. In addition, the actual playing amount of the resource is also related to the user characteristic information related to the resource to be played, and assuming that the predetermined playing amount of the resource to be played D1 and D2 is 1000, but the associated user characteristics are different, the actual playing amount curve growth of the resource is also different under the premise of not performing the super-playing control. In summary, if the play amount of a resource to be played is to be predicted according to the existing play data of the resource to be played, the time factor and the user feature information need to be considered at the same time.
And step S32, processing the acquired play data to obtain resource play feature vectors corresponding to a plurality of continuous time slices one by one.
The purpose of processing the obtained playing data is to build a neural network model, so that the resource playing amount in the future preset time can be predicted according to the resource playing data in the past period of time, and the super-playing control of the resource playing is further performed according to the prediction result. For the application scene of resource playing control, the playing quantity of 1 minute in the future can meet the accurate superplaying control requirement. That is, the goal is to predict the amount of resource play in the future one minute from the resource play data in the past period of time. Of course, 1 minute is only illustrative, and the actual time is not limited in any way.
For future scenarios based on past data, the LSTM model described above may be used to make the predictions described above. For the LSTM model, the input features meet the two-point requirement, the features are expressed by vectors, and the features are stacked based on time slicing to form stacked features which can be applied to the LSTM model.
As described above, to predict the play amount of a resource to be played in the future according to the existing play data of the resource to be played, it is necessary to consider both time factors and user feature information, and for the user feature information, there is no way to directly input category feature information such as version position, region classification, crowd label, media label, basic attribute, etc. into the LSTM model, and it is necessary to process the period into a vector first.
The version position refers to a location where a resource is played, the region classification refers to a geographical area of a user, the geographical area may be as fine as province, city, district, and even street, the crowd label refers to a crowd label of the user such as young and young, the media label refers to different application programs, and the basic attribute refers to gender, age, and the like of the user.
In One particular embodiment, the user's category characteristic information may be encoded, for example, using One-Hot (One-Hot) encoding, to convert discrete characteristic data into vectors. One-Hot maps the class feature to a vector according to the number of values, each bit in the vector representing whether the sample is to be input into the feature, e.g., gender, there are two values, male and female, then after encoding, male will be mapped to (0, 1) female will be mapped to (1, 0), and then, e.g., the media is divided into application a, application B, application C, and application D, then application a will be mapped to (1, 0). Similarly, the category characteristic data may be converted into a vector.
It is noted that if there are two class features, two vectors are obtained and if there are more class features, there will be more vectors. These vectors cannot be directly applied to the LSTM model and require an Embedding (Embedding) process to map multiple vectors into one multidimensional vector. Meanwhile, data for a predetermined play amount of a resource to be played and an actual play amount may also be mapped into the multidimensional vector.
For LSTM models, the input features are a three-dimensional matrix, which is organized by structure (batch size, time step, features). Specifically, the batch size refers to the number of time slices corresponding to the play data of a certain batch. And time slicing refers to the minimum time unit for carrying out resource playing data statistics. The time step refers to the number of time slices in which feature stacking is to be performed, which corresponds to a continuous period of time. The feature is a multidimensional vector obtained according to the above steps.
In a specific embodiment, the batch size is 10, the time step is 5, and the time slicing is 1 minute, that is, the input feature is constructed in such a way that the future 1 minute of resource playing amount is predicted by using the past 10 minutes of resource playing data. It will be appreciated that the batch size, the time step, and the length of the time slices are not limited to the exemplary values described above, and may be adjusted according to the circumstances.
Assuming that the existing 10-minute resource playing data, i.e. the 10-time-sliced resource playing data, is respectively marked as 1-10, if the time step is 5, stacking the feature vectors corresponding to the time slices of the sequence numbers 1, 2, 3, 4, 5 and 5, stacking the feature vectors corresponding to the time slices of the sequence numbers 2, 3, 4, 5, 6 and 7, stacking the feature vectors corresponding to the time slices of the sequence numbers 3, 4, 5, 6, 7 and 8, and so on until all the time slices are used. Assuming that the lot size is N and the time step is S, the number of stacked features actually obtained is N-S+1.
Referring to fig. 4, after the play data is processed according to the above manner, the input features of the LSTM model may be obtained.
Step S33, obtaining the predicted play quantity according to the resource play feature vectors corresponding to the continuous time slices one by one.
Firstly, the LSTM model is trained by using the existing resource playing data, that is to say, training samples are constructed according to the existing resource playing data, and the actual playing quantity is used for carrying out verification models until the LSTM model is converged.
After training of the model is completed, playing data in the last period of time is taken to construct a batch of input features, and the trained model is input to obtain the predicted playing quantity. For example, the asset play data within the first 10 minutes from the current time is used to predict the predetermined play amount of the asset within 1 minute in the future.
And step S34, performing super-broadcasting control according to the obtained predicted playing quantity.
In a specific embodiment, the above-mentioned supercast control includes the following steps: judging whether the current played quantity plus the predicted played quantity is larger than or equal to the preset played quantity, if yes, suspending the playing and displaying of the resources to be played, and if not, continuing the playing and displaying of the resources to be played.
In a specific embodiment, for the resources that are paused, the return to the media client is stopped directly, that is, the resources that are about to be super-played are paused.
In another specific embodiment, the main body for performing the supercast control is different from the main body for finally returning the resource to the media client 20, and at this time, a stop flag for indicating to stop playing and displaying may be directly contracted to the resource to be played or the corresponding order, and the stop flag may be stored in a database or a cache system, so that the main body call for returning the resource to the media client 20 is conveniently performed.
According to the content pushing method provided by the embodiment, the discrete category feature codes are embedded and converted into vectors, and the LSTM model is further used for predicting the future actual play quantity, so that the superplaying of advertisement resources can be avoided. As shown in fig. 5, which shows a comparison of the front and rear of the method of the present embodiment, the method of the present embodiment is not used on the left side, and it can be seen that there is a significant phenomenon of superbroadcasting, and the phenomenon of superbroadcasting is substantially eliminated after the method of the present embodiment is used.
Referring to fig. 6, a schematic diagram of a network structure of an LSTM model according to an exemplary embodiment of the present application is shown. As shown in fig. 6, the LSTM model includes: a data input layer 101, an encoding layer 102, an embedding layer 103, and a stacking layer 104.
The data input layer 101 is configured to obtain input data features, including category features and numerical features.
The category features refer to discrete tag class features, such as version position, region classification, crowd tags, media tags and basic attributes of advertisements.
Typically in an application's interface, one or more locations may be included where advertisements may be placed, with an advertisement slot referring to the number of the location.
The region classification refers to, for example, a province, a city, or even a region or street of a fine city where the user is located.
The crowd label refers to, for example, a man, a woman, a married person, a non-married person, and the like.
Media tags refer to, for example, different distribution media, such as different applications, etc.
The basic attribute refers to any other feature.
The non-category characteristics (numerical characteristics) may include, for example, a predetermined amount, a play amount.
The encoding layer 102 is configured to specifically encode the category provided by the data input layer 101, for example, by using One-Hot (One-Hot) encoding, and convert the discrete feature data into a vector. One-Hot maps the class feature to a vector according to the number of values, each bit in the vector representing whether the sample is to be input into the feature, e.g., gender, there are two values, male and female, then after encoding, male will be mapped to (0, 1) female will be mapped to (1, 0), and then, e.g., the media is divided into application a, application B, application C, and application D, then application a will be mapped to (1, 0).
The embedding layer 103 is configured to provide the vector output from the encoding layer 102 and the data input layer 101 with a numerical feature mapped into a vector of a specified dimension. For example, it may be mapped into a 16-dimensional vector.
The output of the embedded layer 103 may be input to the stack layer 104 for input feature stacking to obtain a training sample.
LSTM belongs to a cyclic neural network (Recurrent Neural Network, RNN) model, requiring that the samples be structured as a three-dimensional matrix of (lot size, time step, feature) dimensions, i.e. feature stack, where the lot size is the size of a lot of features, i.e. features at order, orientation, play level.
The construction method is such that there are 10 time slices, the time step is 5, then the data of 1,2,3,4,5 time slices are combined together, 2,3,4,5,6 are combined together, 3,4,5,6,7 are combined together, and so on. The duration of the time slice may be, for example, 1 second, 5 seconds, 10 seconds, 20 seconds, 30 seconds, 1 minute, or more.
Referring to FIG. 7, a schematic diagram of an LSTM model according to an exemplary embodiment of the present application is provided, wherein the LSTM neural network model structure comprises a plurality of memory blocks, each memory block comprises a forgetting gate f t Input gate i t Output door O t A memory cell C t . The horizontal line represents the Cell State (Cell State)
The LSTM neural network model includes a four-layer structure, and specifically includes a first neural network layer 105, a second neural network layer 106, a third neural network layer 107, and a fourth neural network layer 108. Wherein the first neural network layer 105, the second neural network layer 106, and the fourth neural network layer 107 are sigmoid neural network layers, and the third neural network layer 108 is a tanh neural network layer.
The reason for the "memory" of LSTM neural networks is that there is a connection of the networks between different "time points", rather than a feed-forward or feedback of the networks at a single time point, i.e. there is an arrow between hidden layers connecting, where the arrow represents a jump connection between neural units in a time step sequence.
The LSTM first step is to decide what information can pass through the cell state. This decision is made by forgetting the door f t The layers are controlled by a first neural network layer 105, which will be based on the output h from the previous time t-1 And current input x t To generate an f of 0 to 1 t Value to determine whether to let the last learned information C t-1 Pass through or partially pass through. The following are provided:
f t =σ(W f ·[h t-1 ,x t ]+b f )
The LSTM second step is to generate new information that needs to be updated. This step comprises two parts, first input gate i t The second neural network layer 106 determines which values to update, followed by the third neural network layer 107 to generate new candidate values that may be added to the cell state as candidates generated by the current layer. The values generated by the two parts can be combined for updating.
i t =σ(W i ·[h t-1 ,x t ]+b i )
The cell state is then updated by first multiplying the old cell state by f t To forget unnecessary information and then to communicate withAdding to obtain a candidateValues.
The final step is to determine the output of the model, first, obtain an initial output through the fourth neural network layer 108, then scale the Ct value to between-1 and 1 using the third neural network layer 107, and multiply the Ct value pair by pair with the output obtained by the fourth neural network layer 108, thereby obtaining the output of the model.
o t =σ(W o [h t-1 ,x t ]+b o )
h t =o t *tanh(C t )
Referring to fig. 8, a flowchart of a training method of an LSTM model according to an exemplary embodiment of the present application is provided, where the training method includes the following steps:
step S101, recording resource playing data.
In the resource playing control system shown in fig. 1, after the resource to be played is returned to the media client 20, the playing data of the resource can be recorded. The play data of the asset may be stored in a database system.
In a specific embodiment, the resource playing data may include: category characteristic information and numerical data. Wherein the category characteristic information is a label for describing the user classification attribute, and the value range of the category characteristic information is one of a plurality of options. For example, taking the user gender as an example, it may be one of several options: male, female, not detailed, in addition to this, the user's gender may not have other options for this user feature. Of course, the number of options here is only illustrative, and the gender may also include different definitions, but in either case the likelihood of the options is determined. Taking the geographical location of the user as an example, if the user is subdivided into provinces of the user, for Chinese users, the possible value options are only 30 or more. Similarly, the option can only be to take one or more user characteristics from a fixed list of options to define the category characteristics information.
In contrast, other resources play data, such as a predetermined play amount, an actual play amount, the meeting range of which may be continuously distributed, and this type of data is defined as numerical data of the above art.
In one embodiment, the recording the asset playing data includes adding an asset playing record in the database, and the asset playing record may include an identifier of the played asset and the asset playing data.
Step S102, processing the recorded resource playing data into feature vectors.
As described above, to predict the play amount of a resource to be played in the future according to the existing play data of the resource to be played, the time factor and the user feature information need to be considered at the same time, and the value of the category feature information in the user feature is discrete, and no way is available to directly use as a vector.
In One particular embodiment, the user's category characteristic information may be encoded, for example, using One-Hot (One-Hot) encoding, to convert discrete characteristic data into vectors. One-Hot maps the class feature to a vector according to the number of values, each bit in the vector representing whether the sample is to be input into the feature, e.g., gender, there are two values, male and female, then after encoding, male will be mapped to (0, 1) female will be mapped to (1, 0), and then, e.g., the media is divided into application a, application B, application C, and application D, then application a will be mapped to (1, 0). Similarly, the category characteristic data may be converted into a vector.
It is noted that if there are two class features, two vectors are obtained and if there are more class features, there will be more vectors. These vectors cannot be directly applied to the LSTM model and require an Embedding (Embedding) process to map multiple vectors into one multidimensional vector. Meanwhile, data for a predetermined play amount of a resource to be played and an actual play amount may also be mapped into the multidimensional vector.
Step S103, stacking the processed feature vectors through time steps to obtain training samples.
For LSTM models, the input features are a three-dimensional matrix, which is organized by structure (batch size, time step, features). Specifically, the batch size refers to the number of time slices corresponding to the resource playing data of a certain batch. And time slicing refers to the minimum time unit for carrying out resource playing data statistics. The time step refers to the number of time slices in which feature stacking is to be performed, which corresponds to a continuous period of time. The feature is a multidimensional vector obtained according to the above steps.
In a specific embodiment, the batch size is 10, the time step is 5, and the time slicing is 1 minute, that is, the input feature is constructed in such a way that the future 1 minute of resource playing amount is predicted by using the past 10 minutes of resource playing data. It will be appreciated that the batch size, the time step, and the length of the time slices are not limited to the exemplary values described above, and may be adjusted according to the circumstances.
Assuming that the existing 10-minute resource playing data, i.e. the 10-time-sliced resource playing data, is respectively marked as 1-10, if the time step is 5, stacking the feature vectors corresponding to the time slices of the sequence numbers 1, 2, 3, 4, 5 and 5, stacking the feature vectors corresponding to the time slices of the sequence numbers 2, 3, 4, 5, 6 and 7, stacking the feature vectors corresponding to the time slices of the sequence numbers 3, 4, 5, 6, 7 and 8, and so on until all the time slices are used. Assuming that the lot size is N and the time step is S, the number of stacked features actually obtained is N-S+1.
Referring to fig. 4, a schematic structural diagram of an LSTM model training sample obtained according to the above feature stacking manner is shown.
Step S104, training the LSTM model by using the stacked training samples.
In a specific embodiment, the output parameter of the LSTM model may be set to a vector of 1*1, i.e. a value, which means an estimated future play amount.
In a specific embodiment, the square of the difference between the estimated play amount and the actual play amount is used as a parameter for model bias (loss) evaluation.
In a specific embodiment, the model training is performed using a gradient descent method.
It will be understood that, in the training process of the neural network model, the process of searching for the optimized model parameters is essentially the process of searching for the optimized model parameters, where the definition of the optimized model parameters refers to making the difference between the predicted result and the actual value of the model smaller than the specified range, that is, the square value of the difference between the predicted play amount and the actual play amount is smaller than the specified range. Meeting this condition is considered as successful convergence of the model and successful training.
The model which is trained can be used for making prediction, the predicted data is processed according to the same steps as training, the model is input, the model can output the predicted play quantity in the future, and the stop mark is sent if the current play quantity is larger than the maximum playable quantity per day by judging the current play quantity and the predicted play quantity, otherwise, the play is continued. It can be understood that after sending the stop mark, it means that the corresponding resource to be played will be marked as blocked and will not be played any more.
Referring to fig. 9, an exemplary embodiment of the present application provides a content pushing method, which is similar to the method shown in fig. 3, except that step S34 includes:
step S341, obtaining a corresponding play probability value according to the predicted play quantity.
As described above, during the recall of a asset, a request may recall a large number of matching assets to be played, at which point one or more assets to be played need to be retrieved from the matching assets and returned to the media client 20.
In one particular embodiment, a random function may be employed to determine which resources to play may be left. For example, a probability value (Rate), e.g., 0.5, may be given to each resource to be played, and a random number may be generated for each resource to be played by using a random function whose value is subject to an even distribution of 0-1, or the random number is greater than the Rate value, so that the resource to be played is left, otherwise the resource to be played is not displayed at this time. Therefore, by adjusting the rate value of each resource to be played, the probability that the resource to be played is displayed and played can be controlled.
In a specific embodiment, the above-mentioned play-out profile value is positively correlated with the difference between the predicted play-out amount and the actual play-out amount, that is, the larger the difference is, the larger the play-out probability value is, and a definite functional relationship may be formed between the play-out probability value R and the difference, that is, r=f (d), where R represents the play-out probability value of the resource to be played out, and d represents the difference between the predicted play-out amount and the actual play-out amount. Of course, the positive correlation between the play probability value R and the difference is not limited to constitute a functional relationship. For example, a simple mapping table may be used to directly give different probability value coefficients according to different intervals of the difference value, and the final playing probability value R needs to be multiplied by the probability value coefficient when calculating.
In step S342, the filtering of the resources is controlled using the play probability value.
For each recalled asset, the play probability value described above may be used to control whether or not play is performed. Specifically, a random function with value obeying 0-1 uniform distribution is adopted to generate a random number for each resource to be played, or if the random number is larger than the playing probability value, the resource to be played is left, otherwise, the resource to be played is not displayed at the time.
It will be appreciated that, due to the positive correlation of the difference between the predicted and actual play amounts, when the difference is large, i.e. the predetermined play schedule is not completed in a large proportion, the resource to be played has a higher play probability, which can increase the play speed of the resource to be played, and when the difference is small, i.e. the predetermined play schedule is substantially completed, the resource to be played has a smaller play probability, which will decrease the play speed, so that the overall play gradually approaches the predetermined play amount at a relatively slow speed, which can further decrease the probability of superplaying.
Referring to fig. 10, an exemplary embodiment of the present application provides a content pushing method, which is similar to the method shown in fig. 3, except that after step S34, further includes:
Step S35, quantitatively supplementing and playing according to whether the actual playing amount of the resource to be played is larger than or equal to the preset playing amount after waiting for the preset time.
In the above-described embodiments, whether to stop playing of a certain resource is determined according to the predicted play amount, specifically, when it is determined that the actual play amount has been subjected to overseeding, the playing of the resource is stopped. In an actual application scenario, there is still a probability that the actual play amount of the resource still does not reach the predetermined play amount, which may be regarded as a default.
The predetermined time is not particularly limited as long as it is greater than the time from when the stop instruction is issued to when the instruction is fully validated, and the designated resource is fully stopped from playing. In a specific embodiment, the predetermined time may be, for example, 1 minute. That is, after 1 minute from the power failure flag is set, the supplementary playback can be performed according to whether the actual playback is equal to the predetermined playback amount.
It is assumed that a certain specific play resource is to be subjected to complementary play, and the complementary play amount thereof is a predetermined play amount minus an actual play amount. For the resources of the supplementary playing, a supplementary playing resource library can be separately set, and each resource to be played stores the quantity required to be supplementary played. In the resource playing control system shown in fig. 1, the resources of the complementary playing resource library can be preferentially matched, so that the resource releasing contract in a certain time period can be completed in advance.
According to the content pushing method provided by the embodiment, after the stop sign is sent, quantitative supplementary playing is performed according to whether the actual playing amount of the resource to be played is larger than or equal to the preset playing amount, so that the resource to be played is controlled not to be super-played, the actual playing amount is enabled to be accurately equal to the actual playing amount, and the working efficiency of the content pushing system is improved.
In a specific embodiment, the media client 20 includes a video playing application, and when the user operates the video playing application, the loading action of the video advertisement can be triggered to be performed by the terminal of the media client 20 at one or more interfaces. For example, when the user clicks to play a video desired to be seen in the video playing application program, a loading action of the video advertisement on the trigger is triggered. That is, the media client 20 will send a video advertisement acquisition request to the resource server 10.
Upon receiving the video advertisement acquisition request, the resource server 10 recalls all video advertisements from the video advertisement library that match the current user characteristics. For recall video advertisements, sorting, filtering, etc. may be performed to ultimately obtain a specified number of video advertisements, which are then sent to the media client 20. After receiving the video advertisement returned from the asset server 10, the media client 20 may play the video advertisement in the interface of the video playing application. Referring to fig. 11, a block diagram of a content pushing apparatus according to an exemplary embodiment of the present application is shown. The device comprises:
The resource obtaining module 110 is configured to obtain, in response to the received resource obtaining request, a matched resource to be played, where the resource to be played has a corresponding predetermined play amount.
In a specific embodiment, the resource refers to an advertisement, and the advertisement may be text, picture, video, animation, or other various modes.
In a resource playback control system there are several participants: a resource playing service provider, a resource playing service delivery main body and a user. The resource playing service provider provides services for the user and the resource playing service delivery main body through the resource playing control system. Taking an advertisement system as an example, the resource playing service delivery main body is an advertiser, and when the advertiser needs to deliver advertisements, the advertiser can make contract orders with the advertisement resource provider, and specify the advertisements, expected playing amounts, time limit, targeting conditions and the like which need to be delivered in the contract orders.
The targeting condition refers to an advertisement delivery object specified by an advertiser, and specifically may include any one of the following targeting conditions or a combination of multiple targeting conditions:
(1) Region orientation: for example, many advertisers have regional characteristics of their business;
(2) Population attribute orientation: mainly including age, sex, education level, income level, etc.;
(3) Channel orientation: the method is suitable for vertical media which are relatively close to the conversion requirement, such as automobiles, babies and mothers, and the like, and has a narrower coverage;
(4) Context orientation: matching relevant advertisements according to specific content (e.g., keywords, topics, etc.) of the web page;
(5) Behavior orientation: knowing the interests of the user according to the historical access behaviors of the user, thereby putting advertisements;
(6) Precise position orientation: advertising based on precise geographic location is performed based on terminal device information such as global positioning system (Global Positioning System, GPS) location information, internet protocol (Internet Protocol, IP) addresses, etc.
The play data obtaining module 120 is configured to obtain play data within a predetermined period of time of the resource to be played.
In the content pushing system shown in fig. 1, each resource playing operation of the media client 20 may also be recorded, and specifically, a presentation playing time of a certain resource to be played in the media client 20 and corresponding user characteristic information may be recorded. These play data may be stored in a database to facilitate query use. In the method provided in this embodiment, whether a phenomenon that a certain resource to be played will be superbroadcast in a predetermined time range in the future may be predicted based on the play data, and whether the resource to be played needs to be continuously pushed to the media client may be controlled based on the prediction result.
The super-broadcasting refers to the phenomenon that the display playing amount of a certain resource to be played exceeds a preset playing amount. This predetermined play amount is already preset or dynamically acquired. In general, the assets to be played are associated with an order contract for an asset placement that can agree on the predetermined play size. In this case, this predetermined play amount may be predetermined in advance. It will be appreciated that the presettings herein do not mean that there is only a fixed value. For example, a predetermined play amount per day may be set, a predetermined play amount per hour may be set, a predetermined play amount for users in different territories may be set, a predetermined play amount for users of different genres may be set, that is, the predetermined play amount may be related to a user characteristic, to time, or to a geographic location. However, regardless of the specific setting policy, the predetermined play amount has an upper limit beyond which the super-play is considered.
In another scenario, the predetermined play amount is not directly pre-agreed by the order contract, and it may be dynamically set by the computer system of the resource playing delivery subject through the application programming interface. At this time, the resource playing and delivering main body can dynamically monitor the statistical data of the resource playing, and dynamically adjust the preset playing amount according to different user feedback. In such a scenario, the content push system is required to open an application programming interface for the resource play delivery body to invoke.
According to the statistical result of the specific resource playing data, the actual playing amount of the resource changes smoothly as a whole, but different characteristics are presented at different time points, which shows that the actual playing amount of the resource is closely related to time. In addition, the actual playing amount of the resource is also related to the user characteristic information related to the resource to be played, and assuming that the predetermined playing amount of the resource to be played D1 and D2 is 1000, but the associated user characteristics are different, the actual playing amount curve growth of the resource is also different under the premise of not performing the super-playing control. In summary, if the play amount of a resource to be played is to be predicted according to the existing play data of the resource to be played, the time factor and the user feature information need to be considered at the same time.
The feature extraction module 130 is configured to process the play data to obtain a resource play feature vector corresponding to a plurality of consecutive time slices one by one.
As described above, to predict the play amount of a resource to be played in the future according to the existing play data of the resource to be played, it is necessary to consider both time factors and user feature information, and for the user feature information, there is no way to directly input category feature information such as version position, region classification, crowd label, media label, basic attribute, etc. into the LSTM model, and it is necessary to process the period into a vector first.
The version position refers to a location where a resource is played, the region classification refers to a geographical area of a user, the geographical area may be as fine as province, city, district, and even street, the crowd label refers to a crowd label of the user such as young and young, the media label refers to different application programs, and the basic attribute refers to gender, age, and the like of the user.
In One particular embodiment, the user's category characteristic information may be encoded, for example, using One-Hot (One-Hot) encoding, to convert discrete characteristic data into vectors. One-Hot maps the class feature to a vector according to the number of values, each bit in the vector representing whether the sample is to be input into the feature, e.g., gender, there are two values, male and female, then after encoding, male will be mapped to (0, 1) female will be mapped to (1, 0), and then, e.g., the media is divided into application a, application B, application C, and application D, then application a will be mapped to (1, 0). Similarly, the category characteristic data may be converted into a vector.
It is noted that if there are two class features, two vectors are obtained and if there are more class features, there will be more vectors. These vectors cannot be directly applied to the LSTM model and require an Embedding (Embedding) process to map multiple vectors into one multidimensional vector. Meanwhile, data for a predetermined play amount of a resource to be played and an actual play amount may also be mapped into the multidimensional vector.
For LSTM models, the input features are a three-dimensional matrix, which is organized by structure (batch size, time step, features). Specifically, the batch size refers to the number of time slices corresponding to the play data of a certain batch. And time slicing refers to the minimum time unit for carrying out resource playing data statistics. The time step refers to the number of time slices in which feature stacking is to be performed, which corresponds to a continuous period of time. The feature is a multidimensional vector obtained according to the above steps.
In a specific embodiment, the batch size is 10, the time step is 5, and the time slicing is 1 minute, that is, the input feature is constructed in such a way that the future 1 minute of resource playing amount is predicted by using the past 10 minutes of resource playing data. It will be appreciated that the batch size, the time step, and the length of the time slices are not limited to the exemplary values described above, and may be adjusted according to the circumstances.
Assuming that the existing 10-minute resource playing data, i.e. the 10-time-sliced resource playing data, is respectively marked as 1-10, if the time step is 5, stacking the feature vectors corresponding to the time slices of the sequence numbers 1, 2, 3, 4, 5 and 5, stacking the feature vectors corresponding to the time slices of the sequence numbers 2, 3, 4, 5, 6 and 7, stacking the feature vectors corresponding to the time slices of the sequence numbers 3, 4, 5, 6, 7 and 8, and so on until all the time slices are used. Assuming that the lot size is N and the time step is S, the number of stacked features actually obtained is N-S+1.
Referring to fig. 4, after the play data is processed according to the above manner, the input features of the LSTM model may be obtained.
The prediction module 140 is configured to determine a predicted play amount of the resource to be played in a predetermined time in the future based on the resource play feature vector.
Firstly, the LSTM model is trained by using the existing resource playing data, that is to say, training samples are constructed according to the existing resource playing data, and the actual playing quantity is used for carrying out verification models until the LSTM model is converged.
After training of the model is completed, playing data in the last period of time is taken to construct a batch of input features, and the trained model is input to obtain the predicted playing quantity. For example, the asset play data within the first 10 minutes from the current time is used to predict the predetermined play amount of the asset within 1 minute in the future.
The superbroadcast control module 150 is configured to stop playing the resource to be played if the sum of the played amount of the resource to be played and the predicted play amount is greater than or equal to the predetermined play amount.
In a specific embodiment, the above-mentioned supercast control includes the following steps: and S6, judging whether the current played quantity plus the predicted played quantity is larger than or equal to the preset played quantity, if so, executing the step S7 to pause the play display of the resource to be played, and if not, continuing the play display of the resource to be played without executing additional operations.
In a specific embodiment, for the resources that are paused, the return to the media client is stopped directly, that is, the resources that are about to be super-played are paused.
In another specific embodiment, the main body for performing the supercast control is different from the main body for finally returning the resource to the media client 20, and at this time, a stop flag for indicating to stop playing and displaying may be directly contracted to the resource to be played or the corresponding order, and the stop flag may be stored in a database or a cache system, so that the main body call for returning the resource to the media client 20 is conveniently performed.
According to the content pushing device provided by the embodiment, the discrete category feature codes are embedded and converted into vectors, and the LSTM model is further used for predicting the future actual play quantity, so that the superplaying of advertisement resources can be avoided. As shown in fig. 6, which shows a comparison of the front and rear of the method of the present example, the method of the present embodiment is not used on the left side, and it can be seen that the phenomenon of superbroadcasting is obvious, but the phenomenon of superbroadcasting is substantially eliminated after the method of the present actual speech example is used.
In a specific embodiment, the content pushing device further obtains a corresponding play probability value according to the predicted play amount, and further controls the play of the resource to be played according to the play probability value.
In a specific embodiment, the above-mentioned play-out profile value is positively correlated with the difference between the predicted play-out amount and the actual play-out amount, that is, the larger the difference is, the larger the play-out probability value is, and a definite functional relationship may be formed between the play-out probability value R and the difference, that is, r=f (d), where R represents the play-out probability value of the resource to be played out, and d represents the difference between the predicted play-out amount and the actual play-out amount. Of course, the positive correlation between the play probability value R and the difference is not limited to constitute a functional relationship. For example, a simple mapping table may be used to directly give different probability value coefficients according to different intervals of the difference value, and the final playing probability value R needs to be multiplied by the probability value coefficient when calculating.
It will be appreciated that, due to the positive correlation of the difference between the predicted and actual play amounts, when the difference is large, i.e. the predetermined play schedule is not completed in a large proportion, the resource to be played has a higher play probability, which can increase the play speed of the resource to be played, and when the difference is small, i.e. the predetermined play schedule is substantially completed, the resource to be played has a smaller play probability, which will decrease the play speed, so that the overall play gradually approaches the predetermined play amount at a relatively slow speed, which can further decrease the probability of superplaying.
In a specific embodiment, the content pushing device further performs the quantitative supplemental playback after waiting for a predetermined time according to whether the actual playback amount of the resource to be played is greater than or equal to the predetermined playback amount. After the stop sign is sent, quantitative supplementary playing is carried out according to whether the actual playing amount of the resource to be played is larger than or equal to the preset playing amount, so that the resource to be played is controlled not to be overseeded, the actual playing amount is enabled to be accurate and equal to the actual playing amount, and the working efficiency of the content pushing system is improved.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting thereof; although the present application has been described in detail with reference to the foregoing embodiments, one of ordinary skill in the art will appreciate that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not drive the essence of the corresponding technical solutions to depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (13)

1. A content pushing method, comprising:
responding to the received resource acquisition request, acquiring matched resources to be played, wherein the resources to be played have corresponding preset play quantity;
Acquiring play data of the resource to be played in a preset time period, wherein the play data comprises play amounts of each time slice in N time slices of the resource to be played in the preset time period, and N is a positive integer greater than 1;
processing the play data to obtain resource play feature vectors corresponding to N continuous time slices one by one;
determining the predicted play quantity of the resource to be played in a future preset time based on the resource play feature vector;
stopping playing the resource to be played if the sum of the played amount of the resource to be played and the predicted played amount is greater than or equal to the preset played amount;
the processing the play data to obtain resource play feature vectors corresponding to N continuous time slices one by one comprises the following steps:
acquiring user characteristic information associated with the resources to be played, and encoding the user characteristic information associated with the resources to be played to obtain a first vector;
based on the play amount of the resource to be played in each time slice in the preset time period, respectively combining the play amount of the resource to be played with the preset play amount of the resource to be played to obtain a numerical characteristic corresponding to each time slice;
combining the first vector with the numerical characteristics corresponding to each time slice to obtain a resource playing characteristic vector corresponding to each time slice;
The determining the predicted play amount of the resource to be played in the future preset time based on the resource play feature vector comprises the following steps:
stacking the resource playing feature vectors corresponding to any continuous S time slices in the N time slices according to a designated time step S to obtain N-S+1 stacked features; wherein S is a positive integer less than N;
generating a three-dimensional matrix according to each stacked feature of the N-S+1 stacked features, the time step S and the batch size, wherein the batch size is the number of time slices in a preset time period corresponding to the play data;
and taking the three-dimensional matrix as an input characteristic, inputting a trained long-short-period memory network model, and outputting the predicted play quantity of the resource to be played in a future preset time by the trained long-short-period memory network model, wherein the future preset time is the next time slicing of the preset time period.
2. The content pushing method as recited in claim 1, wherein encoding the user characteristic information associated with the resource to be played, to obtain the first vector comprises:
and encoding the user characteristic information associated with the resource to be played by utilizing the single-hot encoding to obtain a first vector.
3. The content pushing method as claimed in claim 1, wherein said determining a predicted play amount of the resource to be played in a predetermined time in the future based on the resource play feature vector comprises:
stacking a plurality of continuous time slices into one-to-one corresponding resource play feature vectors according to a designated time step to form input features; and
inputting the input characteristics into a pre-trained long-short term memory network model to obtain the predicted play quantity.
4. The content pushing method as claimed in claim 1, wherein stopping playing the resource to be played comprises: and marking the resources to be played as blocking states.
5. The content pushing method according to any one of claims 1 to 4, wherein the method further comprises:
recording the play record of the resource to be played and the corresponding characteristic data;
processing the feature data into training samples based on a time series;
and training by using the training sample to obtain a long-term and short-term memory network model.
6. The content pushing method as claimed in claim 5, wherein the training with the training sample to obtain the long-term memory network model comprises:
and training by using the training sample by adopting a gradient descent method to obtain the long-term and short-term memory network model.
7. The content pushing method as claimed in claim 6, wherein the training using the training sample to obtain the long-term and short-term memory network model by using the gradient descent method comprises:
and evaluating the long-period memory network model by utilizing the square of the difference between the estimated playing amount output by the long-period memory network model and the actual playing amount corresponding to the training sample.
8. The content pushing method as claimed in claim 1, wherein the resources to be played are plural, the method further comprising:
aiming at the resources to be played, the sum of the corresponding played quantity and the corresponding predicted played quantity of which does not exceed the corresponding preset played quantity, acquiring a play probability value of the resources to be played according to the predicted played quantity of the resources to be played;
and sending the resource to be played, the playing probability value of which is not greater than the random number generated for the resource to be played, to the media client so as to play the sent resource to be played at the media client, and not sending the resource to be played, the playing probability value of which is greater than the random number generated for the resource to be played, to the media client.
9. The content pushing method as claimed in claim 8, wherein the obtaining a play probability value of the resource to be played according to the predicted play amount of the resource to be played comprises:
Obtaining a difference value between the predicted playing quantity and the actual playing quantity of the resource to be played; and
and obtaining a probability value positively correlated with the difference value as the playing probability value according to the difference value.
10. The content pushing method as claimed in claim 1, wherein after said stopping playing the resource to be played for a predetermined time, the method further comprises:
acquiring the actual play quantity of the resource to be played;
and if the actual playing amount is smaller than the preset playing amount, playing the resource to be played after receiving the matched user request until the actual playing amount is equal to the preset playing amount.
11. A content pushing apparatus, comprising:
the resource acquisition module is used for responding to the received resource acquisition request and acquiring matched resources to be played, wherein the resources to be played have corresponding preset play quantity;
the playing data acquisition module is used for acquiring playing data of the resource to be played in a preset time period, wherein the playing data comprises the playing amount of each time slice in N time slices of the resource to be played in the preset time period, and N is a positive integer greater than 1;
the feature extraction module is used for processing the play data to obtain resource play feature vectors which are in one-to-one correspondence with the N continuous time slices;
The prediction module is used for determining the predicted play quantity of the resource to be played in the future preset time based on the resource play feature vector;
the super-broadcast control module is used for stopping playing the resource to be played if the sum of the played quantity of the resource to be played and the predicted played quantity is larger than or equal to the preset played quantity;
the feature extraction module is further used for acquiring user feature information associated with the resources to be played; encoding the user characteristic information associated with the resource to be played to obtain a first vector; based on the play amount of the resource to be played in each time slice in the preset time period, respectively combining the play amount of the resource to be played with the preset play amount of the resource to be played to obtain a numerical characteristic corresponding to each time slice; combining the first vector with the numerical characteristics corresponding to each time slice to obtain a resource playing characteristic vector corresponding to each time slice;
the prediction module is further configured to stack resource play feature vectors corresponding to any continuous S time slices in the N time slices according to a specified time step S, so as to obtain N-s+1 stacked features; wherein S is a positive integer less than N; generating a three-dimensional matrix according to each stacked feature of the N-S+1 stacked features, the time step S and the batch size, wherein the batch size is the number of time slices in a preset time period corresponding to the play data; and taking the three-dimensional matrix as an input characteristic, inputting a trained long-short-period memory network model, and outputting the predicted play quantity of the resource to be played in a future preset time by the trained long-short-period memory network model, wherein the future preset time is the next time slicing of the preset time period.
12. A server, comprising:
one or more processors;
a memory;
one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, the one or more applications configured to perform the method of any of claims 1-10.
13. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a program code, which is callable by a processor for executing the method according to any one of claims 1-10.
CN202011133680.6A 2020-10-21 2020-10-21 Content pushing method and device and computer storage medium Active CN113538030B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011133680.6A CN113538030B (en) 2020-10-21 2020-10-21 Content pushing method and device and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011133680.6A CN113538030B (en) 2020-10-21 2020-10-21 Content pushing method and device and computer storage medium

Publications (2)

Publication Number Publication Date
CN113538030A CN113538030A (en) 2021-10-22
CN113538030B true CN113538030B (en) 2024-03-26

Family

ID=78094471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011133680.6A Active CN113538030B (en) 2020-10-21 2020-10-21 Content pushing method and device and computer storage medium

Country Status (1)

Country Link
CN (1) CN113538030B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989889A (en) * 2018-08-09 2018-12-11 北京奇艺世纪科技有限公司 A kind of video playing amount prediction technique, device and electronic equipment
CN109492679A (en) * 2018-10-24 2019-03-19 杭州电子科技大学 Based on attention mechanism and the character recognition method for being coupled chronological classification loss
CN109670623A (en) * 2017-10-16 2019-04-23 优酷网络技术(北京)有限公司 Neural net prediction method and device
CN110544134A (en) * 2019-09-09 2019-12-06 腾讯科技(深圳)有限公司 resource processing method and device and computer storage medium
CN110599250A (en) * 2019-09-09 2019-12-20 腾讯科技(深圳)有限公司 Resource playing control method and device and computer storage medium
CN111314747A (en) * 2020-01-20 2020-06-19 腾讯科技(深圳)有限公司 Resource off-air control method, device, equipment and storage medium
CN111428789A (en) * 2020-03-25 2020-07-17 广东技术师范大学 Network traffic anomaly detection method based on deep learning
CN111476223A (en) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 Method and device for evaluating interaction event
CN111565316A (en) * 2020-07-15 2020-08-21 腾讯科技(深圳)有限公司 Video processing method, video processing device, computer equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612643B2 (en) * 2007-06-30 2013-12-17 Microsoft Corporation Interfaces for digital media processing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670623A (en) * 2017-10-16 2019-04-23 优酷网络技术(北京)有限公司 Neural net prediction method and device
CN108989889A (en) * 2018-08-09 2018-12-11 北京奇艺世纪科技有限公司 A kind of video playing amount prediction technique, device and electronic equipment
CN109492679A (en) * 2018-10-24 2019-03-19 杭州电子科技大学 Based on attention mechanism and the character recognition method for being coupled chronological classification loss
CN110544134A (en) * 2019-09-09 2019-12-06 腾讯科技(深圳)有限公司 resource processing method and device and computer storage medium
CN110599250A (en) * 2019-09-09 2019-12-20 腾讯科技(深圳)有限公司 Resource playing control method and device and computer storage medium
CN111314747A (en) * 2020-01-20 2020-06-19 腾讯科技(深圳)有限公司 Resource off-air control method, device, equipment and storage medium
CN111428789A (en) * 2020-03-25 2020-07-17 广东技术师范大学 Network traffic anomaly detection method based on deep learning
CN111476223A (en) * 2020-06-24 2020-07-31 支付宝(杭州)信息技术有限公司 Method and device for evaluating interaction event
CN111565316A (en) * 2020-07-15 2020-08-21 腾讯科技(深圳)有限公司 Video processing method, video processing device, computer equipment and storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Predicting Popularity of Online Videos Using Support Vector Regression;Tomasz Trzciński 等;《IEEE Transactions on Multimedia》;20170418;第19卷(第11期);第2561-2570页 *
基于LSTM-Att方法的音乐流行趋势预测;王振业 等;《计算机技术与发展》;20200930;第30卷(第9期);第188-193页 *
基于神经网络的视频网站自制节目播放量的预测建模;李鉴桥 等;《中国传媒大学学报(自然科学版)》;20171231;第24卷(第6期);第26-31, 15页 *

Also Published As

Publication number Publication date
CN113538030A (en) 2021-10-22

Similar Documents

Publication Publication Date Title
CN111538912B (en) Content recommendation method, device, equipment and readable storage medium
US11409717B1 (en) Overspend control in a messaging platform
CN110781321B (en) Multimedia content recommendation method and device
US11288702B1 (en) Exploration in a real time messaging platform
WO2020228514A1 (en) Content recommendation method and apparatus, and device and storage medium
WO2023061087A1 (en) Information recommendation method and apparatus, and electronic device, computer-readable storage medium and computer program product
US9892431B1 (en) Temporal features in a messaging platform
CN111444428A (en) Information recommendation method and device based on artificial intelligence, electronic equipment and storage medium
CN110941764A (en) Object recommendation method and device, computer equipment and storage medium
US10769677B1 (en) Temporal features in a messaging platform
CN111339404A (en) Content popularity prediction method and device based on artificial intelligence and computer equipment
CN111382361A (en) Information pushing method and device, storage medium and computer equipment
CN113742567B (en) Recommendation method and device for multimedia resources, electronic equipment and storage medium
CN111667024B (en) Content pushing method, device, computer equipment and storage medium
CN113034168A (en) Content item delivery method and device, computer equipment and storage medium
CN116628345B (en) Content recommendation method and device, electronic equipment and storage medium
CN115730125A (en) Object identification method and device, computer equipment and storage medium
US20230316106A1 (en) Method and apparatus for training content recommendation model, device, and storage medium
CN114817692A (en) Method, device and equipment for determining recommended object and computer storage medium
CN113836388A (en) Information recommendation method and device, server and storage medium
CN112785328A (en) Content pushing method and device and computer storage medium
CN113538030B (en) Content pushing method and device and computer storage medium
CN117132323A (en) Recommended content analysis method, recommended content analysis device, recommended content analysis equipment, recommended content analysis medium and recommended content analysis program product
CN117651165B (en) Video recommendation method and device based on client data
CN115470397B (en) Content recommendation method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40053955

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant