Transfer machine learning for property prediction
By using transfer learning technology and training models with subscriber data pipeline information, the problems of sensitive information leakage and resource consumption caused by third-party cached files were solved, and accurate user attribute prediction and efficient content distribution were achieved under limited data conditions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2022-04-01
- Publication Date
- 2026-07-03
AI Technical Summary
In existing technologies, machine learning models rely on data collected from third-party cache files when predicting user attributes. This poses a risk of sensitive information leakage and consumes significant computing and network resources, making it difficult to make accurate predictions under limited data conditions.
By employing transfer learning technology, the model is trained using subscriber data pipeline information to predict the attributes of non-subscribers under limited data conditions. This avoids the use of third-party cache files and utilizes subscriber context information and online activities to train the model.
It enables accurate prediction of user attributes without the need for third-party cache files, reducing computational and network resource consumption, improving user experience, and optimizing content distribution efficiency.
Smart Images

Figure CN117203646B_ABST
Abstract
Description
Technical Field
[0001] This manual covers data processing and transfer learning machine learning. Background Technology
[0002] Machine learning models receive input and generate outputs, such as predicted outputs, based on the received input. Some machine learning models are parametric models and generate outputs based on the received input and the values of the model's parameters.
[0003] Some machine learning models are deep learning models, which use multiple layers of the model to generate outputs from received inputs. For example, deep neural networks are deep learning models that include an output layer and one or more hidden layers, each of which applies a non-linear transformation to the received input to generate an output. Summary of the Invention
[0004] This specification describes a system implemented as a computer program on one or more computers at one or more locations that uses transfer learning machine learning techniques to predict attributes.
[0005] In general, one innovative aspect of the subject matter described in this specification can be embodied in a method that includes receiving a digital component request from a user's client device, the digital component request including at least the input context information of the display environment in which the selected digital component will be displayed. The process involves: converting contextual information into input data for a transfer learning machine learning model, which is trained to output predictions of user attributes based on feature values representing features of the display environment. The transfer learning machine learning model is (i) trained using training data obtained from a data pipeline associated with an electronic resource subscribed to by the subscriber, and (ii) adapted to predict user attributes of a non-subscriber viewing electronic resources not subscribed to by the non-subscriber. The training data includes first feature values representing features of the display environment in which digital components are displayed to the subscriber, second feature values representing the subscriber's online activity, and labels representing user attribute profiles for each subscriber. The process also includes: providing input data as input to the transfer learning machine learning model; receiving data indicating a set of predicted user attributes as output to the transfer learning machine learning model; selecting a given digital component from a plurality of digital components for display on a client device based at least in part on the set of predicted user attributes; and sending the given digital component to the user's client device. Other embodiments of this aspect include corresponding apparatus, systems, and computer programs encoded on computer storage devices, which are configured to perform aspects of the method.
[0006] These and other implementations may optionally include one or more of the following features. In some aspects, the electronic resources subscribed to by a subscriber include a content platform to which content is displayed to the subscriber. In some aspects, training environment information of the display environment in which digital components are displayed to the subscriber includes the subscriber's client device attributes. The client device attributes of each individual client device include at least one of the following: information indicating one or more of the operating systems of the individual client device, or the type of browser of the individual client device.
[0007] In some respects, for each user access to an electronic resource subscribed to by a subscriber, the training environment information of the display environment in which the digital components are displayed to the subscriber includes at least one of the following: information indicating the address of the electronic resource, the category of the electronic resource, (iii) the time when the user access occurs, the geographical location of the client device used to access the electronic resource, or the type of data service accessed by the user.
[0008] In some aspects, the second characteristic value of a subscriber's online activity includes characteristic values indicating the characteristics of the digital components that the subscriber interacts with during their visit, including characteristic values indicating the category of each digital component. In some aspects, the second characteristic value of a subscriber's online activity includes characteristic values indicating one or more of the following: selecting user-selectable elements, providing search queries, or viewing specific pages.
[0009] Some aspects include generating transfer learning models based on first and second feature values. Generating transfer learning models may include training neural networks using an objective function.
[0010] Some aspects include providing a set of predicted user attributes as input to a second machine learning model, which is trained to predict user engagement with digital components based on these user attributes, and receiving output data for each of a plurality of digital components, instructing the user on the predicted probability of interacting with that digital component, as the output of the second machine learning model. Selecting a given digital component may include selecting the given digital component based at least on the predicted probability of each of the plurality of digital components.
[0011] The subject matter described in this specification can be implemented in specific embodiments to achieve one or more of the following advantages. Third-party caching files (cookies) used to collect data from client devices across the Internet are increasingly being phased out to prevent the collection and leakage of sensitive user data. The method described herein can predict user attributes by training a transfer learning machine learning model without using third-party caching files. Training the transfer learning machine learning model may include training the machine learning model using data collected through a first data pipeline of one or more content platforms, and adapting the machine learning model for use in a second data pipeline where a more limited type of data is available. In this way, the transfer learning machine learning model is trained with a more robust dataset to make accurate predictions even with limited data available. The user attributes predicted by the transfer learning machine learning are used to efficiently distribute content to users, thereby improving the user experience of accessing desired electronic resources. Therefore, the techniques described in this document enable accurate prediction of attributes without the need for such sensitive data.
[0012] Using migration machine learning instead of data collected from third-party cached files to predict attributes can reduce computational resources (e.g., processor cycles) and network resources (e.g., bandwidth consumption). Aggregating across thousands or millions of client devices, the computational and bandwidth savings are substantial.
[0013] Details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the specification, drawings, and claims. Attached Figure Description
[0014] Figure 1 An exemplary computing environment is shown in which the digital component distribution system uses transfer learning to distribute digital components.
[0015] Figure 2 An example system is shown that uses transfer learning to predict user attributes and provides digital components based on the predicted user attributes.
[0016] Figures 3A-3B An example machine learning architecture for training a transfer learning machine learning model is shown.
[0017] Figure 4 This is a flowchart of an example process for using a transfer learning model to predict attributes and sending digital components to client devices based on the predicted attributes.
[0018] Figure 5 This is a block diagram of an example computer system.
[0019] In the various figures, the same reference numerals and names indicate the same elements. Detailed Implementation
[0020] This specification describes a technique and system for predicting user attributes using transfer learning without using information from third-party cache files. Historically, third-party cache files have been used to collect information about a user's online activity across different domains. The information collected about the user is often used to customize the user's browsing experience, for example, by displaying personalized content. Without using information collected by third-party cache files, the system described herein predicts user attributes by applying transfer learning to contextual information of the display environment in which the user views and interacts with electronic resources.
[0021] Electronic resources include resources that users subscribe to view in order to access electronic content (e.g., specific websites, mobile applications, or content platforms such as video sharing platforms or email services). For subscribers to electronic resources, the publisher of the resource can obtain and store data representing at least a subset of the user's self-declared user attributes (e.g., self-declared geographic location for email users) in the user profile.
[0022] The system trains a machine learning model to predict user attributes based on features associated with the subscriber, where user attribute information and additional information are available. The system can then use transfer learning techniques to adapt the trained machine learning model to generate a transfer learning model that can predict user attributes when more limited information is available, such as when the user's identity is unknown and / or when less or different contextual information is available. For example, the system can use data obtained from a data pipeline associated with an e-resource that is subscribed to by a user and where user attribute information and / or user online activity are available for that e-resource. The transfer learning model can then be deployed across different digital component distribution pipelines where limited information is available for selecting digital components.
[0023] Using the described transfer learning techniques, the system can predict a user's user attributes and, based on these predicted user attributes, quickly—e.g., in real-time (e.g., within milliseconds)—select digital components to be provided to the user in response to a received request for a digital component. This can also reduce network bandwidth wasted due to digital components being sent to unwanted users. In some implementations, the system predicts a user's user attributes based on the similarity between the user's activity and the activities of other users with known user attribute profiles from one or more electronic resources.
[0024] As used throughout this specification, the phrase "digital component" refers to a discrete unit of digital content or digital information (e.g., a video clip, audio clip, multimedia clip, image, text, or other content unit). A digital component may be stored electronically as a single file or a collection of files on a physical storage device, and may take the form of a video file, audio file, multimedia file, image file, or text file, and may include advertising information; therefore, advertising is a type of digital component. For example, a digital component may be content designed to complement the content of a webpage or other resource presented by an application. More specifically, a digital component may include digital content related to the resource content (e.g., a digital component may be related to the same topic as the webpage content, or to a related topic). Therefore, the provision of digital components can complement and generally enhance the content of a webpage or application.
[0025] In addition to the descriptions throughout this document, users may be provided with controls (e.g., user interface elements with which they can interact) that allow them to choose whether and when a system, program, or feature described herein can collect user information (e.g., information about a user's social networks, social actions or activities, occupation, user preferences, or current location) and whether content or communications are sent to the user from a server. Furthermore, certain data may be processed in one or more ways before being stored or used to remove personally identifiable information. For example, a user's identity may be processed to the point that their personally identifiable information cannot be determined, or the user's geographic location may be generalized (e.g., to a city, zip code, or state level) if location information is available, making it impossible to determine the user's specific location. Therefore, users can control what information about themselves is collected, how that information is used, and what information is provided to them.
[0026] Figure 1 The illustration shows an example computing environment 100 in which a digital component distribution system uses transfer learning to distribute digital components. Environment 100 includes multiple client devices 102a to 102n communicating with a digital component distribution system 104 via a network 106, which can be a wired or wireless network or any combination thereof. In some embodiments, the digital component distribution system 104 is implemented using one or more computers. Network 106 can be a local area network (LAN), a wide area network (WAN), the Internet, a mobile network, or any combination thereof. Each client device 102a to 102n (collectively referred to as client device 102) includes a processor (e.g., a central processing unit) 110 communicating with an input / output device 112 via a bus 114. The input / output device 112 may include a touch display, keyboard, mouse, etc.
[0027] Network interface circuitry 116 is also connected to bus 114 to provide wired and / or wireless connectivity to network 106. Memory or other storage medium 120 is also connected to bus 114. Memory 120 stores instructions executed by processor 110. Specifically, memory 120 stores instructions for application 122. Application 122 can be configured to communicate with digital component distribution system 104.
[0028] In some implementations, each client device 102 is a mobile device (e.g., a smartphone, laptop computer, tablet computer, wearable device, digital assistant device, etc.). In some implementations, each client device 102 is a streaming device, gaming device, or console. Application 122 may include one or more electronic resources, including native applications (e.g., email applications) and web browsers displayed by application 122 (e.g., social media platforms). Environment 100 has access to information from application 122, such as user activity using application 122.
[0029] Client device 102 executes one or more applications 122, such as a web browser and / or native applications, to facilitate the sending and receiving of data over network 106. A native application is an application developed for a specific platform or device (e.g., a mobile device with a specific operating system). A publisher may develop a native application and provide it to client device 102, for example, making it available for download. A web browser may request a resource from a web server hosting a publisher's website, for example, in response to a user of client device 102 entering a resource address of an electronic resource (also called a resource) in the web browser's address bar or selecting a link referencing that resource address. Similarly, a native application may request application content from a publisher's remote server.
[0030] The digital component distribution system 104 includes a processor 130, a bus 132, an input / output device 134, and network interface circuitry 136 to provide connectivity to a network 106. A memory 140 is connected to the bus 132. The memory 140 stores an attribute prediction engine 142 and a digital component selection engine 144, which has instructions executed by the processor 130 to implement the operations described herein. In some embodiments, the environment 100 includes a database 146 that communicates with the digital component distribution system 104 and stores information used by the attribute prediction engine 142 and / or the digital component selection engine 144.
[0031] The attribute prediction engine 142 implements machine learning techniques, such as training and / or adapting a transfer learning model, applying the model to predict user attributes, and retraining the model as needed (described in more detail below).
[0032] To train a transfer learning machine learning model, the attribute prediction engine 142 obtains and / or generates training data for the user set. The training data may include context information about the display environment in which digital components and / or content are shown to the user, user activities—such as online activity, and / or user attribute information. Without using third-party cached files, this context information and user activity information may not be available for training the machine learning model.
[0033] To obtain such information, the attribute prediction engine 142 can connect to the data pipeline interface of an electronic resource, which users subscribe to and typically log in to view content. In this way, the attribute prediction engine 142 can access information about subscribers logged into the electronic resource, context information about the display environment in which digital components are shown to subscribers, and user attribute information about subscribers. For example, the publisher of the electronic resource can receive requests for content from subscribers logged into the electronic resource and provide the content along with the digital components displayed with it. Such requests may include context information. The publisher can store this information along with information indicating the digital components provided for display with the content and data indicating user activities occurring on the electronic resource (e.g., whether the user interacts with the displayed digital components, such as selecting them).
[0034] Each user's user attribute information may include self-declared and / or inferred user attributes. For example, a user may provide user attribute information to the content platform (or other electronic resources) using application 122 when subscribing to the content platform, or provide user attribute information to update previously provided user attribute information. In another example, the content platform may infer user attributes based on group survey results, online activity, etc. A user's user attribute information may include group characteristic information.
[0035] The context information of the display environment in which the digital components are displayed may include client device attributes of the subscribed user, such as information indicating the following: the operating system of the client device 102 used by the user to view the content of the electronic resources, the type of browser or native application used to view the content on the client device 102, the size or type of the display of the client device 102, and / or other appropriate information about the client device 102.
[0036] For each user access to an electronic resource, the context information of the display environment in which the digital components are displayed may include the resource address (e.g., a Uniform Resource Identifier (URI) or a Uniform Resource Locator (URL)), the category of the electronic resource (e.g., a topic-based category assigned to the electronic resource), the time when the user access occurs (e.g., time of day, day of week, month of year, etc.), the geographic location of the client device at the time of the user access, the type of data service accessed by the user, and / or other appropriate context information. Examples of the type of data service include: whether the data includes images or videos, the type or category of video viewed by the user, the type or category of video channels viewed by the user, the operating system of the device transmitting the data, and the type of device used to send the data.
[0037] Subscriber activity information may include, for example, electronic resources that the user has subscribed to over a period of time, and the user's interactions with content displayed with the electronic resources (e.g., the content of the electronic resources and / or digital components displayed with that content). For example, user activity information regarding a user's access to electronic resources may include context information of the user's access and user interaction data indicating whether the user interacted with any content, and where so, information about the interaction, such as the type of interaction and / or data indicating the content with which the interaction occurred. Information about the content (e.g., digital components) may include data identifying the content, one or more categories assigned to the content (e.g., one or more vertical categories), a weight corresponding to each category, and / or other appropriate information about the content.
[0038] The attribute prediction engine 142 uses training data to train a transfer learning machine learning model. The attribute prediction engine 142 can use the training data to train the machine learning model to output predicted user attributes based on contextual information of the display environment in which the user is viewing or will view content. Since the type of contextual information can vary based on the type of electronic resource accessed by the user and / or its associated data pipeline, the attribute prediction engine 142 can adapt the machine learning model for use in different pipelines, for example, based on the type of contextual information available in different pipelines. The output of this adaptation is the transfer learning machine learning model.
[0039] For example, attribute prediction engine 142 can train a machine learning model based on training data obtained using the data pipeline of a video sharing platform. Attribute prediction engine 142 can use transfer learning techniques to adapt this machine learning model for predicting user attributes of unknown users submitting search queries to a search engine or unknown users visiting a specific website. This can include, for example, applying adaptation to the migrated domain. The adaptation phase can be similar to training another machine learning model, except that the model is initialized with domain parameters (from the source domain) but has migrated domain data. During the adaptation phase, attribute prediction engine 142 can use data from the source domain as label data to train the transfer learning machine learning model using machine learning model training techniques, as described in this document. When adapting the trained machine learning model to the transfer learning machine learning model adapted to the migrated domain, knowledge from the source domain can be used as ground truth during the adaptation phase. Attribute prediction engine 142 can train a transfer learning machine learning model to output attribute predictions for input data available in the migrated domain using knowledge from the source domain (e.g., the machine learning model, its parameters, etc.). For example, this adaptation can map features of input data available in the transfer domain to features from the source domain, and adjust the model based on knowledge of the mapped features in the source domain to perform attribute predictions for features of input data available in the transfer domain.
[0040] The digital component selection engine 144 uses predicted user attributes output by a transfer learning machine learning model to provide digital components or personalized content to a user's client device 102. For example, based on predicted user attributes for a specific user, the digital component selection engine 144 provides digital components that may be beneficial or of particular interest to the user.
[0041] Some resources, application pages, or other application content may include digital component slots for presenting digital components along with the resources or application pages. A digital component slot may include code (e.g., a script) that causes application 122 to request digital components from digital component distribution system 104. For example, the code may cause application 122 to send a digital component request that includes context information about the display environment in which the user is viewing or will view content. Attribute prediction engine 142 can use this context information to predict user attributes of the user of application 122 and provide the user attributes to digital component selection engine 144. Digital component selection engine 144 can then select digital components to provide to application 122 for display to the user, for example, content from an electronic resource displayed by application 122.
[0042] The digital component selection engine 144 can select digital components from a set of digital components based at least on the user's predicted user attributes. For example, a digital component may be linked to a distribution criterion that indicates the digital component's eligibility to be displayed to users with one or more user attributes. In this example, the digital component selection engine 144 can select a digital component when the user attributes of the distribution criterion match the user's predicted user attributes. This ensures that the selected digital component is suitable for the user and that bandwidth is not wasted when sending it to the user.
[0043] The digital component selection engine 144 can select digital components based on predicted user attributes combined with other information. For example, the digital component selection engine 144 can select digital components based on predicted user attributes combined with the current time, the location of the client device 102 that sent the digital component request, the context information of the digital component request, the distribution criteria of the digital component, and / or the selection value indicating the amount of digital component provider is willing to provide to the publisher for displaying the digital component.
[0044] The context information included in the digital component request may include similar context information as described above as part of the training data. However, some such information may not be available in the context information of the digital component request, and / or may include different context information than the context information in the training data. For example, the context information of the digital component request may include client device attributes of the client device 102 that sent the digital component request, context information related to the electronic resource being displayed by application 122 (e.g., URI or URL, category, etc.), time, location, service type, etc.
[0045] In some implementations, the digital component distribution system 104 processes information in the database 146 (e.g., by generating fast access identifiers or references) to make access to the information computationally efficient. For example, the digital component distribution system 104 may apply user-specific filters to the database 146 to obtain records associated with a specific user. In some implementations, the digital component distribution system 104 optimizes the structure of the database 146 based on data processing bandwidth to facilitate load balancing and efficient data processing.
[0046] Figure 2 An example system 200 is illustrated that uses transfer learning to predict user attributes and provides digital components based on the predicted user attributes. System 200 includes a device feature extraction engine 204 that receives information about a client device 102 and generates a first set 210a of features indicative of the user's device attributes. The first set of features includes the client device 102's operating system, service type (e.g., access from a mobile phone), the client device 102's browser type, location, and / or local time associated with the user's interaction with the client device 102.
[0047] System 200 includes a resource feature extraction engine 206 that receives data from application 122 and generates a second set 210b of features indicating user activities interacting with one or more electronic resources. For electronic resources being displayed or to be displayed to the user, the second set of features may include the resource address of the electronic resource, the category of the electronic resource, and / or other appropriate features.
[0048] As described above, application 122 can display one or more electronic resources to a user and request digital components from digital component distribution system 104 to be displayed along with the electronic resources. This digital component request may include context information of the display environment in which the selected digital component will be displayed. Device feature extraction engine 204 and resource feature extraction engine 206 can extract relevant information, such as relevant context information, from the digital component request and convert this information into feature values for use as input to a transfer learning machine learning model. Although in Figure 1 Not shown in the image, but Figure 1 The digital component distribution system 104 may include a device feature extraction engine 204 and a resource feature extraction engine 206.
[0049] The attribute prediction engine 142 is configured to process a first set 210a and / or a second set 210b of features (collectively referred to as features 210) to generate predicted user attributes 214 for the user. The generation of predicted user attributes 214 is based on a pre-trained transfer learning machine learning model. As described above, the transfer learning machine learning model can be trained using training data 212 that includes context information of the display environment in which digital components and / or content are displayed to the user, user activities—e.g., online activities, and / or user attribute information. The training data 212 includes training labels indicating users with known (self-declared or inferred) user attribute profiles. The attribute prediction engine 142 can access the training data 212 from a database 146.
[0050] System 200 includes a digital component selection engine 144 that receives predicted user attributes 214, selects digital components based on the predicted user attributes 214, and provides digital components 216 to the user's client device. The digital component selection engine 144 communicates with application 122, for example, via network 106, to enable this display.
[0051] In some implementations, the digital component selection engine 144 may use a trained machine learning model to select digital components based on information indicative of a user's interaction with the displayed digital components. This information may include indications that the user has viewed the digital component in a specific display environment characterized by contextual information, and that the user has selected a user-selectable item (e.g., a digital component) and viewed a specific page (e.g., watched a recommended video). The machine learning model may be trained based on: information associated with the digital component, information related to the user's interaction with the digital component (e.g., whether the user interacted with the digital component when it was displayed to the user), and user attributes indicative of the user displaying the digital component and labels indicating their corresponding interactions with the digital component. The machine learning model may be trained to take a predicted user attribute 214 as input and, for each digital component in the set of digital components, output the probability that a user with the predicted user attribute 214 will interact with that digital component.
[0052] In some implementations, the machine learning model also considers contextual information about the display environment in which the selected digital component will be displayed. For example, the machine learning model may take the predicted user attribute 214 and feature values 210 as input, and for each digital component in the set of digital components, output the probability that a user with the predicted user attribute 214 will interact with the digital component displayed in a display environment having contextual information about the display environment in which the selected digital component will be displayed.
[0053] Figures 3A-3B Example machine learning architectures 302, 304, and 306 are shown for training transfer learning models. (Reference) Figure 3A , system (e.g. Figure 1 The digital component distribution system 104 can train one or more prediction models, each corresponding to a set of predicted user attributes. As a specific example of user attribute prediction, the system can use a first architecture 302 to train a first prediction model 301a that can be used to predict basic user attributes (e.g., gender and age distribution). A second architecture 304 can be used to train a second prediction model 301b to predict extended group characteristics, such as occupation, shoe size, etc. For this purpose, each architecture 302 and 304 can generate their respective prediction models 301a and 301b using different training data.
[0054] In another example, each architecture 302 and 304 can be trained using different training data based on available training data. For example, architecture 301a can be used to train prediction model 301a using user attributes claimed by the user, along with contextual information and feature values of the user's online activities. Architecture 301b can be used to train prediction model 301a using inferred user attributes inferred by another machine learning model, along with contextual information and feature values of the user's online activities.
[0055] The system can train prediction models 301a and 301b using architectures 302 and 304 and training data 212. In some implementations, prediction models 301a and 301b are trained convolutional neural networks. A convolutional neural network includes multiple layers, including convolutional layers, pooling layers, and fully connected layers. The system can provide an objective function (also called a loss function) used by the convolutional neural network to minimize a loss function during training. The system can use appropriate training methods other than convolutional neural networks, including supervised machine learning (e.g., random forests), regression, Naive Bayes classifiers, and other variations of neural networks. As the output of training the prediction models, the system obtains a first prediction model 301a and a second prediction model 301b.
[0056] refer to Figure 3B The system can train a third (shared) prediction model 301c, which is used to predict user attributes using a third architecture 306. In this architecture 306, two convolutional neural networks 307 and 308 are trained and share a common hidden layer 305. The first convolutional neural network 307 can be trained similarly to the convolutional neural network of prediction model 301a, for example, using the same type of training data. Similarly, the second convolutional neural network 308 can be trained similarly to the convolutional neural network of prediction model 301b, for example, using the same type of training data. One advantage of the third prediction model 301c is that the system can reuse some of the data and / or models of prediction models 301a and 301b.
[0057] In some implementations, the system may add additional features to feature 210. These additional features may include previously predicted user attributes. These additional features may also enhance scene prediction.
[0058] In some implementations, the system can train a meta-learner that predicts user attributes based on multiple pre-trained models. For example, the meta-learner can be an ensemble learner across different training architectures (e.g., prediction models 301a, 301b, and 301c). The meta-learner can be trained using a cross-validation method that splits the training data 212 into training and validation sets.
[0059] Figure 4This is a flowchart of an example process 400 for predicting attributes using a transfer learning model and sending digital components to a client device based on the predicted attributes. Process 400 will be described as being executed by a system of one or more computers appropriately programmed according to this specification. For example, digital component distribution system 100 or system 200 (e.g., attribute prediction engine 142 and digital component selection engine 144) may execute at least a portion of example process 400. In some implementations, the various steps of process 400 may be run in parallel, combined, cyclically, or in any order.
[0060] The system receives a digital component request (402) from a user's client device. The digital component request may be a request for a digital component to be displayed on the client device along with an electronic resource. The digital component request may include, for example, input context information about the display environment in which the selected digital component will be displayed. As described above, the input context information may include attributes of the user's client device, such as information indicating the operating system of the client device used to view the content of the electronic resource, the type of browser or native application used to view the content on the client device, the display size or type of the client device, and / or other appropriate information about the client device. The input context features may also include attributes of the electronic resource to which the selected digital component will be displayed, such as the resource address of the electronic resource, the category of the electronic resource (e.g., subject), and / or other appropriate information about the electronic resource. The input context features may also include the time when the digital component request was generated (e.g., time of day, day of week, month of year, etc.), the geographical location of the client device, the type of data service, and / or other appropriate context information.
[0061] The system converts contextual information into input data for a transfer learning model (404). For example, the system can generate feature values for features that represent contextual information.
[0062] As described above, transfer learning models can be trained on training data for a set of users. For example, a transfer learning model can be trained using training data obtained from a data pipeline associated with the electronic resources subscribed to by a subscriber. In a specific example, training data can be obtained from the data pipeline of a content platform that displays content to users who have subscribed to the platform, and where users have provided user attribute information to the platform. The training data may include first feature values representing the display context information in which digital components are displayed to subscribers, second feature values representing the subscribers' online activities, and labels representing the user attribute profiles of each subscriber. The labels of subscribers may indicate one or more user attributes of the subscriber.
[0063] In some implementations, the system can retrain the prediction model, for example, by changing the training architecture, training data, and / or features. The attribute prediction engine 142 can output the performance of the trained model with respect to attribute prediction. Based on analysis of whether this performance meets a specific threshold, the attribute prediction engine 142 can optimize or at least improve the training scheme.
[0064] As mentioned above, transfer learning models can be adapted to predict user attributes of non-subscribers who view electronic resources that they have not subscribed to.
[0065] The system provides input data as input to the transfer learning machine learning model (406). The system can execute the machine learning model on the input data to generate predicted user attributes for the user. The system receives data indicating the predicted attributes for the user as the output of the transfer learning machine learning model (408).
[0066] The system selects digital components (410) based on predicted user attributes. The system can select digital components from a set of digital components based on the user's predicted user attributes and optionally on additional information. This ensures that the selected digital components are suitable for the user and that bandwidth is not wasted when sending them to the user. Additional information may include, for example, the current time, the location of the client device 102 that sent the digital component request, context information of the digital component request, the distribution criteria for the digital component, and / or selection values indicating the amount of digital component the provider is willing to offer to the publisher for displaying the digital component.
[0067] The system provides the selected digital component (412) to the user's client device. The client device can then display the digital component, for example, along with electronic resources displayed on the client device.
[0068] Figure 5 This is a block diagram of an example computer system 500 that can be used to perform the operations described above. System 500 includes a processor 510, memory 520, storage device 530, and input / output device 540. Each of components 510, 520, 530, and 540 may be interconnected, for example, using a system bus 550. Processor 510 is capable of processing instructions that execute within system 500. In some embodiments, processor 510 is a single-threaded processor. In another embodiment, processor 510 is a multi-threaded processor. Processor 510 is capable of processing instructions stored in memory 520 or on storage device 530.
[0069] Memory 520 stores information within system 500. In one embodiment, memory 520 is a computer-readable medium. In some embodiments, memory 520 is a volatile memory cell. In another embodiment, memory 520 is a non-volatile memory cell.
[0070] Storage device 530 provides high-capacity storage for system 500. In some embodiments, storage device 530 is a computer-readable medium. In various embodiments, storage device 530 may include, for example, a hard disk drive, an optical disk drive, a storage device shared over a network by multiple computing devices (e.g., a cloud storage device), or some other high-capacity storage device.
[0071] Input / output device 540 provides input / output operations for system 400. In some embodiments, input / output device 540 may include network interface devices, such as Ethernet cards, serial communication devices, such as RS-232 ports, and / or wireless interface devices, such as one or more 802.11 cards. In another embodiment, input / output device may include a driver device configured to receive input data and send output data to external device 560 (e.g., keyboard, printer, and display device). However, other embodiments, such as mobile computing devices, mobile communication devices, set-top box television client devices, etc., may also be used.
[0072] Despite Figure 5 An example processing system is described herein, but implementations of the subject matter and functional operations described herein may be implemented in other types of digital electronic circuits, or in computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in a combination of one or more of them.
[0073] This specification uses the term "configuration" in conjunction with system and computer program components. For a system of one or more computers to be configured to perform a particular operation or action, this means that the system has software, firmware, hardware, or a combination thereof installed thereon that causes the system to perform those operations or actions in operation. For one or more computer programs to be configured to perform a particular operation or action, this means that the one or more programs include instructions that, when executed by a data processing device, cause the device to perform that operation or action.
[0074] Embodiments of the subject matter and functional operation described in this specification may be implemented in digital electronic circuits, in tangibly embodied computer software or firmware, in computer hardware (including the structures disclosed in this specification and their equivalents), or in one or more combinations thereof. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory storage medium for execution by a data processing device or for controlling the operation of a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage matrix, a random or serial access memory device, or one or more combinations thereof. Alternatively or additionally, the program instructions may be encoded on artificially generated propagation signals (e.g., machine-generated electrical, optical, or electromagnetic signals) generated to encode information for transmission to a suitable receiver device for execution by the data processing device.
[0075] The term "data processing apparatus" refers to data processing hardware and includes various means, devices, and machines for processing data, such as programmable processors, computers, or multiple processors or computers. The apparatus may also be or further include special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the apparatus may optionally include code that creates an execution environment for computer programs, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, or one or more combinations thereof.
[0076] Computer programs can be written in any programming language (including compiled or interpreted languages, declarative or procedural languages), and can also be referred to or described as programs, software, software applications, applications (apps), modules, software modules, scripts, or code. The computer program can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but does not necessarily, correspond to a file in a file system. A program may be stored as a portion of a file used to store other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or portions of code). A computer program can be deployed to execute on a single computer or on multiple computers located at a single site or distributed across multiple sites and interconnected via a data communication network.
[0077] In this specification, the term "database" is used broadly to refer to any collection of data that does not need to be constructed in any particular way, or does not need to be constructed at all, and can be stored in storage devices in one or more locations. Thus, for example, an index database may include multiple collections of data, each of which can be organized and accessed differently.
[0078] Similarly, in this specification, the term "engine" is used broadly to refer to a software-based system, subsystem, or process programmed to perform one or more specific functions. Typically, an engine will be implemented as one or more software modules or components installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in others, multiple engines may be installed and run on the same one or more computers.
[0079] The processes and logic flows described in this specification can be executed by one or more programmable computers that execute one or more computer programs to perform functions by manipulating input data and generating output. The processes and logic flows can also be executed by special-purpose logic circuitry (e.g., FPGA or ASIC), or by a combination of special-purpose logic circuitry and one or more programmable computers.
[0080] A computer suitable for executing computer programs can be based on a general-purpose or special-purpose microprocessor, or both, or on any other type of central processing unit. Typically, the central processing unit receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are the central processing unit for running or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and memory may be supplemented by or incorporated into special-purpose logic circuitry. Typically, a computer will also include one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or operatively coupled to one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) to receive data from or transfer data to said one or more mass storage devices, or both. However, a computer is not required to have such devices. Furthermore, a computer can be embedded in another device, such as a mobile phone, personal digital assistant (PDA), mobile audio or video player, game console, global positioning system (GPS) receiver, or portable storage device, such as a universal serial bus (USB) flash drive, to name a few.
[0081] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROMs and DVD-ROMs.
[0082] To provide interaction with the user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user; the keyboard and pointing device, such as a mouse or trackball, through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback; and input from the user can be received in any form, including sound, speech, or tactile input. Additionally, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a webpage to a web browser on the user's device in response to a request received from a web browser. Moreover, the computer can interact with the user by sending text messages or other forms of messages to a personal device (e.g., a smartphone running a messaging application) and subsequently receiving response messages from the user.
[0083] The data processing apparatus for implementing machine learning models may also include, for example, dedicated hardware accelerator units for handling the common and computationally intensive parts of machine learning training or production (i.e., inference, workload).
[0084] Machine learning models can be implemented and deployed using machine learning frameworks such as TensorFlow, Microsoft Cognitive Toolkit, Apache Singa, or Apache MXNet.
[0085] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes backend components (e.g., as a data server), or middleware components (e.g., an application server), or frontend components (e.g., a client computer having a graphical user interface, web browser, or application through which a user interacts with embodiments of the subject matter described in this specification), or any combination of one or more such backend, middleware, or frontend components. The components of the system can be interconnected via any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.
[0086] A computing system may include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network. The relationship between clients and servers is generated by computer programs running on their respective computers and having a client-server relationship with each other. In some embodiments, the server sends data to a user device, such as an HTML page, for example, to display data to a user interacting with a device acting as a client and to receive user input from that user. Data generated at the user device, such as the result of user interaction, may be received at the server from the device.
[0087] Although this specification contains numerous specific implementation details, these details should not be construed as limiting the scope of any invention or the scope of the claims, but rather as descriptions of features specific to particular embodiments of a particular invention. Certain features described herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately in multiple embodiments, or in any suitable sub-combination. Furthermore, although features may be described above as functioning in certain combinations, and even initially claimed to be so, in some cases one or more features from the claimed combination may be removed, and the claimed combination may be directed to a sub-combination or a variation thereof.
[0088] Similarly, although operations are depicted in a specific order in the drawings and described in the claims, this should not be construed as requiring these operations to be performed in the specific order shown or in sequential order, or requiring all shown operations to obtain the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0089] Specific embodiments of the subject matter have been described. Other embodiments are within the scope of the appended claims. For example, the actions described in the claims can be performed in a different order and still achieve the desired result. As an example, the processes depicted in the figures do not necessarily require the specific order or sequence shown to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous.
Claims
1. A computer-implemented method, comprising: Receive a digital component request from the user's client device, the digital component request including at least input context information of the display environment, and display the selected digital component in the display environment; The context information is converted into input data for a transfer learning machine learning model, which is trained to output predictions of user attributes based on feature values representing features of the display environment. The transfer learning machine learning model (i) is trained using training data obtained from a data pipeline associated with electronic resources subscribed to by the subscriber, and (ii) is adapted to predict user attributes of the non-subscriber viewing electronic resources not subscribed to by the non-subscriber. The training data includes first feature values representing features of the display environment in which digital components are displayed to the subscriber, second feature values representing the subscriber's online activity, and labels representing user attribute profiles for each of the subscribers. The input data is provided as input to the transfer learning machine learning model; Receive data representing a set of predicted user attributes indicating the user as the output of the transfer learning machine learning model; The selection of a given digital component for display on the client device is based at least in part on the set of predicted user attributes from a plurality of digital components; and Send the given digital component to the user's client device. For each user access to the electronic resources subscribed to by the subscriber, the training environment information for displaying the digital components to the subscriber includes at least one of the following: (i) information indicating the electronic resource address, (ii) the category of the electronic resource, (iii) the time when the user access occurs, (iv) the geographical location of the client device used to access the electronic resource, or (v) the type of data service accessed by the user.
2. The method of claim 1, wherein, The electronic resources subscribed to by the subscriber include a content platform that displays content to the subscriber.
3. The method of claim 1, wherein, The training environment information in which the display environment of the digital components is displayed to the subscriber includes the subscriber's client device attributes, and the client device attributes of each individual client device include at least one of the following: (i) one or more pieces of information indicating the operating system of the individual client device, or (ii) the type of browser of the individual client device.
4. The method according to claim 1, wherein, The second feature value of the subscriber's online activity includes: feature values indicating the characteristics of the digital components that the subscriber interacts with during the user's access, including feature values indicating the category of each digital component.
5. The method according to claim 1, wherein, The second feature value of the subscriber's online activity includes a feature value indicating one or more of the following: (i) selecting user-selectable elements, (ii) providing search queries, or (iii) viewing a specific page.
6. The method according to claim 1, further comprising: The transfer learning machine learning model is generated based on the first feature value and the second feature value.
7. The method according to claim 6, wherein, Generating the transfer learning model involves training a neural network using an objective function.
8. The method according to claim 1, further comprising: The set of predicted user attributes of the user is provided as input to a second machine learning model, which is trained to predict user interactions with digital components based on user attributes. as well as For each of the plurality of digital components, output data instructing the user to predict the probability of interacting with that digital component is received as the output of the second machine learning model. The selection of the given digital component includes: selecting the given digital component based at least on the predictive probability of each of the plurality of digital components.
9. A system comprising: One or more processors; as well as One or more storage devices storing instructions, which, when executed by the one or more processors, cause the one or more processors to perform operations, the operations including: Receive a digital component request from the user's client device, the digital component request including at least input context information of the display environment, and display the selected digital component in the display environment; The context information is converted into input data for a transfer learning machine learning model, which is trained to output predictions of user attributes based on feature values representing features of the display environment. The transfer learning machine learning model (i) is trained using training data obtained from a data pipeline associated with electronic resources subscribed to by the subscriber, and (ii) is adapted to predict user attributes of the non-subscriber viewing electronic resources not subscribed to by the non-subscriber. The training data includes first feature values representing features of the display environment in which digital components are displayed to the subscriber, second feature values representing the subscriber's online activity, and labels representing user attribute profiles for each of the subscribers. The input data is provided as input to the transfer learning machine learning model; Receive data representing a set of predicted user attributes indicating the user as the output of the transfer learning machine learning model; The selection of a given digital component for display on the client device is based at least in part on the set of predicted user attributes from a plurality of digital components; and Send the given digital component to the user's client device. For each user access to the electronic resources subscribed to by the subscriber, the training environment information for displaying the digital components to the subscriber includes at least one of the following: (i) information indicating the electronic resource address, (ii) the category of the electronic resource, (iii) the time when the user access occurs, (iv) the geographical location of the client device used to access the electronic resource, or (v) the type of data service accessed by the user.
10. The system according to claim 9, wherein, The electronic resources subscribed to by the subscriber include a content platform that displays content to the subscriber.
11. The system according to claim 9, wherein, The training environment information in which the display environment of the digital components is displayed to the subscriber includes the subscriber's client device attributes, and the client device attributes of each individual client device include at least one of the following: (i) one or more pieces of information indicating the operating system of the individual client device, or (ii) the type of browser of the individual client device.
12. The system according to claim 9, wherein, The second feature value of the subscriber's online activity includes: feature values indicating the characteristics of the digital components that the subscriber interacts with during the user's access, including feature values indicating the category of each digital component.
13. The system according to claim 9, wherein, The second feature value of the subscriber's online activity includes a feature value indicating one or more of the following: (i) selecting user-selectable elements, (ii) providing search queries, or (iii) viewing a specific page.
14. The system according to claim 9, wherein, The operation includes generating the transfer learning machine learning model based on the first feature value and the second feature value.
15. The system according to claim 14, wherein, Generating the transfer learning model involves training a neural network using an objective function.
16. The system according to claim 9, wherein, The operation includes: The set of predicted user attributes of the user is provided as input to a second machine learning model, which is trained to predict user interactions with digital components based on the user attributes; and For each of the plurality of digital components, output data instructing the user to predict the probability of interacting with that digital component is received as the output of the second machine learning model. The selection of the given digital component includes: selecting the given digital component based at least on the predictive probability of each of the plurality of digital components.
17. One or more non-transitory computer storage media storing instructions, said instructions, when executed by one or more computers, causing said one or more computers to perform operations, said operations including: Receive a digital component request from the user's client device, the digital component request including at least input context information of the display environment, and display the selected digital component in the display environment; The context information is converted into input data for a transfer learning machine learning model, which is trained to output predictions of user attributes based on feature values representing features of the display environment. The transfer learning machine learning model (i) is trained using training data obtained from a data pipeline associated with electronic resources subscribed to by the subscriber, and (ii) is adapted to predict user attributes of the non-subscriber viewing electronic resources not subscribed to by the non-subscriber. The training data includes first feature values representing features of the display environment in which digital components are displayed to the subscriber, second feature values representing the subscriber's online activity, and labels representing user attribute profiles for each of the subscribers. The input data is provided as input to the transfer learning machine learning model; Receive data representing a set of predicted user attributes indicating the user as the output of the transfer learning machine learning model; The selection of a given digital component for display on the client device is based at least in part on the set of predicted user attributes from a plurality of digital components; and Send the given digital component to the user's client device. For each user access to the electronic resources subscribed to by the subscriber, the training environment information for displaying the digital components to the subscriber includes at least one of the following: (i) information indicating the electronic resource address, (ii) the category of the electronic resource, (iii) the time when the user access occurs, (iv) the geographical location of the client device used to access the electronic resource, or (v) the type of data service accessed by the user.
18. One or more non-transitory computer storage media according to claim 17, wherein, The electronic resources subscribed to by the subscriber include a content platform that displays content to the subscriber.