Content recommendation method and device
By updating the local model on the terminal device and using the subnet model and model features provided by the cloud side device, the problem of slow response speed and poor accuracy of content recommendation on the terminal device is solved, and faster and more accurate content recommendation is achieved.
Patent Information
- Application Number
- CN202310912381.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-21
- Publication Date
- 2025-01-21
AI Technical Summary
The content recommendation response speed of existing terminal devices is slow and has poor accuracy. This is mainly due to the delay in data transmission between cloud-side devices and terminal devices, cloud-side devices cannot obtain user data of terminal devices in real time and push content recommendation results.
The terminal device uses the subnet model and model features sent by the cloud device to update the local model, thereby improving the speed and accuracy of recommendation response. Specific steps include the terminal device sending user history data and terminal device data to the cloud side device. The cloud side device generates a subnet model and model features based on these data and sends them back to the terminal device. The terminal device updates its local model based on these data.
By updating the local model, the terminal device can respond quickly and provide highly accurate content recommendations, reducing dependence on cloud-side devices and improving the terminal device's independent recommendation capabilities.
Smart Images

Figure CN119336979A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of terminals, and in particular to a content recommendation method and device. Background Art
[0002] With the popularization of terminal devices, the number of application service contents that terminal devices can provide has also grown rapidly. In order to meet the scenario-based application service needs of terminal device users, terminal device manufacturers have launched content recommendation assistants to recommend application service contents to terminal device users. Content recommendation assistants can accurately distribute application service contents according to the user habits of terminal devices.
[0003] In the current content recommendation technology, the terminal device recommends service content through the recommendation algorithm of the content recommendation model. In order to improve the recommendation accuracy of the content recommendation model, the content recommendation model is often deployed on the cloud-side device. The terminal device is responsible for collecting and uploading user data. The cloud-side device generates content recommendation results based on the content recommendation model and then transmits the content recommendation results back to the terminal device. After receiving the content recommendation results, the terminal device pushes the recommended content to the user.
[0004] In the current end-cloud combined content recommendation solution, due to the data transmission delay between the cloud-side device and the terminal device, the cloud-side device is unable to obtain the user data of the terminal device in real time and push the content recommendation results to the terminal device, resulting in the cloud-side device's slow response to the content recommendation of the terminal device and poor content recommendation accuracy. Summary of the invention
[0005] The embodiment of the present application provides a content recommendation method, in which the terminal device updates the local model of the terminal device using the subnet model and model features sent by the cloud-side device, thereby improving the recommendation accuracy of the local model for application service recommendation response speed. The embodiment of the present application also provides a terminal-side device, a cloud-side device, an electronic device, a computer-readable storage medium, and a computer program product corresponding to the content recommendation method.
[0006] In the first aspect, the embodiment of the present application provides a content recommendation method, which can be executed by a terminal device, or by a component of the terminal device, such as a processor, chip or chip system of the terminal device, or by a logic module or software that can realize all or part of the functions of the terminal device. The method provided in the first aspect includes: the terminal device sends the first data collected by the terminal device to the cloud side device, and the first data includes one or more of the following data: user history data and terminal device data, the user history data is used to train the local model of the terminal device and the cloud side model of the cloud side device, and the local model and the prediction model are both used to recommend application service content. Then, the terminal device receives the second data sent by the cloud side device, and the second data includes one or more of the following data: model features and subnet model, the model features are model features extracted by the cloud side device based on the cloud side model, the subnet model is a model simplified by the cloud side device based on the terminal device data, the cloud side model is a content recommendation model trained by the cloud side device based on the user history data of the terminal device and the cloud side user history data, and the cloud side user history data is the user history data collected by different terminal devices. The terminal device updates the local model based on the second data. The terminal device recommends application service content to the terminal device based on the updated local model.
[0007] In the embodiment of the present application, the terminal device can provide the cloud-side device with user historical data and terminal device data, and the cloud-side device can extract features and search the model structure of the cloud-side model based on the data sent by the terminal device, and send the model features obtained by feature extraction and the subnet model obtained by model structure search to the terminal, update the local model of the terminal device, thereby improving the accuracy of the recommendation of application services by the updated local model. At the same time, compared with the application service recommendation on the cloud-side device, the terminal device in the embodiment of the present application uses the updated local model to recommend application services, which improves the response speed of the terminal device to the application service recommendation.
[0008] In some possible implementations, the first data sent by the terminal device to the cloud device only includes user historical data, and the second data sent by the cloud device to the terminal device only includes model features. In the process of the terminal device updating the local model based on the second data, the terminal device modifies the model features in the local model based on the model features to obtain an updated local model.
[0009] In the embodiment of the present application, the terminal device can modify the model features in the local model based on the model features extracted by the cloud-side device. Due to the model features extracted from the cloud-side device, the recommendation accuracy of the local model for application service recommendation is improved.
[0010] In some possible implementations, the first data sent by the terminal device to the cloud-side device includes user history data and terminal device data, wherein the user history data is used to train the cloud-side model, and the terminal device data is used to indicate the computing power constraint of the terminal device running the local model. The second data sent by the cloud-side device to the terminal device includes only the subnet model, and in the process of updating the local model based on the second data, the terminal device replaces the local model with the subnet model to obtain an updated local model.
[0011] In the embodiment of the present application, the terminal device can replace the local model with a subnet model obtained by searching the model structure based on the cloud-side device, thereby improving the accuracy of the local model in recommending application services.
[0012] In some possible implementations, the updated local model is trained based on user historical data, and the user historical data includes one or more of the following: application service click records, scene data, time data, and device status data. Among them, the application service click records include historical application service records before the acquisition timestamp and application service records at the current time. The scene data includes a scene identifier, which is an identification number corresponding to different scenes pre-defined by the user. The time data includes click time records of different application services. The device status data includes the terminal device model, the terminal device system version, the terminal device positioning status data, the network status data, the Bluetooth status data, and the power status data.
[0013] In the embodiment of the present application, the terminal device can collect various user historical data and upload it to the cloud-side device for cloud-side model training, thereby improving the training accuracy of the cloud-side model.
[0014] In some possible implementations, when the terminal device recommends application service content to the terminal device based on the updated local model, the terminal device determines candidate application service content based on the historical application service content records on the terminal side, generates recommendation scores for the candidate application service content based on the updated local model, and the recommendation scores are used to indicate the click probability of the candidate application service content. The terminal device sorts the candidate application service content according to the recommendation scores, and pushes the application service content to the terminal device according to the sorting result.
[0015] In the embodiment of the present application, the terminal device can predict the application services that the user of the terminal device may click on based on the updated local model, and sort the application services based on the prediction results and display them on the display interface of the terminal device, thereby improving the user's click rate on the recommended application services.
[0016] In some possible implementations, before the terminal device sends the first data collected by the terminal device to the cloud-side device, the terminal device collects the first data based on the terminal device application running record and the terminal device hardware parameters, the application running record is used to collect user historical data, and the hardware parameters are used to collect terminal device data. In the process of the terminal device sending the first data collected by the terminal device to the cloud-side device, the terminal device can send the first data to the cloud-side device at a fixed time, or, in response to a data acquisition request sent by the cloud-side device, send the first data to the cloud-side device according to the data acquisition request.
[0017] In an embodiment of the present application, the terminal device can collect user historical data based on the application operation record, and obtain terminal device data based on the hardware parameters of the terminal device, and at the same time send user historical data and terminal device data to the cloud side device periodically or based on the data acquisition request of the cloud side device, thereby improving the update frequency of the user historical data on the cloud side.
[0018] In some possible implementations, the terminal device sends application service information to the cloud-side device, where the application service information includes the name of the application service existing in the terminal device, and the application service information is used to extract model features associated with the terminal device in the cloud-side model.
[0019] In the embodiment of the present application, the terminal device can send application service information existing in the terminal device to the cloud-side device, so that the cloud-side device can extract model features associated with the terminal when performing model feature extraction, thereby improving the accuracy of model feature extraction and further improving the recommendation accuracy of the local model in recommending application service content.
[0020] In some possible implementations, the model features include vector representations corresponding to the application service information, and different application service information corresponds to different model features.
[0021] In the embodiment of the present application, the cloud-side device can use model features as vector representations corresponding to application service information, thereby improving the feasibility of model extraction for model features associated with terminal devices.
[0022] In the second aspect, the embodiment of the present application provides a content recommendation method, which can be executed by a cloud-side device, or by a component of the cloud-side device, such as a processor, chip or chip system of the cloud-side device, or by a logic module or software that can realize all or part of the functions of the cloud-side device. The method provided in the second aspect includes: the cloud-side device receives first data sent by the terminal device, and the first data includes one or more of the following data: user history data and terminal device data, the user history data is used to train the local model of the terminal device, and the local model is used to recommend application service content. The cloud-side device generates second data based on the first data and the cloud-side user history data, and the second data includes one or more of the following data: model features and subnet models, the model features are model features extracted by the cloud-side device based on the cloud-side model, the subnet model is a model simplified by the cloud-side device based on the terminal device data, the cloud-side model is a content recommendation model obtained by the cloud-side device based on the cloud-side user history data training, and the cloud-side user history data includes user history data collected by different terminals. The cloud-side device sends second data to the terminal device, and the second data is used to update the local model.
[0023] In the embodiment of the present application, the cloud-side device can train and predict the cloud-side model based on the user historical data sent by the terminal device and the cloud-side user historical data, and perform model structure search and model feature extraction on the cloud-side model to obtain the subnet model and model features respectively. The terminal device can use the subnet model and model features generated by the cloud-side device to update the local model, thereby improving the recommendation accuracy of the updated local model for application service recommendations.
[0024] In some possible implementations, the cloud-side device obtains application service information of the terminal device, where the application service information includes the name of the application service existing in the terminal device, and the application service information is used to extract model features associated with the terminal device in the cloud-side model.
[0025] In the embodiment of the present application, the cloud-side device can obtain the application service information of the terminal device from the terminal device, thereby extracting the model features associated with the terminal based on the application service records of the terminal device, thereby improving the accuracy of the model feature extraction.
[0026] In some possible implementations, the first data sent by the terminal device to the cloud device includes user historical data, and the second data sent by the cloud device to the terminal device includes model features. In the process of the cloud device generating the second data based on the first data and the cloud user historical data, the cloud device trains the cloud model based on the user historical data and the cloud user historical data. Thereafter, the cloud device extracts features from the trained cloud model based on application service information to obtain model features, and the model features are used to modify the model features in the local model.
[0027] In the embodiment of the present application, the cloud-side device trains the cloud-side model based on user historical data and cloud-side user historical data, and extracts model features from the cloud-side model to obtain model features, thereby improving the feasibility of model extraction by the cloud-side device.
[0028] In some possible implementations, the model feature includes a vector representation corresponding to the application service information, wherein different application service information corresponds to different model features.
[0029] In the embodiment of the present application, the cloud-side device can use model features as vector representations corresponding to application service information, thereby improving the feasibility of model extraction for model features associated with terminal devices.
[0030] In some possible implementations, the first data sent by the terminal device to the cloud device includes user historical data and terminal device data, the terminal device data is used to indicate the computing power constraints of the terminal device running the local model, and the second data sent by the cloud device to the terminal device only includes the subnet model. In the process of the cloud device generating the second data based on the first data, the cloud device searches the model structure in the cloud model based on the terminal device data to determine the subnet model. The subnet model satisfies the computing power constraints corresponding to the terminal device data, and the subnet model is used to replace the local model.
[0031] In the embodiment of the present application, the cloud-side device can use model features as vector representations corresponding to application service information, thereby improving the feasibility of model extraction for model features associated with terminal devices.
[0032] In some possible implementations, the cloud-side device trains the subnet model using user historical data and cloud-side user historical data, and both the user historical data and the cloud-side user historical data include one or more of the following: application service click records, scenario data, time data, and device status data. Among them, the application service click records include historical application service records before the acquisition timestamp and application service records at the current time. The scenario data includes a scenario identifier, which is an identification number corresponding to different scenarios pre-defined by the user. The time data includes different application service click time records. The device status data includes the terminal device model, the terminal device system version, the terminal device positioning status data, the network status data, the Bluetooth status data, and the power status data.
[0033] In the embodiment of the present application, the cloud-side device can collect various user historical data based on the terminal device to perform model training, thereby improving the training accuracy of the cloud-side model.
[0034] In a third aspect, an embodiment of the present application provides a terminal device, which includes a data collection module and a terminal learning module. Among them, the data collection module is used to send the first data collected by the terminal device to the cloud-side device, and the first data includes one or more of the following data: user history data and terminal device data. The user history data is used to train the local model of the terminal device, and the local model is used to recommend application service content. The terminal learning module is used to receive the second data sent by the cloud-side device, and the second data includes one or more of the following data: model features and subnet models. The model features are model features extracted by the cloud-side device based on the cloud-side model. The subnet model is a model simplified by the cloud-side device based on the terminal device data. The cloud-side model is a content recommendation model obtained by the cloud-side device based on the cloud-side user history data training. The cloud-side user history data is user history data collected by different terminal devices. The terminal learning module is also used to update the local model based on the second data. The terminal learning module is also used to recommend application service content to the terminal device based on the updated local model.
[0035] In some possible implementations, the first data includes user historical data, the second data includes model features, and the terminal-side learning module is specifically used to modify the model features in the local model based on the model features to obtain an updated local model.
[0036] In some possible implementations, the first data also includes terminal device data, and the terminal device data is used to indicate the computing power constraints of the terminal device for running the local model. The second data includes the subnet model. The terminal-side learning module is specifically used to replace the local model with the subnet model to obtain an updated local model.
[0037] In some possible implementations, the end-side learning module is also used to train an updated local model based on user historical data, where the user historical data includes one or more of the following: application service click records, scenario data, time data, and device status data.
[0038] In some possible implementations, the device further includes a recall module, a sorting module, and a loading module; the recall module is used to determine the candidate application service content based on the record of the historical application service content on the terminal side. The terminal-side learning module is also used to generate a recommendation score for the candidate application service content based on the updated local model, and the recommendation score is used to indicate the click probability of the candidate application service content. The sorting module is used to sort the candidate application service content according to the recommendation score. The loading module is used to push the application service content to the terminal device according to the sorting result.
[0039] In some possible implementations, the data collection module is further used to collect the first data based on the application running records in the terminal device and the hardware parameters of the terminal device, the application running records are used to collect user historical data, and the hardware parameters are used to collect terminal device data. The data collection module is specifically used to send the first data to the cloud side device at a fixed time, or, in response to a data acquisition request sent by the cloud side device, send the first data to the cloud side device according to the data acquisition request.
[0040] In some possible implementations, the data acquisition module is also used to send application service information to the cloud-side device. The application service information includes the application service name existing in the terminal device. The application service information is used to extract model features associated with the terminal device in the cloud-side model.
[0041] In some possible implementations, the model feature includes a vector representation corresponding to the application service information.
[0042] In a fourth aspect, an embodiment of the present application provides a cloud-side device, which includes a data acquisition module and an archiving module. The data acquisition module is used to receive first data sent by a terminal device, and the first data includes one or more of the following data: user history data and terminal device data. The user history data is used to train the local model of the terminal device, and the local model is used to recommend application service content. The archiving module is used to generate second data based on the first data and the cloud-side user history data. The second data includes one or more of the following data: model features and subnet models. The model features are model features extracted by the cloud-side device based on the cloud-side model. The subnet model is a model simplified by the cloud-side device based on the terminal device data. The cloud-side model is a content recommendation model trained by the cloud-side device based on the cloud-side user history data. The cloud-side user history data includes user history data collected by different terminals. The archiving module is also used to send second data to the terminal device, and the second data is used to update the local model.
[0043] In some possible implementations, the data acquisition module is also used to obtain application service information of the terminal device, where the application service information includes the name of the application service existing in the terminal device, and the application service information is used to extract model features associated with the terminal device in the cloud-side model.
[0044] In some possible implementations, the first data includes user history data, the second data includes model features, and the device further includes a model training module and a feature extraction module. The model training module is used to train a cloud-side model based on user history data and cloud-side user history data. The feature extraction module is used to extract features from the trained cloud-side model based on application service information to obtain model features, and the model features are used to modify the model features in the local model.
[0045] In some possible implementations, the model feature includes a vector representation corresponding to the application service information.
[0046] In some possible implementations, the first data also includes terminal device data, the terminal device data is used to indicate the computing power constraint of the terminal device running the local model, and the apparatus also includes a model search module. The model search module is used to search the model structure in the cloud-side model based on the terminal device data, determine the subnet model, the subnet model satisfies the computing power constraint, and the subnet model is used to replace the local model.
[0047] In some possible implementations, the model training module is also used to train the subnet model using user historical data and cloud-side user historical data, where both the user historical data and the cloud-side user historical data include one or more of the following: application service click records, scene data, time data, and device status data.
[0048] In a fifth aspect, an embodiment of the present application provides an electronic device, which includes a processor, the processor is coupled to a memory, and the processor is used to store instructions. When the instructions are executed by the processor, the electronic device executes the method described in the first aspect or any possible implementation method of the first aspect.
[0049] In some possible implementations, the electronic device includes one or more of the following: a mobile phone, a computer, a laptop, a tablet, a wearable device, and a vehicle-mounted device.
[0050] In a sixth aspect, an embodiment of the present application provides an electronic device, the electronic device comprising a processor, the processor being coupled to a memory, the processor being used to store instructions, and when the instructions are executed by the processor, the electronic device executes the method described in the second aspect or any possible implementation method of the second aspect.
[0051] In some possible implementations, the electronic device includes one or more of the following: a network device, a computing device, and a computing device cluster.
[0052] In the seventh aspect, an embodiment of the present application provides a chip, including a processing circuit, which is coupled to an interface circuit, and the processing circuit is used to execute instructions. When the instructions are executed by the processing circuit, the chip executes the method described in the first aspect or any possible implementation method of the first aspect.
[0053] In an eighth aspect, an embodiment of the present application provides a chip, comprising a processing circuit, wherein the processing circuit is coupled to an interface circuit, and the processing circuit is used to execute instructions. When the instructions are executed by the processing circuit, the chip executes the method described in the second aspect or any possible implementation method of the second aspect.
[0054] In the ninth aspect, an embodiment of the present application provides a computer-readable storage medium having instructions stored thereon. When the instructions are executed, the computer executes the method described in the first aspect or any possible implementation of the first aspect, or the computer executes the method described in the second aspect or any possible implementation of the second aspect.
[0055] In the tenth aspect, an embodiment of the present application provides a computer program product, which includes instructions. When the instructions are executed, the computer implements the method described in the first aspect or any possible implementation of the first aspect, or the computer implements the method described in the second aspect or any possible implementation of the second aspect.
[0056] It can be understood that the beneficial effects that can be achieved by any of the terminal-side devices, cloud-side devices, electronic devices, chips, computer-readable media or computer program products provided above can be referred to the beneficial effects in the corresponding methods and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1a A schematic diagram of the system architecture of a content recommendation system provided in an embodiment of the present application;
[0058] Figure 1b A schematic diagram of a software system architecture of a terminal device provided in an embodiment of the present application;
[0059] Figure 2 A flowchart of a content recommendation method provided in an embodiment of the present application;
[0060] Figure 3 A flowchart of another content recommendation method provided in an embodiment of the present application;
[0061] Figure 4a A schematic diagram of a display interface of a terminal device provided in an embodiment of the present application;
[0062] Figure 4b A schematic diagram of a display interface of another terminal device provided in an embodiment of the present application;
[0063] Figure 5 A flowchart of another content recommendation method provided in an embodiment of the present application;
[0064] Figure 6 A flowchart of another content recommendation method provided in an embodiment of the present application;
[0065] Figure 7 A flowchart of another content recommendation method provided in an embodiment of the present application;
[0066] Figure 8 A flowchart of another content recommendation method provided in an embodiment of the present application;
[0067] Fig. 9 A schematic diagram of the structure of a terminal side device provided in an embodiment of the present application;
[0068] Fig.10 A schematic diagram of the structure of a cloud-side device provided in an embodiment of the present application;
[0069] Fig.11 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0070] Fig.12 A schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION
[0071] The embodiments of the present application provide a content recommendation method and apparatus for improving the accuracy of content recommendation on a terminal device.
[0072] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0073] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0074] First, some terms involved in the embodiments of the present application are introduced to facilitate technical personnel in this field to understand the technical solution.
[0075] The content recommendation assistant is a software tool based on artificial intelligence technology. It analyzes the user's interests, preferences and behaviors, and uses artificial intelligence to judge the user's intentions, thereby providing personalized recommendations. Personalized recommendations can be applications, such as camera applications, calendar applications, and communication applications, or direct services, such as payment codes, weather information, and meeting information, to meet the needs of users in different scenarios.
[0076] At present, many manufacturers in the industry have launched their own content recommendation assistants. However, at the current deployment level, content recommendation assistants are usually divided into two methods. One is to construct a recommendation model based on the user's application service records and other data on the terminal device side for content recommendation. The other is to use cloud-side computing resources and big data to build a content recommendation model on the cloud side for content recommendation, and send the content recommendation results back to the terminal device. Among them, in the first method, due to the limited amount of data trained on the terminal device, the accuracy of the recommendation model of the terminal device for content recommendation is poor. In the second method, due to the transmission delay of uplink and downlink data between the terminal device and the cloud-side device, the response delay of the cloud-side device for content recommendation is large, affecting the timeliness of the content recommendation.
[0077] In view of this, an embodiment of the present application provides a content recommendation method, which can be applied to the fields of artificial intelligence, mobile terminals, and vehicle-mounted terminals. The content recommendation method in the embodiment of the present application uses the cloud-side capability to update the local model on the terminal side through a combination of the terminal and the cloud, thereby improving the accuracy of the recommendation of the terminal device for content recommendation and the response speed of the content recommendation. Specifically, the terminal device can provide user historical data and terminal device data to the cloud-side device, and the cloud-side device can perform feature extraction and model structure search on the cloud-side model based on the data sent by the terminal device, and obtain the model features and subnet model respectively, and send the model features and subnet model to the terminal device, thereby updating the local model of the terminal device. The terminal device uses the updated local model to recommend application services, thereby improving the accuracy of the recommendation of the terminal device for content recommendation and the response speed of the content recommendation.
[0078] The method provided in the embodiments of the present application can be executed by a content recommendation system, which is used to recommend application service content to users, such as applications installed in terminal devices or direct services. The content recommendation system can be a software system, which can be deployed in terminal devices and cloud-side devices. The terminal devices and cloud-side devices respectively execute the program code of the software system to execute the content recommendation method of the present application. In some examples, the content recommendation system can be a hardware system. For example, the content recommendation system can be a terminal device or a cloud-side device with an application service recommendation function. The content recommendation method of the present application is executed when the above hardware system is running.
[0079] The following is an exemplary description of the scenarios in which the content recommendation method provided in the embodiments of the present application is applied.
[0080] In some possible implementations, the content recommendation method provided by the embodiments of the present application can be applied to the application recommendation scenario of the terminal device, wherein application recommendation refers to recommending the application in the terminal device. For example, the user of the terminal device often exercises around 7 o'clock in the morning, and the content recommendation system can modify the recommended content in the page display card of the terminal device to an application related to sports and health during this period. For another example, the user of the terminal device often watches videos around 10 o'clock in the evening, then the content recommendation system can modify the recommended content of the page display card of the terminal device to a video application during this period. For another example, the user of the terminal device has been using a shopping application in the last 15 minutes, then the content recommendation system can display the shopping application in a fixed position on the desktop of the terminal device.
[0081] In the application recommendation scenario, the content recommendation method provided in the embodiment of the present application can also be applied to the application store of the terminal device. For example, the user of the terminal device has downloaded several action game applications. When the user of the terminal device opens the application store again, the content recommendation system can recommend action game applications that other users may be interested in to the user of the terminal device.
[0082] In some other possible implementations, the content recommendation method can be applied to the service recommendation scenario of the terminal device, wherein the service recommendation refers to the recommendation of the service provided by the system of the terminal device itself. For example, the user of the terminal device has booked an online meeting at 2 pm, and the content recommendation system can recommend the conference connection for entering the meeting in the page display card of the terminal device when the meeting time is close. For another example, when the user of the terminal device has the habit of reading in the morning, in the morning scene, the content recommendation system recommends news, schedule, weather and other services in the display card of the terminal device. For another example, when the user of the terminal device has the habit of ordering meals and paying at noon, in the noon scene, the content recommendation system recommends food, payment and other services in the display card of the terminal device. For another example, when the user of the terminal device has the habit of watching videos in the evening, in the evening scene, the content recommendation system recommends video services of interest in the display card of the terminal device.
[0083] In order to make the technical solution of the present application clearer and easier to understand, the system architecture of the present application is introduced below with reference to the accompanying drawings.
[0084] See also Figure 1a , Figure 1a A schematic diagram of the system architecture of a content recommendation system provided for this application example. Figure 1aIn the example shown, the content recommendation system 10 includes a terminal device 100, a network communication device 200, and a cloud testing device 300. The terminal device 100 includes a data acquisition module 101, a recall module 102, a sorting module 103, a terminal learning module 104, and a loading module 105, and the cloud side device 300 includes a data acquisition module 301, a model search module 302, a model training module 303, a feature extraction module 304, and an archiving module 305. The following is a detailed introduction to each device in the content recommendation system 10.
[0085] The terminal device 100 is used to collect user historical data, train a local model based on the user historical data, and use the trained local model to sort the application service content, thereby determining the application service content to be recommended and presenting the recommended content to the user. The terminal device 100 is also used to receive the model features sent by the cloud-side device 300, and update the model features of the local model based on the model features. The terminal device 100 is also used to receive the subnet model sent by the cloud-side device 300, and replace the local model with the subnet model.
[0086] It should be noted that the terminal device 100 in the embodiment of the present application can be a mobile phone, a tablet computer, a wearable device, a laptop computer, a netbook, a personal digital assistant (PDA), an augmented reality (AR) or virtual reality (VR) device, a vehicle-mounted device, etc., without specific limitation.
[0087] In the terminal device 100, the data collection module 101 is used to collect user history data and terminal device data of the terminal device 100. Among them, user history data includes application service click records, scene data, time data and device status data. Terminal device data includes data such as the processor model of the terminal device, the binding core configuration information of the processor, the processor architecture, the number of processor cores, the operating frequency, the process technology, the running memory, the storage capacity, the battery capacity, etc. The data collection module 101 is also used to send the user history data and terminal device data collected by the terminal device 100 to the cloud side device 300.
[0088] The recall module 102 is used to determine a set of candidate application services based on the historical application service records of the terminal device, and the application services in the candidate application service set are application services that the terminal device 100 wants to recommend to the user. The terminal device 100 sorts the application services in the candidate application service set to determine the recommendation order.
[0089] The sorting module 103 is used to sort the application services in the candidate application service set and determine the recommended order of the application service content. Specifically, the sorting module 103 sorts the application services according to the application service recommendation score calculated by the local model, and the application service recommendation score is used to predict the probability of a user clicking on the application service.
[0090] The terminal-side learning module 104 includes a model training submodule 1041, a model acquisition submodule 1042, and a model management submodule 1043. The model training submodule 1041 is used to train a local model in the terminal device 100 according to user historical data. The model acquisition submodule 1042 is used to receive the subnet model sent by the cloud-side device 300, and replace the local model with the subnet model. The model management submodule 1043 is used to receive the model features sent by the cloud-side device 300, and update the model features of the local model using the model features.
[0091] The filling module 105 is used to fill the recommended content of the application service into the content recommendation card of the terminal device 100 according to the ranking result of the application service, and present it on the service homepage of the terminal device 100.
[0092] The network communication device 200 is used for network communication between the terminal device 100 and the cloud side device 300. Specifically, the network communication device 200 is used to transmit user historical data and terminal device data collected by different terminal devices 100. The network communication device 200 is also used to transmit model features extracted by the cloud side device 300 and the subnet model generated by the cloud side device 300.
[0093] The cloud-side device 300 is used to receive the user history data and terminal device data sent by the terminal device 100, and train the cloud-test model according to the user history data of different terminal devices. The cloud-side device 300 is also used to search the cloud-side model according to the terminal device data to obtain a subnet model of the cloud-side model, which is a miniaturized model of the cloud-side model and is used to replace the local model of the terminal device 100. The cloud-side device 300 is also used to extract the cloud-side model according to the application service information of the terminal device 100 to obtain model features, which are used to update the model features of the local model of the terminal device 100.
[0094] In the cloud-side device 300, the data acquisition module 301 is used to receive user history data and terminal device data sent by the terminal device 100, and send the user history data to the model training module 303 for model training, and send the terminal device data to the model search module 302 for subnet model search.
[0095] The model search module 302 is used to search for a subnet model suitable for the terminal device 100 according to the terminal device data, and the subnet model obtained by the search satisfies the computing power constraint of the terminal device 100 .
[0096] The model training module 303 is used to train the cloud-side model and the subnet model according to the user history data of different terminal devices, and send the trained cloud-side model and the subnet model to the archiving module 305 for model archiving.
[0097] The feature extraction module 304 is used to extract model features of the cloud-side model according to the user service record of the terminal device 100, obtain model features, and send the extracted model features to the archiving module 305 for archiving.
[0098] The archiving module 305 is used to archive the model features extracted by the cloud-side device 300 and the subnet model obtained by searching. The model archiving module 305 is also used to send the model features and the subnet model to the terminal device 100.
[0099] The software system architecture of the terminal device 100 is described in detail below.
[0100] See also Figure 1b , Figure 1b A schematic diagram of the software architecture of a terminal device 100 provided in an embodiment of the present application. Figure 1b In the example shown, the software architecture of the terminal device 100 is divided into an application layer, a framework layer, a system layer, and a kernel layer from top to bottom. The layers communicate with each other through software interfaces. Among them, the application layer is the layer where the user directly interacts with the terminal device 100, and the application layer may include a series of application packages. Figure 1b As shown, the application package may include applications such as camera, gallery, calendar, call, map, music, video, information, etc. In the embodiment of the present application, the application may also include a content recommendation assistant.
[0101] The framework layer provides a development framework and library for the application layer's applications. The framework layer includes some predefined functions. Figure 1b As shown, the framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, etc. Among them, the window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc. The content provider is used to store and obtain data and make the data accessible to applications. The data may include videos, images, audio, calls made or received, browsing history and bookmarks, phone books, etc.
[0102] The view system includes visual controls, such as controls for displaying text and controls for displaying pictures. The view system can be used to build applications. The display interface can be composed of one or more views. For example, the display interface of the SMS notification icon can include a view for displaying text and a view for displaying pictures. The phone manager is used to provide communication functions of the terminal device 100, such as management of call status, which includes connected, hung up, etc. The resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, and video files.
[0103] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of an icon or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is prompted in the status bar, a prompt sound is emitted, an electronic device vibrates, and an indicator light flashes.
[0104] The system layer includes infrastructure such as operating systems and virtual machines. The system layer can include multiple functional modules, such as surface managers, media libraries, 3D graphics processing libraries, and 2D graphics engines. The surface manager is used to manage the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The media library supports playback and recording of multiple audio and video formats, as well as playback of static image files. The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing. The 2D graphics engine is a drawing engine for 2D drawing.
[0105] The kernel layer is the bottom layer of the software architecture, which is used to manage and control the hardware resources of the terminal device 100. The kernel layer includes display drivers, camera drivers, audio drivers, and sensor drivers. Among them, the display driver is responsible for controlling the display components of the terminal device 100, such as the liquid crystal display. The camera driver is used to operate and control the camera in the terminal device 100. The audio driver is used to manage and control the audio devices of the terminal device 100, such as speakers, microphones, headphone jacks, etc. The sensor driver is used to operate and control various sensor devices in the terminal device 100, such as accelerometers, gyroscopes, magnetometers, light sensors, etc.
[0106] It should be noted that Figure 1aThe data collection module 101, the recall module 102, the sorting module 103, the terminal learning module 104 and the loading module 105 in the terminal device 100 shown belong to the framework layer in the software architecture, providing the corresponding functions of each module for the content recommendation assistant application.
[0107] based on Figure 1a The content recommendation system 10 shown in the figure, the present application also provides a content recommendation method. The content recommendation method of the present application is introduced below in conjunction with an embodiment.
[0108] See also Figure 2 , Figure 2 A flowchart of a content recommendation method provided in an embodiment of the present application. Figure 2 In the example shown, the method includes the following steps:
[0109] S201. The terminal device 100 collects first data, where the first data includes one or more of the following data: user history data and terminal device data.
[0110] The terminal device 100 collects first data, which includes one or more of the following data: user history data and terminal device data. The user history data includes one or more of the following: application service click records, scene data, time data, and device status data. The following is a detailed introduction to these user history data.
[0111] The application service click records include historical application service records before the collection timestamp and application service records at the current time. The application service records before the collection timestamp include application service click records within the past 0 to 5 minutes, application service click records within the past 5 to 10 minutes, application service click records within the past 7 days, and application service click records within the past month. The application service records at the current time include application service records corresponding to the collection timestamp.
[0112] The scene data includes scene identifiers, which are identification numbers corresponding to different scenes pre-defined by the user. For example, the scene defined by the user is "morning", and its corresponding scene identifier is "161000000001". For another example, the scene defined by the user is "wearing headphones", and its corresponding scene identifier is "161000000002". For another example, the scene defined by the user is "staying up late", and its corresponding scene identifier is "161000000003".
[0113] The time data includes the click time records of different application services, including year, month, week, date, hour, minute and second. For example, the time data of "Communication Application 1" is "Sunday, June 18, 2023, 09:35:47" and "Monday, June 19, 2023, 09:36:56", and the time data of "Video Application 1" is "Sunday, June 18, 2023, 09:36:32".
[0114] The device status data includes the terminal device model, the terminal device system version, the terminal device connection status, the terminal device positioning status data, the network status data, the Bluetooth status data and the power status data. Among them, the terminal device connection status is such as a list of other devices connected to the terminal device, such as headphones, keyboards, stylus pens, etc. The terminal device positioning status data is such as the start or end state of GPS. Network status data is such as the WiFi on or off state of the terminal device, WiFi connection state, and cellular data on or off state. Bluetooth status data is such as Bluetooth on or off state, Bluetooth connection state. Power status data is such as whether the terminal device is connected to the power cord.
[0115] The terminal device data includes one or more of the following: processor model, processor core binding configuration information, processor architecture, number of processor cores, operating frequency, process technology, running memory, storage capacity and battery capacity. Among them, the processor core binding configuration information includes variable binding and static binding. Variable binding means allowing the operating system to dynamically bind a process or thread to an available processor core as needed, and static binding means binding a process or thread to a specific processor core. Processor architectures include ARM architecture and x86 architecture, and the number of processor cores includes single-core, dual-core, quad-core and 8-core. Operating frequencies include 1.8GHz and 2.2GHz, and process technologies include 7nm and 10nm. Running memory includes 2G, 8G, 16G memory, etc. Storage capacity includes 64G, 128G, 256G, 512G and 1TB, etc. Battery capacity includes 5000mAh and 10000mAh, etc.
[0116] See also Figure 3 , Figure 3 A flowchart of another content recommendation method provided in an embodiment of the present application. Figure 3 In the example shown, the data collection module 101 of the terminal device 100 collects user history data and terminal device data. The user history data is real-time data collected by the terminal device 100 .
[0117] For example, the terminal device 100 collects the click records of the application services of the terminal device in the past month, including the records of user clicks on "sports application 1", "communication application 1" and "video application 1", and also collects 4 scene identifiers, including the scene identifiers corresponding to "morning", "noon", "evening" and "wearing headphones". The terminal device 100 also collects the processor signal and running memory of the terminal device.
[0118] S202. The terminal device 100 sends first data to the cloud-side device 300.
[0119] The terminal device 100 sends the first data to the cloud-side device 300. Specifically, the terminal device 100 sends the collected user history data and terminal device data to the cloud-side device 300.
[0120] Please continue reading Figure 3 ,exist Figure 3 In the example shown, the terminal device 100 sends user history data and terminal device data to the cloud side device 300 through the network communication device 100, and the data acquisition module 301 of the cloud side device 300 receives the user history data and terminal device data sent by the terminal device 100, and stores the user history data and terminal device data in the memory of the cloud side device 300.
[0121] For example, the terminal device 100 sends the user click records of "sports application 1", "communication application 1" and "video application 1" collected in step 201 in the past month and the four scene identifiers to the cloud side device 300. At the same time, the terminal device 100 also sends the processor model and running memory of the terminal device collected in step 201 to the cloud side device 300.
[0122] It can be understood that the cloud-side device 300 can receive user history data and terminal device data sent by multiple different terminal devices, wherein the user history data collected by multiple different terminal devices stored in the cloud-side device 300 constitute the cloud-side user history data of the cloud-side device 300.
[0123] In the embodiment of the present application, the terminal device 100 can send the first data to the cloud side device 300 at a regular interval, or can respond to a data acquisition request sent by the cloud side device 300 and send the first data to the cloud side device 300 according to the data acquisition request, without specific limitation.
[0124] It should be noted that when the terminal device 100 sends the first data to the cloud side device at a fixed time, different terminal devices may send the first data at different times, and the same terminal device may send the first data at different times. Preferably, when the terminal device 100 is in the night screen off state, the terminal device 100 sends the first data to the cloud side device 300.
[0125] S203. The cloud-side device 300 generates second data based on the first data and the cloud-side user historical data, where the second data includes one or more of the following: a subnet model and a model feature.
[0126] The cloud-side device 300 generates second data based on the first data and the cloud-side user historical data, and the second data includes one or more of the following: a subnet model and a model feature. Specifically, the cloud-side device 300 performs a model structure search based on the terminal device data to obtain a subnet model. The cloud-side device 300 trains a cloud-side model or a subnet model based on the user historical data and the cloud-side user historical data, respectively, and extracts features from the trained cloud-side model or subnet model based on the application service information to obtain model features, and the application service information includes the name of the application service existing in the terminal device.
[0127] Please continue reading Figure 3 ,exist Figure 3 In the example shown, after the cloud-side device 300 receives the user history data sent by the terminal device 100, the cloud-side device 300 integrates the newly received user history data and the existing cloud-side user history data to obtain training data. The cloud-side device 300 labels the training data and constructs training samples, and uses the training samples to perform model training.
[0128] Specifically, the cloud-side device 300 needs to pre-process the training samples before model training, that is, convert the training samples into a format suitable for model training. Afterwards, the cloud-side device 300 builds a deep learning model, including determining the architecture of the model, defining the number of layers of the model, the number of neurons in each layer, and the loss function. After the cloud-side device 300 builds the deep learning model, it uses the training samples to train the model to obtain the cloud-side model. During the training process, the cloud-side device 300 can set some hyperparameters to improve the training efficiency and model performance of the model, such as the learning rate.
[0129] For example, the cloud-side device 300 receives user click records of "Sports Application 1", "Communication Application 1" and "Video Application 1" from the terminal device in the past month and four scene identifiers. The cloud-side device 300 also stores user click records of "Alarm Application 1", "Communication Application 2" and "Video Application 2" collected by other terminal devices in the past month and two other scene identifiers. The cloud-side device 300 integrates and labels these user historical data and cloud-side user historical data to obtain training samples, that is, training samples of a total of 12 data corresponding to user click records of 6 applications and 6 scene identifiers. The cloud-side device 300 performs prediction preprocessing on the 12 training samples, for example, mapping the 12 training samples into 12 groups of N-dimensional feature vectors. The cloud-side device uses these 12 groups of N feature vectors to train the deep learning model and outputs a converged cloud-side model.
[0130] It should be noted that the above embodiment only uses 12 training samples to exemplify the training process of the cloud-side model. In the actual training process of the cloud-side model, the terminal device 100 can send 50 to 200 pieces of user historical data to the cloud-side device 300 every day, and the cloud-side device 300 can receive user historical data sent by more than 100 million terminal devices. Therefore, the training data of the cloud-side device 300 can be as many as 5 to 20 billion training data, and the cloud-side device 300 can be trained based on 5 to 20 billion pieces of data.
[0131] In some possible implementations, when the cloud-side device 300 performs a model structure search based on the terminal device data, the cloud-side device 300 determines a search space for the model structure based on the terminal device data, and performs a model structure search in the search space to search for candidate model structures, and performs model training and evaluation based on the candidate model structures, thereby obtaining a subnet model.
[0132] Please continue reading Figure 3 ,exist Figure 3 In the example shown, after the cloud-side device 300 receives the terminal device data, it determines the computing power constraint of the terminal device for running the local model according to the terminal device data, and performs a model structure search based on the computing power constraint.
[0133] Specifically, in the process of searching the model structure, the cloud-side device 300 first determines the computing power constraint of the subnet model based on the terminal device data sent by the terminal device 100, and then defines the model structure search space based on the computing power constraint. Then, based on the search algorithm, the model structure search is performed in the model structure search space to obtain multiple candidate model structures. The cloud-side device 300 performs model training and evaluation on multiple candidate model structures to determine a subnet model whose performance indicators meet the requirements. It should be noted that the cloud-side device 300 can solidify the model features of the trained cloud-side model when training the subnet model, thereby accelerating the training process of the subnet model.
[0134] The above-mentioned model structures include feedforward neural networks (FNN), convolutional neural networks (CNN) and recurrent neural networks (RNN). The above-mentioned search algorithms include greedy search, random search, genetic algorithm and reinforcement learning.
[0135] For example, the cloud-side device 300 performs a model structure search based on the processor model and running memory of the terminal device 100, and determines a lightweight convolutional neural network model as a candidate model architecture for the subnet model. The cloud-side device 300 further trains the lightweight convolutional neural network model based on user historical data and terminal-side user historical data to obtain a subnet model.
[0136] It is understandable that, in the process of searching the model structure according to the terminal device data, the cloud side device 300 can also perform pruning and quantization on the trained cloud side model based on the terminal device data to obtain a subnet model. Pruning can reduce the model size and computational complexity by removing unnecessary parameters and connections in the model, and quantization can reduce the storage space and computational complexity of the model by converting the floating point parameters of the model into low-precision integers or fixed point representations.
[0137] In a possible implementation, when the cloud-side device 300 extracts features from the trained cloud-side model based on the application service information, the cloud-side device 300 determines the application service name associated with the terminal device 100 based on the application service information of the terminal device 100, and extracts features from the trained cloud-side model based on these application service names to obtain model features corresponding to these application service names, which are also called embedding features. Embedding features can be represented by vectors, and each vector can represent an application service name.
[0138] Please continue reading Figure 3 ,exist Figure 3 In the example shown, after the cloud-side device 300 obtains the trained cloud-side model or subnet model, the cloud-side device 300 extracts features from the cloud-side model or subnet model according to the application service information of the terminal device 100. Specifically, the cloud-side device 300 determines the application service name associated with the terminal device 100 based on the user service information, the cloud-side device 300 obtains the model features corresponding to all the training data in the model training phase, and the cloud-side device 300 extracts the model features corresponding to the application service name associated with the terminal device 100 from the model features corresponding to all the training based on the application service name associated with the terminal device 100.
[0139] For example, the user service information sent by the terminal device 100 includes "sports application 1", "communication application 1" and "video application 1", and all the training data of the cloud-side device 300 include "sports application 1", "communication application 1" and "video application 1", "alarm application 1", "communication application 2" and "video application 2", a total of 6 applications and 4 scene identifiers, and the model features of the cloud-side model of the cloud-side device 300 include the model features corresponding to all the training data. The cloud-side device 300 extracts the model features corresponding to only "sports application 1", "communication application 1" and "video application 1" to obtain the model features associated with the terminal device 100. For example, the model features corresponding to "sports application 1" are {0.3, -0.1, 0.2, ..., 0.7, 1.2}, the model features corresponding to "communication application 1" are {0.4, -0.6, 0.2, ..., 0.8, 1.1}, and the model features corresponding to "video application 1" are {1.2, -0.3, 0.9, ..., 0.1, 0.3}.
[0140] After obtaining the subnet model and the model features, the cloud-side device 300 archives the subnet model and the model features respectively, and stores them in the memory of the cloud-side device.
[0141] S204. The cloud-side device 300 sends the second data to the terminal device 100.
[0142] The cloud side device 300 sends the second data to the terminal device 100, and the second data includes one or more of the following: a subnet model and a model feature. The cloud side device 300 may send the second data to the terminal device 100 periodically, or may send the subnet model and the model feature to the terminal device 100 based on the subnet model acquisition request or the model feature acquisition request of the terminal device 100, without specific limitation.
[0143] S205. The terminal device 100 updates the local model according to the second data.
[0144] After receiving the second data, the terminal device 100 updates the local model according to the second data. Specifically, the terminal device 100 replaces the local model based on the subnet model sent by the cloud-side device 300, or the terminal device modifies the model features of the local model based on the model features sent by the cloud-side device 300. After the terminal device 100 updates the local model according to the second data, the real-time user historical data collected by the terminal device 100 is used to train the updated local model.
[0145] Among them, in the process of the terminal device 100 updating the local model based on the model features sent by the cloud-side device 300, the terminal device 100 can merge the model features sent by the cloud-side device 300 with the model features of the local model, and the terminal device 100 can also replace the model features of the local model with the model features sent by the cloud-side device 300, without specific limitation.
[0146] It should be noted that when the terminal device 100 simultaneously receives the subnet model and model features sent by the cloud-side device 300, that is, the training data source of the subnet model and the extraction data source of the model features are the same batch of training data, the terminal device 100 can choose to use the subnet model to replace the local model, or choose to use the model features to update the local model, without limitation.
[0147] In the embodiment of the present application, the terminal device 100 updates the local model based on the subnet model or cloud model most recently sent by the cloud device 300. That is, when the terminal device 100 first receives the subnet model sent by the cloud device 300, and then receives the model features sent by the cloud device 300, the terminal device 100 uses the model features to update the model features of the local model, and the local model is the replaced subnet model. When the terminal device 100 first receives the model features sent by the cloud device 300, and then receives the subnet model sent by the cloud device 300, the terminal device 100 uses the subnet model to replace the local model whose model features have been updated.
[0148] Please continue reading Figure 3 ,exist Figure 3 In the example shown, the terminal device 100 updates the local model based on the subnet model or model features. For example, the terminal device 100 replaces the local model of the terminal device 100 based on the lightweight convolutional neural network model sent by the cloud-side device 300, and at the same time, the user historical data collected by the terminal device 100 is used to continue training the convolutional neural network model on the terminal device.
[0149] For another example, the terminal device 100 fuses the model features of the local model based on the model features sent by the cloud-side device 300, namely, the model features {0.3, -0.1, 0.2, ..., 0.7, 1.2} corresponding to "sports application 1", the model features {0.4, -0.6, 0.2, ..., 0.8, 1.1} corresponding to "communication application 1", and the model features {1.2, -0.3, 0.9, ..., 0.1, 0.3} corresponding to "video application 1", to obtain a local model after the fusion model features. Afterwards, the terminal device 100 continues to use the collected user history data to continue to train the local model after the fusion model features in the terminal device.
[0150] S206. The terminal device 100 recommends application service content based on the updated local model.
[0151] The terminal device 100 recommends application service content based on the updated local model. Specifically, the terminal device 100 obtains all application service records, and screens out candidate application service records that need to be input into the local model through the recall module. The terminal device 100 inputs the candidate application service records into the local model, and the local model calculates the recommendation score of each candidate application service. The sorting module of the terminal device 100 sorts the candidate application services based on the recommendation score output by the local model, and the application services are loaded into the display interface of the terminal device 100 according to the sorting through the loading module.
[0152] Please continue reading Figure 3 ,exist Figure 3 In the example shown, the terminal device 100 recommends application service content based on the updated local model. For example, the application service records of the terminal device 100 are "Sports Application 1", "Sports Application 2", "Communication Application 1", "Video Application 1", "Calendar Application 1", "Weather Service" and "Conference Service", and the terminal device 100 determines the candidate application services as "Sports Application 1", "Communication Application 1", "Video Application 1", "Calendar Application 1", "Weather Service" and "Conference Service" through the recall module. After the terminal device 100 inputs the candidate application services into the local model, the recommendation score of "Sports Application 1" is 78, the recommendation score of "Communication Application 1" is 90, the recommendation score of "Video Application 1" is 80, the recommendation score of "Calendar Application 1" is 40, the recommendation score of "Weather Service" is 80, and the recommendation score of "Conference Service" is 75.
[0153] exist Figure 3 In the example shown, the terminal device 100 sorts the candidate application services through the sorting module, and the applications sorted from high to low according to the recommendation score are "communication application 1", "video application 1", "sports application 1" and "calendar application 1", and the services sorted from high to low according to the recommendation score are "weather service" and "conference service". Therefore, the terminal device 100 loads "communication application 1", "video application 1" and "weather service" into the display interface of the "application service recommendation assistant" of the terminal device 100 through the loading module, so that the user of the terminal device 100 can select these application services from the application service recommendation assistant.
[0154] It is understandable that the terminal device 100 sets the number of applications and services that the "application service recommendation assistant" can display through the loading module. For example, the terminal device 100 can set the "application service recommendation assistant" to display 3 recommended applications and 2 recommended services.
[0155] See also Figure 4a , Figure 4aA schematic diagram of a display interface of a terminal device provided in an embodiment of the present application. Figure 4a In the example shown, the application service recommendation assistant in the terminal device 100 provides personalized application service recommendations to the user based on the local model. For example, the terminal device recommends "communication application 1", "video application 1", "weather service" and "conference service" to the user in the display card of the application service recommendation assistant. The user of the terminal device 100 can click on the corresponding application or service in the application service recommendation assistant to quickly enter the corresponding application or service interface.
[0156] It is understandable that in Figure 4a In the example shown, as the user of the terminal device 100 changes the application service usage habits, the time, and the terminal location, the content recommendation results of the local model in the terminal device 100 will change, that is, the display content of the application service recommendation assistant of the terminal device 100 will also change. For example, the application service recommendation assistant recommends "map application" and "ride code service" to the user based on the change of the location of the terminal device 100. For example, the user of the terminal device often uses the ordering application at 11 am, and the application service recommendation assistant recommends "ordering application" and "payment code service" to the user at 11 am based on the user habits of the terminal device 100.
[0157] It should be noted that the user of the terminal device 100 can choose to turn on or off the personalized recommendation service of the application service. Figure 4b In the example shown, when the user of the terminal device 100 does not need personalized recommendation of application service content, the user can turn off the personalized recommendation service in the setting bar of the application service recommendation assistant of the terminal device 100.
[0158] from Figure 2 It can be seen from the illustrated embodiment that the terminal device 100 in the embodiment of the present application can provide user historical data and terminal device data to the cloud-side device, and the cloud-side device 300 can perform feature extraction and model structure search on the cloud-side model based on the data sent by the terminal device 100, and send the model features obtained by feature extraction and the subnet model obtained by model structure search to the terminal device 100, update the local model of the terminal device 100, thereby improving the recommendation accuracy and recommendation response speed of the updated local model for application service recommendations.
[0159] The above introduces the content recommendation method for updating the local model by combining model structure search and model feature extraction in the embodiment of the present application. The following introduces the content recommendation method for updating the local model based on model feature extraction and the content recommendation method for updating the local model based on model structure search respectively.
[0160] See also Figure 5 , Figure 5 A flowchart of a content recommendation method based on feature extraction and updating of a local model provided in an embodiment of the present application. Figure 5 In the example shown, the method includes the following steps:
[0161] S301. The terminal device 100 collects user historical data.
[0162] In step S301, the terminal device 100 only needs to collect user history data, and does not need to collect terminal device data. Figure 2 The user history data collected by the terminal device in step S201 of the illustrated embodiment is the same and will not be described in detail.
[0163] S302. The terminal device 100 sends user history data to the cloud-side device 300.
[0164] In step S302, the terminal device 100 sends the user history data to the cloud device 300. Step S302 is similar to the above Figure 2 The difference of step S202 of the illustrated embodiment is that the terminal device 100 does not need to send the terminal device data to the cloud-side device 300 .
[0165] See also Figure 6 , Figure 6 A schematic diagram of a content recommendation method based on feature extraction and updating of a local model provided in an embodiment of the present application. Figure 6 In the example shown, the data collection module 101 of the terminal device 100 collects user history data and sends the user history data to the cloud-side device 300. The user history data includes, for example, 3 application service click records and 4 scene identifiers. The 3 application service click records include user click records of "sports application 1", "communication application 1" and "video application 1" in the past month, and the 4 scene identifiers include scene identifiers corresponding to "morning", "noon", "evening" and "wearing headphones".
[0166] S303. The cloud-side device 300 trains a cloud-side model based on the user history data and the cloud-side user history data.
[0167] S304. The cloud-side device 300 extracts model features based on the user service information of the terminal device 100 to obtain model features.
[0168] S305. The cloud-side device 300 archives the model features.
[0169] In step S303 to step S305, the method performed by the cloud side device 300 is the same as the above Figure 2In step S203 of the illustrated embodiment, the method in which the cloud-side device 300 trains the cloud-side model and extracts features based on the cloud-side model is the same and will not be described in detail.
[0170] S306. The cloud-side device 300 sends the model features corresponding to the user service information to the terminal device 100.
[0171] In step S306, the cloud side device 300 sends the model features corresponding to the user service information to the terminal device 100. Step S306 is similar to the above Figure 2 The difference of step S204 of the illustrated embodiment is that the cloud-side device 300 only sends the model features corresponding to the user service information to the terminal user device 100 .
[0172] Please continue reading Figure 6 ,exist Figure 6 In the example shown, the cloud-side device 300 extracts model features based on the user service information of the terminal device 100 to obtain model features, and sends the model features corresponding to the user service information to the terminal device 100. For example, the model features corresponding to the user service information are {0.3, -0.1, 0.2, ..., 0.7, 1.2}, the model features corresponding to "sports application 1" are {0.4, -0.6, 0.2, ..., 0.8, 1.1}, and the model features corresponding to "video application 1" are {1.2, -0.3, 0.9, ..., 0.1, 0.3}.
[0173] S307. The terminal device 100 updates the model features of the current model based on the model features.
[0174] S308. The terminal device 100 trains an updated local model based on the user's historical data.
[0175] In step S307 to step S308, the method performed by the terminal device 100 is the same as that described above. Figure 2 In step S205 of the illustrated embodiment, the method in which the terminal device 100 updates the model features of the local model based on the model features and trains the updated local model is the same and will not be described in detail.
[0176] Please continue reading Figure 6 ,exist Figure 6 In the example shown, after the terminal device 100 obtains the model features sent by the cloud device 300, the model features of the local model of the terminal device 100 are updated based on the model features. The terminal device 100 performs model training on the updated local model based on the user history data on the terminal device side.
[0177] S309. The terminal device 100 recommends service content based on the local model.
[0178] In step S309, the terminal device 100 executes the method as described above. Figure 2 The method in step S206 of the illustrated embodiment in which the terminal device 100 recommends application service content based on the updated local model is the same and will not be described in detail.
[0179] from Figure 5 It can be seen from the illustrated embodiment that the terminal device 100 in the embodiment of the present application can provide user historical data to the cloud-side device, and the cloud-side device 300 can train the cloud-side model based on the data sent by the terminal device 100, extract features of the cloud-side model based on the application service information of the terminal device 100 and send them to the terminal device 100, and update the local model of the terminal device, thereby improving the recommendation accuracy and recommendation response speed of the updated local model for application service recommendations.
[0180] See also Figure 7 , Figure 7 A flowchart of a content recommendation method provided in an embodiment of the present application. Figure 7 In the example shown, the method includes the following steps:
[0181] S401. The terminal device 100 collects user historical data and terminal device data.
[0182] S402. The terminal device 100 sends user history data and terminal device data to the cloud-side device 300.
[0183] The method executed by the terminal device 100 in step S401 to step S402 is the same as that described above. Figure 2 The method described in the terminal device 100 in step S201 of the illustrated embodiment is the same and will not be described in detail.
[0184] See also Figure 8 , Figure 8 A schematic diagram of a content recommendation method based on feature extraction and updating of a local model provided in an embodiment of the present application. Figure 8 In the example shown, the data collection module 101 of the terminal device 100 collects user history data and terminal device data, and sends the user history data and terminal device data to the cloud side device 300. The user history data includes, for example, 3 application service click records and 4 scene identifiers, and the terminal device data includes, for example, the processor model and running memory size of the terminal device.
[0185] S403. The cloud-side device 300 performs a model search based on the terminal device data to obtain a subnet model.
[0186] S404. The cloud-side device 300 trains a subnet model based on user historical data.
[0187] S405. The cloud-side device 300 archives the subnet model.
[0188] The method performed by the cloud side device 300 in steps S403 to S405 is the same as the above Figure 2 The method described in the terminal device 100 in step S201 of the illustrated embodiment is the same and will not be described in detail.
[0189] Please continue reading Figure 8 ,exist Figure 8 In the example shown, the cloud-side device 300 performs a model structure search based on the terminal device data of the terminal device 100 to obtain a subnet model, and performs model training on the subnet model based on the user history data of the terminal device 100 and the cloud-side user history data. The terminal device archives the trained subnet model.
[0190] S406. The cloud-side device 300 sends the subnet model to the terminal device 100.
[0191] In step S406, the cloud side device 300 sends the subnet model to the terminal device 100. Step S405 is the same as the above Figure 2 The difference of step S204 in the illustrated embodiment is that the cloud-side device 300 only sends the subnet model to the end-user device 100. The subnet model is, for example, a lightweight convolutional neural network model.
[0192] S407. The terminal device 100 replaces the local model based on the subnet model.
[0193] S408. The terminal device 100 trains the replaced local model based on the user's historical data.
[0194] In step S407 to step S408, the method performed by the terminal device 100 is the same as that described above. Figure 2 The method in step S205 of the illustrated embodiment in which the terminal device 100 replaces the local model based on the subnet model and trains the replaced local model is the same and will not be described in detail.
[0195] Please continue reading Figure 8 ,exist Figure 8 In the example shown, after the terminal device 100 obtains the subnet model sent by the cloud device 300, the local model of the terminal device 100 is replaced based on the subnet model. The terminal device 100 performs model training on the replaced local model based on the user history data on the terminal device side.
[0196] S409. The terminal device 100 recommends service content based on the local model.
[0197] In step S409, the terminal device 100 executes the method as described above. Figure 2The method in step S206 of the illustrated embodiment in which the terminal device 100 recommends application service content based on the updated local model is the same and will not be described in detail.
[0198] from Figure 7 It can be seen from the illustrated embodiment that the terminal device 100 in the embodiment of the present application can provide user historical data and terminal device data to the cloud-side device 300, and the cloud-side device 300 can perform a model structure search based on the data sent by the terminal device 100, and send the subnet model to the terminal device 100 to replace the local model of the terminal device 100, thereby improving the recommendation accuracy and recommendation response speed of the replaced local model for application service recommendations.
[0199] Based on the above method embodiments, the embodiments of the present application also provide a terminal-side device and a cloud-side device. The terminal-side device and the cloud-side device provided by the embodiments of the present application are described in detail below.
[0200] See also Fig. 9 , Fig. 9 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application. Fig. 9 In the example shown, the terminal-side device 900 is used to implement the various steps performed by the terminal device 100 in the above-mentioned embodiments. The terminal-side device 900 includes a data acquisition module 901 and a terminal-side learning module 902 .
[0201] Among them, the data collection module 901 is used to send the first data collected by the terminal device to the cloud-side device, and the first data includes one or more of the following data: user history data and terminal device data. The user history data is used to train the local model of the terminal device, and the local model is used to recommend application service content. The terminal-side learning module 902 is used to receive the second data sent by the cloud-side device, and the second data includes one or more of the following data: model features and subnet models. The model features are model features extracted by the cloud-side device based on the cloud-side model. The subnet model is a model simplified by the cloud-side device based on the terminal device data. The cloud-side model is a content recommendation model trained by the cloud-side device based on the cloud-side user history data. The cloud-side user history data is the user history data collected by different terminal devices. The terminal-side learning module 902 is also used to update the local model based on the second data. The terminal-side learning module 902 is also used to recommend application service content to the terminal device based on the updated local model.
[0202] In some possible implementations, the first data includes user historical data, the second data includes model features, and the terminal-side learning module 902 is specifically used to modify the model features in the local model based on the model features to obtain an updated local model.
[0203] In some possible implementations, the first data also includes terminal device data, and the terminal device data is used to indicate the computing power constraints of the terminal device running the local model. The second data includes the subnet model. The terminal-side learning module 902 is specifically used to replace the local model with the subnet model to obtain an updated local model.
[0204] In some possible implementations, the terminal-side learning module 902 is also used to train an updated local model based on user historical data, where the user historical data includes one or more of the following: application service click records, scenario data, time data, and device status data.
[0205] In some possible implementations, the device further includes a recall module 903, a sorting module 904, and a filling module 905. The recall module 903 is used to determine the candidate application service content based on the record of the historical application service content on the terminal side. The terminal-side learning module 902 is also used to generate a recommendation score for the candidate application service content based on the updated local model, and the recommendation score is used to indicate the click probability of the candidate application service content. The sorting module 904 is used to sort the candidate application service content according to the recommendation score. The filling module 905 is used to push the application service content to the terminal device according to the sorting result.
[0206] In some possible implementations, the data collection module 901 is further used to collect the first data based on the application running record in the terminal device and the hardware parameters of the terminal device, the application running record is used to collect user historical data, and the hardware parameters are used to collect terminal device data. The data collection module 901 is specifically used to send the first data to the cloud side device at a fixed time, or, in response to a data acquisition request sent by the cloud side device, send the first data to the cloud side device according to the data acquisition request.
[0207] In some possible implementations, the data acquisition module 901 is also used to send application service information to the cloud-side device. The application service information includes the application service name existing in the terminal device. The application service information is used to extract model features associated with the terminal device in the cloud-side model.
[0208] In some possible implementations, the model feature includes a vector representation corresponding to the application service information.
[0209] See also Fig.10 , Fig.10 A schematic diagram of the structure of a cloud-side device provided in an embodiment of the present application. Fig.10 In the example shown, the cloud-side device 1000 is used to implement the various steps performed by the cloud-side device 300 in the above-mentioned embodiments. The cloud-side device 1000 includes a data acquisition module 1001 and an archiving module 1002 .
[0210] Among them, the data acquisition module 1001 is used to receive the first data sent by the terminal device, and the first data includes one or more of the following data: user history data and terminal device data. The user history data is used to train the local model of the terminal device, and the local model is used to recommend application service content. The archiving module 1002 is used to generate second data based on the first data and the cloud-side user history data. The second data includes one or more of the following data: model features and subnet models. The model features are model features extracted by the cloud-side device based on the cloud-side model. The subnet model is a model simplified by the cloud-side device based on the terminal device data. The cloud-side model is a content recommendation model trained by the cloud-side device based on the cloud-side user history data. The cloud-side user history data includes user history data collected by different terminals. The archiving module 1002 is also used to send second data to the terminal device, and the second data is used to update the local model.
[0211] In some possible implementations, the data acquisition module 1001 is also used to obtain application service information of the terminal device, where the application service information includes the name of the application service existing in the terminal device, and the application service information is used to extract model features associated with the terminal device in the cloud-side model.
[0212] In some possible implementations, the first data includes user history data, the second data includes model features, and the device further includes a model training module 1003 and a feature extraction module 1004. The model training module 1003 is used to train a cloud-side model based on user history data and cloud-side user history data. The feature extraction module 1004 is used to extract features from the trained cloud-side model based on application service information to obtain model features, which are used to modify model features in the local model.
[0213] In some possible implementations, the model feature includes a vector representation corresponding to the application service information.
[0214] In some possible implementations, the first data also includes terminal device data, the terminal device data is used to indicate the computing power constraint of the terminal device running the local model, and the apparatus also includes a model search module 1005. The model search module 1005 is used to search the model structure in the cloud-side model based on the terminal device data, determine the subnet model, the subnet model satisfies the computing power constraint, and the subnet model is used to replace the local model.
[0215] In some possible implementations, the model training module is also used to train the subnet model using user historical data and cloud-side user historical data, where both the user historical data and the cloud-side user historical data include one or more of the following: application service click records, scene data, time data, and device status data.
[0216] It should be understood that the division of units or modules in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And the units or modules in the device can all be implemented in the form of software calling through processing elements, or they can all be implemented in the form of hardware, or some units or modules can be implemented in the form of software calling through processing elements, and some units or modules can be implemented in the form of hardware. For example, each unit or module can be a separately established processing element, or it can be integrated in a certain chip of the device for implementation. In addition, it can also be stored in a memory in the form of a program, and a certain processing element of the device calls and executes the function of the unit or module. In addition, these units or modules can be integrated together in whole or in part, or they can be implemented independently. The processing element described here can also be a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each unit or module above can be implemented by an integrated logic circuit of hardware in a processor element or in the form of software calling through a processing element.
[0217] It is worth noting that, for the above method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should know that the present application is not limited to the described order of actions. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required for the present application.
[0218] Other reasonable step combinations that can be thought of by those skilled in the art based on the above description also fall within the scope of protection of this application. Secondly, those skilled in the art should also be familiar with the fact that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by this application.
[0219] See also Fig.11 , Fig.11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig.11 As shown, the electronic device 1100 includes: a processor 1101, a memory 1102, a communication interface 1103 and a bus 1104. The processor 1101, the memory 1102 and the communication interface 1103 are coupled via a bus (not marked in the figure). The memory 1102 stores instructions. When the execution instructions in the memory 1102 are executed, the electronic device 1100 executes the method executed by the terminal device 100 or the cloud side device 300 in the above method embodiment.
[0220] In some possible implementations, when the electronic device 1100 executes the method executed by the terminal device 100 in the above method embodiment, the electronic device includes one or more of the following: a mobile phone, a computer, a laptop computer, a tablet, a wearable device, and a vehicle-mounted device.
[0221] In some possible implementations, when the electronic device 1100 executes the method executed by the cloud-side device 300 in the above method embodiment, the electronic device includes one or more of the following: a network device, a server, a computing device, and a computing device cluster.
[0222] The electronic device 1100 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASIC), or one or more microprocessors (digital signal processors, DSP), or one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when the unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For another example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0223] The processor 1101 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0224] The memory 1102 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM).
[0225] The memory 1102 stores executable program codes, and the processor 1101 executes the executable program codes to respectively implement the functions of the aforementioned terminal device 100 or the cloud-side device 300, thereby implementing the aforementioned content recommendation method. That is, the memory 1102 stores instructions for executing the aforementioned content recommendation method.
[0226] The communication interface 1103 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the electronic device 1100 and other devices or a communication network.
[0227] In addition to the data bus, the bus 1104 may also include a power bus, a control bus, and a status signal bus, etc. The bus may be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus may be divided into an address bus, a data bus, a control bus, etc.
[0228] See also Fig.12 , Fig.12 A schematic diagram of the structure of a chip is provided for an embodiment of the present application. Fig.12 As shown, the chip 1200 includes at least one processing circuit 1201 and an interface circuit 1202. The interface circuit 1202 and the at least one processing circuit are interconnected through lines. The at least one processing circuit 1201 is used to run a computer program or instruction. When the computer program or instruction is executed, the chip 1200 executes the method executed by the terminal device or the cloud-side device in the above method embodiment.
[0229] In one possible implementation, the chip 1200 described above in the present application also includes at least one storage circuit 1203, in which instructions are stored. When the instructions are executed, the chip 1200 executes the method executed by the terminal device or the cloud-side device in the above method embodiment.
[0230] In another embodiment of the present application, a computer-readable storage medium is also provided, in which computer execution instructions are stored. When the processor of the device executes the computer execution instructions, the device executes the method executed by the terminal device or the cloud side device in the above method embodiment.
[0231] In another embodiment of the present application, a computer program product is further provided, the computer program product comprising computer executable instructions, the computer executable instructions being stored in a computer readable storage medium. When the processor of the device executes the computer executable instructions, the device executes the method executed by the terminal device or the cloud side device in the above method embodiment.
[0232] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0233] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0234] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0235] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0236] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk and other media that can store program code.
Claims
1. A content recommendation method, characterized in that: Applied to a terminal device, the method comprises: Sending first data collected by the terminal device to a cloud-side device, the first data including one or more of the following data: user history data and terminal device data, the user history data being used to train a local model of the terminal device, and the local model being used to recommend application service content; Receive second data sent by the cloud-side device, the second data including one or more of the following data: a model feature and a subnet model, the model feature being a model feature extracted by the cloud-side device based on a cloud-side model, the subnet model being a model simplified by the cloud-side device based on the terminal device data, the cloud-side model being a content recommendation model trained by the cloud-side device based on the user history data and cloud-side user history data, and the cloud-side user history data being user history data collected by different terminal devices; updating the local model based on the second data; Recommend application service content to the terminal device based on the updated local model.
2. The method according to claim 1, characterized in that The first data includes the user history data, the second data includes the model features, and updating the local model based on the second data includes: The model features in the local model are modified based on the model features to obtain the updated local model.
3. The method according to claim 1 or 2, characterized in that: The first data further includes terminal device data, where the terminal device data is used to indicate a computing power constraint of the terminal device for running the local model, the second data includes a subnet model, and updating the local model based on the second data includes: The local model is replaced by the subnet model to obtain the updated local model.
4. The method according to any one of claims 1 to 3, characterized in that The method further comprises: The updated local model is trained based on the user history data, where the user history data includes one or more of the following: application service click records, scenario data, time data, and device status data.
5. The method according to any one of claims 1 to 4, characterized in that The recommending application service content to the terminal device based on the updated local model includes: Determine candidate application service content according to the record of historical application service content on the terminal side; generating a recommendation score for the candidate application service content based on the updated local model, wherein the recommendation score is used to indicate a click probability of the candidate application service content; sorting the candidate application service contents according to the recommendation scores; The application service content is pushed to the terminal device according to the sorting result.
6. The method according to any one of claims 1 to 5, characterized in that Before sending the first data collected by the terminal device to the cloud-side device, the method further includes: collecting the first data based on the application running record in the terminal device and the hardware parameters of the terminal device, the application running record is used to collect user historical data, and the hardware parameters are used to collect the terminal device data; The sending the first data collected by the terminal device to the cloud-side device includes: The first data is sent to the cloud side device at a regular interval, or, in response to a data acquisition request sent by the cloud side device, the first data is sent to the cloud side device according to the data acquisition request.
7. The method according to any one of claims 1 to 6, characterized in that The method further comprises: Application service information is sent to the cloud-side device, wherein the application service information includes an application service name existing in the terminal device, and the application service information is used to extract model features associated with the terminal device in the cloud-side model.
8. The method according to claim 7, characterized in that The model feature includes a vector representation corresponding to the application service information.
9. A content recommendation method, characterized in that: Applied to a cloud-side device, the method includes: Receiving first data sent by a terminal device, the first data including one or more of the following data: user history data and terminal device data, the user history data being used to train a local model of the terminal device, and the local model being used to recommend application service content; Generate second data according to the first data and cloud-side user historical data, the second data including one or more of the following data: model features and subnet models, the model features are model features extracted by the cloud-side device based on the cloud-side model, the subnet model is a model simplified by the cloud-side device based on the terminal device data, the cloud-side model is a content recommendation model trained by the cloud-side device based on the cloud-side user historical data, and the cloud-side user historical data includes user historical data collected by different terminals; The second data is sent to the terminal device, where the second data is used to update the local model.
10. The method according to claim 9, characterized in that The method further comprises: The application service information of the terminal device is obtained, wherein the application service information includes the name of the application service existing in the terminal device, and the application service information is used to extract the model features associated with the terminal device in the cloud-side model.
11. The method according to claim 10, characterized in that The first data includes user historical data, the second data includes model features, and the generating of the second data according to the first data and the cloud-side user historical data includes: Training the cloud-side model based on the user historical data and the cloud-side user historical data; Based on the application service information, feature extraction is performed on the trained cloud-side model to obtain model features, and the model features are used to modify the model features in the local model.
12. The method according to claim 11, characterized in that The model feature includes a vector representation corresponding to the application service information.
13. The method according to any one of claims 9 to 12, characterized in that The first data also includes terminal device data, where the terminal device data is used to indicate a computing power constraint of the terminal device for running the local model, and generating the second data according to the first data includes: A model structure search is performed in the cloud-side model based on the terminal device data to determine a subnet model, where the subnet model satisfies the computing power constraint and is used to replace the local model.
14. The method according to claim 13, characterized in that The method further comprises: The subnet model is trained using the user history data and the cloud-side user history data, wherein the user history data and the cloud-side user history data both include one or more of the following: application service click records, scenario data, time data, and device status data.
15. An electronic device, characterized in that: The electronic device comprises a processor coupled to a memory, wherein the memory is used to store instructions. When the instructions are executed by the processor, the electronic device executes the method according to any one of claims 1 to 8.
16. The electronic device according to claim 15, characterized in that: The electronic device includes one or more of the following: a mobile phone, a computer, a laptop, a tablet, a wearable device, and a vehicle-mounted device.
17. An electronic device, characterized in that: The electronic device comprises a processor coupled to a memory, wherein the memory is used to store instructions. When the instructions are executed by the processor, the electronic device executes the method according to any one of claims 9 to 14.
18. The electronic device according to claim 17, characterized in that: The electronic device includes one or more of the following: a network device, a computing device, and a computing device cluster.
19. A chip, comprising a processing circuit, wherein the processing circuit is coupled to an interface circuit, and the processing circuit is used to execute instructions. When the instructions are executed by the processing circuit, the chip executes the method according to any one of claims 1 to 8.
20. A chip, comprising a processing circuit, wherein the processing circuit is coupled to an interface circuit, and the processing circuit is used to execute instructions. When the instructions are executed by the processing circuit, the chip executes the method according to any one of claims 9 to 14.
21. A computer-readable storage medium having instructions stored thereon, characterized in that: When the instructions are executed, the computer is caused to execute the method according to any one of claims 1 to 8, or the computer is caused to execute the method according to any one of claims 9 to 14.
22. A computer program product, comprising instructions, characterized in that: When the instructions are executed, the computer implements the method according to any one of claims 1 to 8, or the computer implements the method according to any one of claims 9 to 14.
Citation Information
Cited By
Inference method, related device and inference system
CN119918679A