Information presentation method and related products

Local model aggregation between devices enables fast user preference adaptation and enhanced privacy by sharing user embeddings and model weights, addressing the inefficiencies and privacy concerns of traditional recommendation systems.

WO2025138218A1PCT designated stage expired Publication Date: 2025-07-03HUAWEI TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/143563
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Existing recommendation systems require a long period of data collection and usage pattern understanding for new users, and user privacy is not adequately protected in server-based model training.

Method used

A method for local model aggregation between devices, allowing users to share user embeddings and model weights through techniques like Bluetooth or Wi-Fi direct, enabling intuitive adaptation of user preferences and maintaining user control over data sharing.

Benefits of technology

Improves user experience by quickly adapting user preferences and enhancing privacy through local model aggregation, allowing users to trust and manage their data sharing preferences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023143563_03072025_PF_FP_ABST
    Figure CN2023143563_03072025_PF_FP_ABST
Patent Text Reader

Abstract

An information presentation method and related products. The method includes: in response to an opening operation, displaying a first interface on the first device, where the first interface includes recommendation content, and the recommendation content is obtained based on an aggregation result of a first model of the first device and a second model of a second device.
Need to check novelty before this filing date? Find Prior Art

Description

INFORMATION PRESENTATION METHOD AND RELATED PRODUCTSTECHNICAL FIELD

[0001] The present disclosure relates to the field of stream processing technologies, and in particular, to an information presentation method and related products.BACKGROUND

[0002] Recommendation systems are one of the basic parts of all applications and services. It helps the users to discover the items they like / intent according to their past behaviors or which is very apt for the given context or situation. The user “taste profile” is accumulated through past user interactions as a knowledge for machine leaning (ML) models. Models are trained on the same interaction data. The Models create user and item representations, known as user-embedding or item-embedding. The model parameters (also known as model weights) may be finetuned to ensure the accurate prediction / classification for the users are made, given an input, situation and user context.

[0003] This background information is provided to reveal information believed by the applicant to be of possible relevance to the present disclosure. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present disclosure.SUMMARY

[0004] In a first aspect, an information presentation method is provided by the present disclosure, the method is applied to a first device and includes:

[0005] in response to an opening operation, displaying a first interface on the first device, where the first interface includes recommendation content, and the recommendation content is obtained based on an aggregation result of a first model of the first device and a second model of a second device.

[0006] A first interface with recommendation content is displayed on the first device in response to an opening  operation. Since the recommendation content for the first user is obtained based on an aggregation result of the first model of the first device and the second model of the second device, such aggregation result will reflect different users’ historical data, so the aggregation will help the models to optimize a better model which can cover both users’ tastes or behavioral traits in an intuitive way, thus improving the user experience. Especially for a new user of application, he can adapt the taste from another user of similar tastes. New user no longer needs to go through a long period of data collection and usage pattern understanding by any machine learning model or systems.

[0007] In a possible implementation of the first aspect, further including:

[0008] sending a first aggregation request to the second device, where the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining the aggregation result of the first model of the first device and the second model of the second device; and

[0009] receiving a first aggregation response corresponding to the first aggregation request from the second device.

[0010] By virtue of the interaction based on the first aggregation request and the first aggregation response, the first device can communicate with the second device more efficiently.

[0011] In a possible implementation of the first aspect, where the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.

[0012] The aggregation of two models can be done when the version information of the two models are consistent, so the first version information may be useful for determining whether the aggregation can be done.

[0013] In a possible implementation of the first aspect, where the first aggregation response is indicative of the second version information;

[0014] where the method further includes:

[0015] determining whether the first version information corresponds to the second version information;

[0016] upon determining that the first version information is matched with the second version information, sending a second aggregation request to the second device, where the second aggregation request is used for requesting the second model-related information of the second model; and

[0017] receiving a second aggregation response from the second device, where the second aggregation response  is indicative of the second model-related information of the second model.

[0018] In a possible implementation of the first aspect, where sending the second aggregation request to the second device further includes:

[0019] upon determining that the first version information is not matched with the second version information, sending a model request to a third device, where the model request is used for requesting a third model of which third version information is matched with the second version information;

[0020] receiving a model response from the third device, where the model response is indicative of the third model.

[0021] In a possible implementation of the first aspect, where the first aggregation response is indicative of the second model-related information of the second model;

[0022] where the first version information of the first model is determined by the second device to be matched with the second version information of the second model.

[0023] In a possible implementation of the first aspect, where the first aggregation response is indicative of rejection of providing the aggregation information by the second device.

[0024] In a possible implementation of the first aspect, further including:

[0025] merging the first model-related information and the second model-related information; or,

[0026] replacing the first model-related information with the second model-related information.

[0027] Since the aggregation can be done locally between the first device and the second device, which is specific to the user and the user’s closed ones (friends, family etc. ) . This group is controlled by the user rather than by the cloud, therefore, more flexibility is given to the user.

[0028] In a possible implementation of the first aspect, where the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes the at least one first model weight of the first model;

[0029] where the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes the at least one second model weight of the second model.

[0030] In a possible implementation of the first aspect, where the at least one second model weight of the second model includes weights of first layers of the second model, and each of the first layers is a layer with a changeable weight.

[0031] In a possible implementation of the first aspect, where the at least one first model weight of the second model further includes weights of second layers of the second model, and each of the second layers is a layer with an unchangeable weight.

[0032] The aggregation can be done to unfreeze layers, that is, it is proposed to use the technique of partial fine-tuning instead of complete fine-tuning. Only certain parts of the model will be un-freeze for the weight updates. The client devices will get the base model and information about the unfreeze layers from the server. The local model training will modify the weights of unfreeze layers. When the user chooses for aggregation option, the weights from the unfreeze layers will be aggregated.

[0033] In a possible implementation of the first aspect, where the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes a first vector for the first model;

[0034] where the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes a second vector for the second model.

[0035] In a possible implementation of the first aspect, where the second vector for the second model includes a first part, and the first part for the second model includes user behavior information related to the second device.

[0036] In a possible implementation of the first aspect, where the second vector for the second model includes a second part, and the second part for the second model includes user attribute information related to the second device.

[0037] Intuitive way of sharing user’s identity gathered through past behaviors which is represented as a user-embedding or user vector. User vector has two parts, the first part as a dynamic part and the second part as a static part. The aggregation is done for the dynamic part, thereby achieving a fast character adaptation from another user, which is of great utility, opportunity to show trust among the users.

[0038] In a possible implementation of the first aspect, where merging the first model-related information and the second model-related information includes:

[0039] merging the first model-related information and the second model-related information using a first preset algorithm.

[0040] In a possible implementation of the first aspect, where the first preset algorithm is an average pooling algorithm or a max pooling algorithm.

[0041] In a possible implementation of the first aspect, where the first version information of the first model  includes a first tag version of first tag information derived from the first model, and the first model-related information of the first model includes the first tag information derived from the first model;

[0042] where the second version information of the second model includes a second tag version of second tag information derived from the second model, and the second model-related information of the second model includes the second tag information derived from the second model.

[0043] In a possible implementation of the first aspect, where the first aggregation response is indicative of the second tag information.

[0044] In a possible implementation of the first aspect, where the first aggregation response is further indicative of the second version information;

[0045] the method further includes:

[0046] updating the second tag information derived from the second model.

[0047] In a possible implementation of the first aspect, where updating the second model-related information in the aggregation information includes:

[0048] processing the second tag information derived from the second model using a second preset algorithm.

[0049] In a possible implementation of the first aspect, where the second preset algorithm is a min-max normalization algorithm.

[0050] User preferred tags and scores associated with each tag (the above tag information) can be shared among users, and processing such as standard normalization or min-max normalization of tag scores can be done before the aggregation. In this way, the recommendation content based on the aggregation result would be more accurate.

[0051] In a possible implementation of the first aspect, where the first tag information includes at least one first tag and at least one first score corresponding to the at least one first tag respectively;

[0052] where the second tag information includes at least one second tag and at least one second score corresponding to the at least one second tag respectively.

[0053] In a possible implementation of the first aspect, where before sending the first aggregation request to the second device, the method includes:

[0054] sending an aggregation confirmation request to the second device, where the aggregation confirmation request is used for requesting acceptation from the second device for obtaining the aggregation result of the first model and the second model; and

[0055] receiving an aggregation confirmation response from the second device, where the aggregation  confirmation response is indicative of acceptation of responding to the first aggregation request from the second device.

[0056] By virtue of the interaction based on aggregation confirmation request and the aggregation confirmation response before the aggregation, the efficiency of the method can be improved.

[0057] In a possible implementation of the first aspect, where the first aggregation response is indicative of acceptation of sharing the aggregation information with the first device;

[0058] the method further includes:

[0059] sending a third aggregation request to a third device, where the third aggregation request is used for requesting the aggregation result of the first model and the second model; and

[0060] receiving a third aggregation response from the third device, where the third aggregation response is indicative of the aggregation result of the first model and the second model.

[0061] According to the proposed solution, users have options to choose the “Cloud Aided Mode” in the preference management. The cloud aided mode will help users to manage the preference more generic than local mode. In the cloud aided mode, the model weights / user vector aggregation and user preferred tags aggregation will be done at the server side. In the cloud aided mode, the user can keep the checkpoints of the user vector, user preferred tags, and model weights.

[0062] In a possible implementation of the first aspect, where the first aggregation response is further indicative of authorization information for the first device, and the authorization validity information characterizes a grant from the second device for the sharing of the aggregation information with the first device;

[0063] where the third aggregation request is indicative of the authorization information.

[0064] In a possible implementation of the first aspect, where the aggregation result includes at least one of the following: at least one merged model weight of the first model and the second model, a merged vector based on a first vector for the first model and a second vector for the second model or merge tag information based on first tag information derived from the first model and second tag information derived from the second model.

[0065] In a possible implementation of the first aspect, where the first aggregation request is indicative of an identification of the first device.

[0066] The identification of the first device may be a unique identity of the first device, the identification of the first device would make the second device determine whether to agree the sharing of the aggregation information to the first device more quickly.

[0067] In a possible implementation of the first aspect, further including:

[0068] sending a reset request to a third device, where the reset request is used for requesting to reset the first model; and

[0069] receiving a reset response from the third device, where the third device is indicative of a preset version of the first model.

[0070] In a possible implementation of the first aspect, where the preset version of the first model is any one of a base model corresponding to the first model or a previous version of the first model before aggregation of the first model and the second model.

[0071] By virtue of the above interaction, it is possible for the first device to return back to a version before aggregation, user can revert back to these checkpoints, thus improving user experience.

[0072] In a possible implementation of the first aspect, before displaying the first interface on the first device, the method further includes:

[0073] in response to a first selection operation for an aggregation operation on a second interface, displaying a third interface on the first device; and

[0074] where sending the first aggregation request to the second device includes:

[0075] in response to a second selecting operation for the second device on the third interface, sending the first aggregation request to the second device.

[0076] In a possible implementation of the first aspect, further including:

[0077] in response to a third selecting operation for a management control on a fourth interface, displaying the second interface, where the fourth interface is used for presenting attribute information of a user of the first device.

[0078] In a possible implementation of the first aspect, where in response to the aggregation operation on the second interface, displaying the third interface on the first device includes:

[0079] in response to the merge triggering operation, displaying a fifth interface; and

[0080] in response to a fourth selecting operation for a communication manner on the fifth interface, displaying the third interface.

[0081] In a possible implementation of the first aspect, further including:

[0082] displaying a sixth interface corresponding to the aggregation operation, where the sixth interface is indicative of a process of the obtaining of the aggregation result.

[0083] With the help of these interfaces, the user can understand how the models and personal data are been  used, thereby protecting the user’s privacy. Besides, the user has options to Merge, Copy and Reset the taste profile, this provides the user with multiple choices and thus improving the user experience.

[0084] In a second aspect, an information presentation method is provided by the present disclosure, the method is applied to a second device and includes:

[0085] receiving a first aggregation request from a first device, where the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining an aggregation result of a first model of the first device and a second model of the second device; and

[0086] sending a first aggregation response corresponding to the first aggregation request to the first device.

[0087] By virtue of the interaction based on the first aggregation request and the first aggregation response, the first device can communicate with the second device more efficiently.

[0088] In a possible implementation of the second aspect, where the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.

[0089] In a possible implementation of the second aspect, where the first aggregation response is indicative of the second version information;

[0090] where the method further includes:

[0091] receiving a second aggregation request from the first device, where the second aggregation request is used for requesting the second model-related information of the second model; and

[0092] sending a second aggregation response to the first device, where the second aggregation response is indicative of the second model-related information of the second model.

[0093] In a possible implementation of the second aspect, further including:

[0094] determining whether the first version information corresponds to the second version information;

[0095] where sending the first aggregation response corresponding to the first aggregation request to the first device includes:

[0096] upon determining that the first version information is matched with the second version information, sending the first aggregation response to the first device, where the first aggregation response is indicative of the second model-related information of the second model.

[0097] In a possible implementation of the second aspect, further including:

[0098] receiving an aggregation confirmation request from the first device, where the aggregation confirmation request is used for requesting acceptation from the second device for obtaining the aggregation result of the first model and the second model; and

[0099] sending an aggregation confirmation response to the first device, where the aggregation confirmation response is indicative of acceptation of responding to the first aggregation request from the second device.

[0100] In a third aspect, an information presentation method is provided by the present disclosure, the method is applied to a third device and includes:

[0101] receiving a third aggregation request from a first device, where the third aggregation request is used for requesting an aggregation result of a first model of the first device and a second model of a second device, where a first aggregation request is sent from the first device to the second device for requesting aggregation information used for merging the first model and the second model, and a first aggregation response is sent from the second device for indicating acceptation of sharing the aggregation information with the first device by the second device;

[0102] obtaining the aggregation result based on the third aggregation request; and

[0103] sending a third aggregation response to the first device, where the third aggregation response is indicative of the aggregation result of the first model and the second model.

[0104] In a possible implementation of the third aspect, where the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.

[0105] In a possible implementation of the third aspect, where the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes the at least one first model weight of the first model;

[0106] where the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes the at least one second model weight of the second model.

[0107] In a possible implementation of the third aspect, where the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes  a first vector for the first model;

[0108] where the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes a second vector for the second model.

[0109] In a possible implementation of the third aspect, where the first version information of the first model includes a first tag version of first tag information derived from the first model, and the first model-related information of the first model includes the first tag information derived from the first model;

[0110] where the second version information of the second model includes a second tag version of second tag information derived from the second model, and the second model-related information of the second model includes the second tag information derived from the second model.

[0111] In a possible implementation of the third aspect, where obtaining the aggregation result based on the third aggregation request includes:

[0112] merging the first model-related information and the second model-related information to obtain merged model-related information as the aggregation result.

[0113] In a possible implementation of the third aspect, where obtaining the aggregation result based on the third aggregation request includes:

[0114] replacing the first model-related information with the second model-related information and taking the second model-related information as the aggregation result.

[0115] In a possible implementation of the third aspect, where the third aggregation request is indicative of an identification of the first device.

[0116] In a fourth aspect, an information presentation apparatus is provided by the present disclosure, and the apparatus includes various modules configured to execute the information presentation method according to the first aspect or any possible implementation of the first aspect.

[0117] In a fifth aspect, an information presentation apparatus is provided by the present disclosure, and the apparatus includes various modules configured to execute the information presentation method according to the second aspect or any possible implementation of the second aspect.

[0118] In a sixth aspect, an information presentation apparatus is provided by the present disclosure, and the apparatus includes various modules configured to execute the information presentation method according to the third aspect or any possible implementation of the third aspect.

[0119] In a seventh aspect, a first device is provided by the present disclosure, and the first device includes  processing circuitry for executing the information presentation method according to the first aspect or any possible implementation of the first aspect.

[0120] In an eighth aspect, a second device is provided by the present disclosure, and the second device includes processing circuitry for executing the information presentation method according to the second aspect or any possible implementation of the second aspect.

[0121] In a ninth aspect, a third device is provided by the present disclosure, and the third device includes processing circuitry for executing the information presentation method according to the third aspect or any possible implementation of the third aspect.

[0122] In a tenth aspect, a communication system is provided by the present disclosure, and the communication system includes the first device according to the seventh aspect, the second device according to the eighth aspect, and the third device according to the ninth aspect.

[0123] In an eleventh aspect, a chip is provided by the present disclosure, and the chip includes an input / output (I / O) interface and a processor, where the processor is configured to call and run computer execution instructions stored in a memory, to enable a device installing with the chip to execute the information presentation method according to the first aspect or any possible implementation of the first aspect or according to the second aspect or any possible implementation of the second aspect or according to the third aspect or any possible implementation of the third aspect.

[0124] In a twelfth aspect, a computer-readable medium is provided by the present disclosure, and the computer-readable medium includes storing computer execution instructions which, when executed by a processor, causes the processor to execute the information presentation method according to the first aspect or any possible implementation of the first aspect or according to the second aspect or any possible implementation of the second aspect or according to the third aspect or any possible implementation of the third aspect.

[0125] In a thirteenth aspect, a computer program product is provided by the present disclosure, and the computer program product includes computer execution instructions which, when executed by a processor, causes the processor to execute the information presentation method according to the first aspect or any possible implementation of the first aspect or according to the second aspect or any possible implementation of the second aspect or according to the third aspect or any possible implementation of the third aspect.

[0126] An information presentation method and related products are provided by the present disclosure. According to the embodiments of the present disclosure, a first interface with recommendation content is displayed  on the first device in response to an opening operation. Since the recommendation content for the first user is obtained based on an aggregation result of the first model of the first device and the second model of the second device, such aggregation result will reflect different users’ historical data, so the aggregation will help the models to optimize a better model which can cover both users’ tastes or behavioral traits in an intuitive way, thus improving the user experience.BRIEF DESCRIPTION OF DRAWINGS

[0127] The accompanying drawings are used to provide a further understanding of the present disclosure, constitute a part of the specification, and are used to explain the present disclosure together with the following specific embodiments, but should not be construed as limiting the present disclosure.

[0128] FIG. 1 is a schematic illustration of a communication system according to one or more embodiments of the present disclosure.

[0129] FIG. 2 is another schematic illustration of a communication system according to one or more embodiments of the present disclosure.

[0130] FIG. 3 is a schematic illustration of basic component structure of a communication system according to one or more embodiments of the present disclosure.

[0131] FIG. 4 is a block diagram of a device in a communication system according to one or more embodiments of the present disclosure.

[0132] FIG. 5A and FIG. 5B are exemplary schematic diagrams of applying the proposed solution on a music application.

[0133] FIG. 6 is an exemplary schematic diagram of different modes according to one or more embodiments of the present disclosure.

[0134] FIG. 7 is an exemplary schematic diagram showing an aggregation operation between two users according to one or more embodiments of the present disclosure.

[0135] FIG. 8 illustrates an exemplary interaction between a model controller server and devices.

[0136] FIG. 9 illustrates an exemplary architecture inside a client device.

[0137] FIG. 10 illustrates an exemplary application where the proposed solution can be applied.

[0138] FIG. 11 illustrates another exemplary application where the proposed solution can be applied.

[0139] FIG. 12A and FIG. 12B illustrate yet another exemplary application where the proposed solution can be  applied.

[0140] FIG. 13A illustrates a schematic flowchart of an information presentation method according to one or more embodiments of the present disclosure.

[0141] FIG. 13B illustrates an exemplary first interface according to one or more embodiments of the present disclosure.

[0142] FIG. 14 illustrates a schematic flowchart of an information presentation method according to one or more embodiments of the present disclosure.

[0143] FIG. 15A illustrates a schematic diagram of model weights of a local model of a user A according to one or more embodiments of the present disclosure.

[0144] FIG. 15B illustrates a schematic diagram of model weights of a local model of a user B according to one or more embodiments of the present disclosure.

[0145] FIG. 15C illustrates a schematic diagram of new model weights derived from the model weights of the local model of the user A shown in FIG. 15A and the model weights of the local model of the user B shown in FIG. 15B.

[0146] FIG. 16A illustrates a schematic diagram of merging of two user vectors according to one or more embodiments of the present disclosure.

[0147] FIG. 16B illustrates a schematic diagram of using user vector for similarity calculation and item re-ranking according to one or more embodiments of the present disclosure.

[0148] FIG. 17A illustrates a schematic diagram of model initialization according to one or more embodiments of the present disclosure.

[0149] FIG. 17B illustrates a schematic diagram of model training on a client device according to one or more embodiments of the present disclosure.

[0150] FIG. 17C illustrates a schematic diagram of aggregation of model weights and user vectors according to one or more embodiments of the present disclosure.

[0151] FIG. 18A illustrates a schematic diagram of creation of user preferred tags according to one or more embodiments of the present disclosure.

[0152] FIG. 18B illustrates a schematic diagram of aggregation of user tags according to one or more embodiments of the present disclosure.

[0153] FIG. 19 illustrates an exemplary schematic diagram of resetting of a model according to one or more  embodiments of the present disclosure.

[0154] FIG. 20A illustrates a schematic flowchart of an information presentation method according to one or more embodiments of the present disclosure.

[0155] FIG. 20B illustrates an exemplary schematic of enablement of a cloud aided mode according to one or more embodiments of the present disclosure.

[0156] FIG. 20C illustrates an exemplary schematic of merging in the cloud aided mode according to one or more embodiments of the present disclosure.

[0157] FIG. 21A and FIG. 21B illustrate exemplary interfaces related to invoking of the merging operation according to one or more embodiments of the present disclosure.

[0158] FIG. 22A and FIG. 22B illustrate exemplary interfaces related to invoking of the copy operation according to one or more embodiments of the present disclosure.

[0159] FIG. 23 illustrates exemplary interfaces related to invoking of the reset operation according to one or more embodiments of the present disclosure.

[0160] FIG. 24 illustrates exemplary interfaces related to invoking of the cloud aided mode according to one or more embodiments of the present disclosure.

[0161] FIG. 25 is a block diagram of an information presentation apparatus according to one or more embodiments of the present disclosure.

[0162] FIG. 26 is a block diagram of an information presentation apparatus according to one or more embodiments of the present disclosure.

[0163] FIG. 27 is a block diagram of an information presentation apparatus according to one or more embodiments of the present disclosure.DESCRIPTION OF EMBODIMENTS

[0164] In the following description, reference is made to the accompanying figures, which form part of the present disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and include structural or logical changes not depicted in the figures. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims.

[0165] To assist in understanding the present disclosure, examples of wireless communication systems and devices are described below.

[0166] Example communication systems and devices

[0167] Referring to FIG. 1, as an illustrative example without limitation, a simplified schematic illustration of a communication system is provided. The communication system 100 includes a radio access network 120. The radio access network 120 may be a next generation (e.g., sixth generation (6G) or later) radio access network, or a legacy (e.g., 5G, 4G, 3G or 2G) radio access network. One or more communication electric device (ED) 110a-120j (generically referred to as 110) may be interconnected to one another or connected to one or more network nodes (170a, 170b, generically referred to as 170) in the radio access network 120. A core network 130 may be a part of the communication system and may be dependent or independent of the radio access technology used in the communication system 100. Also, the communication system 100 includes a public switched telephone network (PSTN) 140, the internet 150, and other networks 160.

[0168] FIG. 2 illustrates an example communication system 100. In general, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content, such as voice, data, video, and / or text, via broadcast, multicast and unicast, etc. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, between its constituent elements. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a wide range of communication services and applications (such as earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc. ) . The communication system 100 may provide a high degree of availability and robustness through a joint operation of the terrestrial communication system and the non-terrestrial communication system. For example, integrating a non-terrestrial communication system (or components thereof) into a terrestrial communication system can result in what may be considered a heterogeneous network including multiple layers. Compared to conventional communication networks, the heterogeneous network may achieve better overall performance through efficient multi-link joint operation, more flexible functionality sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.

[0169] The terrestrial communication system and the non-terrestrial communication system could be considered sub-systems of the communication system. In the example shown, the communication system 100 includes electronic  devices (ED) 110a-110d (generically referred to as ED 110) , radio access networks (RANs) 120a-120b, non-terrestrial communication network 120c, a core network 130, a public switched telephone network (PSTN) 140, the internet 150, and other networks 160. The RANs 120a-120b include respective base stations (BSs) 170a-170b, which may be generically referred to as terrestrial transmit and receive points (T-TRPs) 170a-170b. The non-terrestrial communication network 120c includes an access node 120c, which may be generically referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.

[0170] Any ED 110 may be alternatively or additionally configured to interface, access, or communicate with any other T-TRP 170a-170b and NT-TRP 172, the internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, ED 110a may communicate an uplink and / or downlink transmission over an interface 190a with T-TRP 170a. In some examples, the EDs 110a, 110b and 110d may also communicate directly with one another via one or more sidelink air interfaces 190b. In some examples, ED 110d may communicate an uplink and / or downlink transmission over an interface 190c with NT-TRP 172.

[0171] The air interfaces 190a and 190b may use similar communication technology, such as any suitable radio access technology. For example, the communication system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA) in the air interfaces 190a and 190b. The air interfaces 190a and 190b may utilize other higher dimension signal spaces, which may involve a combination of orthogonal and / or non-orthogonal dimensions.

[0172] The air interface 190c can enable communication between the ED 110d and one or multiple NT-TRPs 172 via a wireless link or simply a link. In some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs and one or multiple NT-TRPs for multicast transmission.

[0173] The RANs 120a and 120b are in communication with the core network 130 to provide the EDs 110a 110b, and 110c with various services such as voice, data, and other services. The RANs 120a and 120b and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by core network 130, and may or may not employ the same radio access technology as RAN 120a, RAN 120b or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or EDs 110a 110b, and 110c or both, and (ii) other networks (such as the PSTN 140, the internet 150, and the other networks 160) . In addition, some or all of the EDs 110a 110b, and 110c may include functionality for  communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the EDs 110a 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown) , and to the internet 150. PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . Internet 150 may include a network of computers and subnets (intranets) or both, and incorporate protocols, such as Internet Protocol (IP) , Transmission Control Protocol (TCP) , User Datagram Protocol (UDP) . EDs 110a 110b, and 110c may be multimode devices capable of operation according to multiple radio access technologies, and incorporate multiple transceivers necessary to support such.

[0174] Basic component structure

[0175] FIG. 3 illustrates another example of an ED 110 and a base station 170a, 170b and / or 170c. The ED 110 is used to connect persons, objects, machines, etc. The ED 110 may be widely used in various scenarios, for example, cellular communications, device-to-device (D2D) , vehicle to everything (V2X) , peer-to-peer (P2P) , machine-to-machine (M2M) , machine-type communications (MTC) , internet of things (IOT) , virtual reality (VR) , augmented reality (AR) , industrial control, self-driving, remote medical, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.

[0176] Each ED 110 represents any suitable end user device for wireless operation and may include such devices (or may be referred to) as a user equipment / device (UE) , a wireless transmit / receive unit (WTRU) , a mobile station, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a machine type communication (MTC) device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, a consumer electronics device, a smart book, a vehicle, a car, a truck, a bus, a train, or an IoT device, an industrial device, or apparatus (e.g. communication module, modem, or chip) in the forgoing devices, among other possibilities. Future generation EDs 110 may be referred to using other terms. The base station 170a and 170b is a T-TRP and will hereafter be referred to as T-TRP 170. Also shown in FIG. 3, a NT-TRP will hereafter be referred to as NT-TRP 172. Each ED 110 connected to T-TRP 170 and / or NT-TRP 172 can be dynamically or semi-statically turned-on (i.e., established, activated, or enabled) , turned-off (i.e., released, deactivated, or disabled) and / or configured in response to one of more of: connection availability and connection necessity.

[0177] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is illustrated. One, some, or all of the antennas may alternatively be panels. The transmitter 201 and  the receiver 203 may be integrated, e.g. as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or network interface controller (NIC) . The transceiver is also configured to demodulate data or other content received by the at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals.

[0178] The ED 110 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the ED 110. For example, the memory 208 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processing unit (s) 210. Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device (s) . Any suitable type of memory may be used, such as random access memory (RAM) , read only memory (ROM) , hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, and the like.

[0179] The ED 110 may further include one or more input / output devices (not shown) or interfaces (such as a wired interface to the internet 150 in FIG. 1) . The input / output devices permit interaction with a user or other devices in the network. Each input / output device includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touch screen, including network interface communications.

[0180] The ED 110 further includes a processor 210 for performing operations including those related to preparing a transmission for uplink transmission to the NT-TRP 172 and / or T-TRP 170, those related to processing downlink transmissions received from the NT-TRP 172 and / or T-TRP 170, and those related to processing sidelink transmission to and from another ED 110. Processing operations related to preparing a transmission for uplink transmission may include operations such as encoding, modulating, transmit beamforming, and generating symbols for transmission. Processing operations related to processing downlink transmissions may include operations such as receive beamforming, demodulating and decoding received symbols. Depending upon the embodiment, a downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g. by detecting and / or decoding the signaling) . An example of signaling may be a reference signal transmitted by NT-TRP 172 and / or T-TRP 170. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on the indication of  beam direction, e.g. beam angle information (BAI) , received from T-TRP 170. In some embodiments, the processor 210 may perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as operations relating to detecting a synchronization sequence, decoding and obtaining the system information, etc. In some embodiments, the processor 210 may perform channel estimation, e.g. using a reference signal received from the NT-TRP 172 and / or T-TRP 170.

[0181] Although not illustrated, the processor 210 may form part of the transmitter 201 and / or receiver 203. Although not illustrated, the memory 208 may form part of the processor 210.

[0182] The processor 210, and the processing components of the transmitter 201 and receiver 203 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory (e.g. in memory 208) . Alternatively, some or all of the processor 210, and the processing components of the transmitter 201 and receiver 203 may be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA) , a graphical processing unit (GPU) , or an application-specific integrated circuit (ASIC) .

[0183] The T-TRP 170 may be known by other names in some implementations, such as a base station, a base transceiver station (BTS) , a radio base station, a network node, a network device, a device on the network side, a transmit / receive node, a Node B, an evolved NodeB (eNodeB or eNB) , a Home eNodeB, a next Generation NodeB (gNB) , a transmission point (TP) ) , a site controller, an access point (AP) , or a wireless router, a relay station, a remote radio head, a terrestrial node, a terrestrial network device, or a terrestrial base station, base band unit (BBU) , remote radio unit (RRU) , active antenna unit (AAU) , remote radio head (RRH) , central unit (CU) , distribute unit (DU) , positioning node, among other possibilities. The T-TRP 170 may be macro BSs, pico BSs, relay node, donor node, or the like, or combinations thereof. The T-TRP 170 may refer to the forging devices or apparatus (e.g. communication module, modem, or chip) in the forgoing devices.

[0184] In some embodiments, the parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remote from the equipment housing the antennas of the T-TRP 170, and may be coupled to the equipment housing the antennas over a communication link (not shown) sometimes known as front haul, such as common public radio interface (CPRI) . Therefore, in some embodiments, the term T-TRP 170 may also refer to modules on the network side that perform processing operations, such as determining the location of the ED 110, resource allocation (scheduling) , message generation, and encoding / decoding, and that are not necessarily part of the equipment housing the antennas of the T-TRP 170. The modules may also be coupled to other T-TRPs. In  some embodiments, the T-TRP 170 may actually be a plurality of T-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.

[0185] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is illustrated. One, some, or all of the antennas may alternatively be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver. The T-TRP 170 further includes a processor 260 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to NT-TRP 172, and processing a transmission received over backhaul from the NT-TRP 172. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, and demodulating and decoding received symbols. The processor 260 may also perform operations relating to network access (e.g. initial access) and / or downlink synchronization, such as generating the content of synchronization signal blocks (SSBs) , generating the system information, etc. In some embodiments, the processor 260 also generates the indication of beam direction, e.g. BAI, which may be scheduled for transmission by scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy NT-TRP 172, etc. In some embodiments, the processor 260 may generate signaling, e.g. to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is sent by the transmitter 252. Note that “signaling” , as used herein, may alternatively be called control signaling. Dynamic signaling may be transmitted in a control channel, e.g. a physical downlink control channel (PDCCH) , and static or semi-static higher layer signaling may be included in a packet transmitted in a data channel, e.g. in a physical downlink shared channel (PDSCH) .

[0186] A scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included within or operated separately from the T-TRP 170, which may schedule uplink, downlink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free ( “configured grant” ) resources. The T-TRP 170 further includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are  executed by the processor 260.

[0187] Although not illustrated, the processor 260 may form part of the transmitter 252 and / or receiver 254. Also, although not illustrated, the processor 260 may implement the scheduler 253. Although not illustrated, the memory 258 may form part of the processor 260.

[0188] The processor 260, the scheduler 253, and the processing components of the transmitter 252 and receiver 254 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in memory 258. Alternatively, some or all of the processor 260, the scheduler 253, and the processing components of the transmitter 252 and receiver 254 may be implemented using dedicated circuitry, such as a FPGA, a GPU, or an ASIC.

[0189] Although the NT-TRP 172 is illustrated as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form. Also, the NT-TRP 172 may be known by other names in some implementations, such as a non-terrestrial node, a non-terrestrial network device, or a non-terrestrial base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is illustrated. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing operations including those related to: preparing a transmission for downlink transmission to the ED 110, processing an uplink transmission received from the ED 110, preparing a transmission for backhaul transmission to T-TRP 170, and processing a transmission received over backhaul from the T-TRP 170. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulating, precoding (e.g. MIMO precoding) , transmit beamforming, and generating symbols for transmission. Processing operations related to processing received transmissions in the uplink or over backhaul may include operations such as receive beamforming, and demodulating and decoding received symbols. In some embodiments, the processor 276 implements the transmit beamforming and / or receive beamforming based on beam direction information (e.g. BAI) received from T-TRP 170. In some embodiments, the processor 276 may generate signaling, e.g. to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher layer functions such as functions at the medium access control (MAC) or radio link control (RLC) layer. As this is only an example, more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.

[0190] The NT-TRP 172 further includes a memory 278 for storing information and data. Although not  illustrated, the processor 276 may form part of the transmitter 272 and / or receiver 274. Although not illustrated, the memory 278 may form part of the processor 276.

[0191] The processor 276 and the processing components of the transmitter 272 and receiver 274 may each be implemented by the same or different one or more processors that are configured to execute instructions stored in a memory, e.g. in memory 278. Alternatively, some or all of the processor 276 and the processing components of the transmitter 272 and receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, a GPU, or an ASIC. In some embodiments, the NT-TRP 172 may actually be a plurality of NT-TRPs that are operating together to serve the ED 110, e.g. through coordinated multipoint transmissions.

[0192] The T-TRP 170, the NT-TRP 172, and / or the ED 110 may include other components, but these have been omitted for the sake of clarity.

[0193] Basic module structure

[0194] One or more steps of the embodiment methods provided herein may be performed by corresponding units or modules, according to FIG. 4. FIG. 4 illustrates units or modules in a device, such as in ED 110, in T-TRP 170, or in NT-TRP 172. For example, a signal may be transmitted by a transmitting unit or a transmitting module. For example, a signal may be transmitted by a transmitting unit or a transmitting module. A signal may be received by a receiving unit or a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by an artificial intelligence (AI) or machine learning (ML) module. The respective units or modules may be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For instance, one or more of the units or modules may be an integrated circuit, such as a programmed FPGA, a GPU, or an ASIC. It will be appreciated that where the modules are implemented using software for execution by a processor for example, they may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances, and that the modules themselves may include instructions for further deployment and instantiation.

[0195] Additional details regarding the EDs 110, T-TRP 170, and NT-TRP 172 are known to those of skill in the art. As such, these details are omitted here.

[0196] Terminal types

[0197] The communication method provided in this embodiment of this disclosure may be applied to various communication scenarios, for example, may be applied to one or more of the following communication scenarios: enhanced mobile broadband (enhanced mobile broadband, eMBB) , ultra-reliable low-latency communication (ultra  reliable low latency communication, URLLC) , and machine type communication (machine type communication) . MTC) , Internet of Things (IoT) , narrowband Internet of Things (narrow band internet of thing, NB-IoT) , customer front-end equipment (customer front-end equipment, CPE) , augmented reality (augmented reality, AR) , virtual reality (virtual reality, VR) , mass machine type communications (mMTC) , device to device (D2D) , vehicle to everything (V2X) , vehicle to vehicle (V2V) , etc.

[0198] It should be noted that in this embodiment of this disclosure, IoT (internet of thing, IoT) may include one or more of NB-IoT, MTC, mMTC, and the like. This is not limited.

[0199] The eMBB may be a large-traffic mobile broadband service such as a three-dimensional (three-dimensional, 3D) or ultra-high-definition video. Specifically, the eMBB may further improve performance such as a network speed and user experience based on a mobile broadband service. For example, when a user watches a 4K HD video, the peak network speed can reach 10 Gbit / s.

[0200] URLLC may refer to a service with high reliability, low latency, and extremely high availability. Specifically, the URLLC may include the following communications scenarios and applications: industrial application and control, traffic safety and control, remote manufacturing, remote training, remote surgery, unmanned driving, industrial automation, a security industry, and the like.

[0201] MTC may refer to a low-cost and coverage-enhanced service, and may also be referred to as M2M. mMTC refers to large-scale IoT services.

[0202] NB-IoT may be a service that features wide coverage, a large number of connections, a low rate, a low cost, low power consumption, and an excellent architecture. Specifically, the NB-IoT may include a smart water meter, smart parking, intelligent pet tracking, a smart bicycle, an intelligent smoke detector, an intelligent toilet, an intelligent vending machine, and the like.

[0203] The CPE may refer to a mobile signal access device that receives a mobile signal and forwards the mobile signal by using a wireless fidelity (wireless fidelity, WiFi) signal, or may refer to a device that converts a high-speed 4G or 5G signal into a WiFi signal, and may simultaneously support a relatively large quantity of mobile terminals that access the Internet. CPEs can be widely used for wireless network access in rural areas, towns, hospitals, units, factories, and residential areas, reducing the cost of laying wired networks.

[0204] The V2X can enable communication between vehicles, between vehicles and network devices, and between network devices, to obtain a series of traffic information such as a real-time road condition, road information, and pedestrian information, and provide in-vehicle entertainment information to improve driving safety, reduce  congestion, and improve traffic efficiency.

[0205] For example, the terminal type includes an eMBB device, a URLLC device, an NB-IoT device, and a CPE device. The eMBB device is mainly configured to transmit large-packet data, or may be configured to transmit small-packet data, and is generally in a moving state. Requirements for a transmission delay and reliability are general, and both uplink and downlink communication exists. A channel environment is relatively complex and changeable, and indoor communication or outdoor communication may be used. For example, an eMBB device may be a mobile phone. The URLLC device is mainly configured to transmit small packet data, or may transmit medium packet data. Generally, the URLLC device belongs to a non-moving state, or may move along a fixed route. The URLLC device has a relatively high requirement for a transmission delay and reliability, that is, a low transmission delay and high reliability are required, and both uplink and downlink communications have. The channel environment is stable. For example, the URLLC device may be a factory device. The NB-IoT device is mainly used to transmit small data. The NB-IoT device is generally in a non-moving state, has a known location, has a medium transmission delay and reliability requirement, has a relatively large amount of uplink communication, and has a relatively stable channel environment. For example, the NB-IoT device may be a smart water meter or a sensor. The CPE device is mainly used to transmit large-packet data, is generally in a non-mobile state, or can move over ultra-short distances, has medium requirements on transmission delay and reliability, has both uplink and downlink communication, and has a relatively stable channel environment. For example, The CPE device may be a terminal device, an AR, a VR, or the like in the smart home. When the terminal type of the terminal device is determined, the terminal type may be determined based on a service type, mobility, a transmission delay requirement, a reliability requirement, a channel environment, and a communication scenario of the terminal device. Determining that the terminal type corresponding to the terminal device is an eMBB device, a URLLC device, an NB-IoT device, or a CPE device.

[0206] It should be noted that the eMBB device may alternatively be described as eMBB, the URLLC device may alternatively be described as URLLC, the NB-IoT device may alternatively be described as NB-IoT, and the CPE device may alternatively be described as CPE. The V2X device may also be described as a V2X device, which is not limited.

[0207] Example concepts of some terms

[0208] Local Model Training: a Machine learning Model trained locally on a smartphone or any terminal / edge device. The data is collected in said device not on cloud, model weights are updated after the training happening on  said device.

[0209] User-Embedding: representation of a user. User features like age, sex, country, language, past preference, behaviors are represented as a vector in mathematics (a point in a hyper plane) through machine learning techniques. This is also termed as user vector. It should be noted that the above features are for exemplary purpose, other user features may also be used for user-embedding, which is not limited in the embodiments of the present disclosure. Besides, the terms “user-embedding” and “user embedding” are used interchangeably throughout the description.

[0210] Item-Embedding: Representation of an item. Item features like genre, produced country, artist, language, past performance, year of release etc., are represented as a vector in mathematics (a point in a hyper plane) through machine learning techniques. This is also termed as item vector. It should be noted that the above features are for exemplary purpose, other item features may also be used for item-embedding, which is not limited in the embodiments of the present disclosure. Besides, the terms “item-embedding” and “item embedding” are used interchangeably throughout the description.

[0211] Model Weights: a machine learning paradigm which is nothing but a co-efficient given to input values (X) to produce an output (y) . In a Model, y = w1 *x1 + w2 *x2 + …. + wn *xn , where [w1, w2, …, wn] are the model weights. These weights are learned by a machine learning model from the past data trough model training.

[0212] As stated in related art, recommendation systems are one of the basic parts of all applications and services on a smartphone. It helps the users to discover the items they like / intent according to their past behaviors or which is very apt for the given context or situation. The user “taste profile” is accumulated through past user interactions as a knowledge for ML models. Models are trained on the same interaction data. The Models create user and item representations, known as user-embedding or item-embedding. The model parameters (also known as model weights) are finetuned to ensure the accurate prediction / classification for the users are made, given an input, situation and user context.

[0213] Basically, the user-embedding (also known as user vector) and the model weights decide what should be the output for a given input. Input here refers to a list of items, or a sequence of items and output is a rank of these items, or probability of user like / play of items in a list or next items (generative) after a sequence of user actions which will be displayed on user’s device in the predicted order (e.g., high chance of click or purchase to low chance) . So, user-embedding in reality, embeds the user’s characteristics and behaviors. It would be generally a unique representation of a user.

[0214] In order to realize recommendation for users, the trained model may be required, such model may give  an output based on user’s historical behaviors. However, the efficiency of existing recommendation method is generally not very well. For example, the user may be a complete new user (also called as a cold-start user) in recommendation terms, such user does not have any past behavior. It will take a certain amount of time for the models to learn and provide relevant recommendations. Besides, under some circumstances, a user who types specific language may not be having frequently used words for his / her regional choice as auto-completion options.

[0215] In addition, in existing methods, the model training is performed by a server (cloud) , in such cases, the user cannot get acknowledge of how his data is used, so the privacy of the user is not ensured.

[0216] In view of the above, a method to share users characteristics is proposed, so that like-minded users / friends / groups can share their experiences on different applications. For example, in a music application, each user gets a different set of items on the first page or top of the list based on the past interactions or preferences. If user B wants to get similar recommendations or presentation order as user A, then user B can request user A to share his / her preferences. If user A accepts this request, the system will copy user A’s user embedding and / or user A model parameters (which are locally trained over a period of time) . This will result in a “Character Adaptation” between users and user B will start to experience the similar playlists or artists in his / her music application. In this way, even for the above new user case, the idea of “characteristic sharing” will help the new user to quickly create an interest profile of their choice from others. Besides, users can do all these operations in full local mode, not involving any server. This can gain the trust of the user since the device is not sending any model updates back to the server, but improves its model from other users’ devices. In some implementations, the model sharing can be done over Bluetooth / Wi-Fi direct / Near Field Communication (NFC) which is a cost effective option. It should be noted that the manner in which the sharing is carried out is not limited in the embodiments of the present disclosure, any communication technique may be used as long as two devices ready for conducting the sharing can communicate with each other.

[0217] Edge devices like Smartphones have powerful computing capability, which enable them to perform a machine learning model training. Most of the latest devices have graphics processing unit (GPU) capability where the devices can do large matrix operations. Therefore, it is possible to take advantage of the device’s computing capabilities on ML models to do the “Character Adaptation” , thus enhancing the user experience.

[0218] The proposed solution may be applicable on different applications like Video, Music, Theme, Books, Games, News, Shopping etc., to share the item display experience across users. In addition, the proposed solution can also be implemented on a smartphones keyboard where user sees auto-completion of words. Generally, the  proposed solution can be applied to any applications which are capable of local Model training, or user embedding aggregation.

[0219] The main idea of the solutions proposed by the present disclosure will be briefly described, and some detailed explanations and examples will be shown later.

[0220] Generally, the present disclosure describes an intuitive way of sharing personal tastes between users. Users who trust each other (friends or closed ones) can share their characteristics. The user characteristics embedded in a machine learning model or user vector or preferred tags are transferred with the help of communication techniques, such as near field communication mechanism like Bluetooth, Wi-Fi direct etc. The present disclosure describes a method of local model aggregation on device. The user vector can be merged using different methods like Max Pooling or Average Pooling or any other Pooling mechanisms. Similarly, the present disclosure describes a method to merge the weights which are learned over different users’ historical data. The merging or “weight fusing” will help the models to optimize a better model which can cover both users’ tastes or behavioral traits. The present disclosure provides high transparency on privacy of end users, user can understand how the models and personal data are been used on the devices. This is very local compared to existing Federated Learning techniques, where Server is doing the model aggregation. This can bring a lot of trust on end-users about the AI technology and exploitation of personal data. The present disclosure proposes multiple options for the user to Merge, Copy the taste profile. When the user wants to remove the characteristics synced from other device, a proposed option is to reset the model. The reset option will take the user to a vanilla version of the model or the latest model from the cloud which is not very related to the given user or users from where he / she has synced the characteristics in the past. Users have options to choose “Complete Local Mode” and “Cloud Aided Mode” (or referred to as Server Aided Mode) in the preference management setting of each application profile, Cloud aided mode will help users to manage the preference more generic than local mode. User can aggregate the characteristics of his choice with the help of “Cloud aided mode” . The user-embeddings and user preferred tags of the target user will be merged with source user at the server side.

[0221] FIG. 5A and FIG. 5B are exemplary schematic diagrams of applying the proposed solution on a music application. As shown in the figure, two users, user A and user B both have their own preferences before adopting the “Chapter Adaption” , and after adopting the “Chapter Adaption” proposed by an embodiment of the present disclosure, the preference on user B’s application will change, i.e., the artist in the circle will change, and the recommendation for user B will be as same as user A.

[0222] Before elaborating the technical solutions of the present disclosure, an exemplary system Architecture or scenario to which the embodiments of the present disclosure is applicable will be described in the first place.

[0223] As shown in FIG. 6, the above syncing may be conducted between two devices which are used by two users, a first user who wants to use a second user’s learned patterns and a second user who allows to share his learned patterns with the first user. The sharing (also called as sync) can be conducted directly between the two users or can also be conducted with the help of a cloud. The former way is shown in FIG. 6 as Client only mode, and the later way is shown in FIG. 6 as Cloud aided mode, here client means users handheld device; a smartphone and cloud refers to a backend server. In the client only mode (or referred to as complete local mode) , the local model parameters can be shared directly between two users, and in the cloud aided mode, the local model parameters from each user’s device then synced to cloud, and global model aggregation and weights adjustments will happen at the server side, then the model updates will be sent back to the client device.

[0224] The client system is usually running on the client and is capable of collecting user’s behavior trough his / her interactions on a specific application (video application, music application, keyboard etc. ) . These behaviors are fed to a machine learning model residing on the user’s device (client) which can find the patterns from the user’s behavior. These learned patterns are stored as a “user-embedding” and / or “model weights” and / or “users preferred tags” . We refer them here as local model parameters. These parameters undergo continuous adjustments throughout its lifecycle to mold itself to reflect users’ behaviors over the time through periodic training on the collected data. This model is responsible for displaying the contents, items on user’s device. The most scored (probability score) ones according to the model will be shown on the first screen so that user can reduce the item discovery time. This will increase the user stickiness and user engagement on a specific application.

[0225] If a first user wishes to adapt a second user’s learned parameters, the first user can do so through a local parameter sync operation. This syncing will happen through short distance communication methods available on a device like Bluetooth, NFC, or Wi-Fi Direct. When the second user allows to share his / her model parameters, the first user’s device receives these parameters in his device.

[0226] As already mentioned above, the sharing would be applicable for a device which has already performed local model training, or can also be applicable for a device which has performed no local model training, such as the device whose interface has no content in FIG. 6.

[0227] FIG. 7 is an exemplary diagram showing an aggregation operation between two users according to one or more embodiments of the present disclosure. As shown in FIG. 7, user B invokes a character aggregation operation  (or referred to as aggregation operation for short) , the model weights are getting merged as shown by the dashed block of “local model parameters” of user B, both the users’ characters are fused for user B at the end of this operation.

[0228] Generally, user A and user B first perform local model training respectively, so personal behavior can be learned through local training. Then each model is finetuned for the specific users. After that, the finetuned parameters can be shared between users / groups. The sharing may happen locally over NFC, Bluetooth or over a WiFi Home Network. Then user A’s preference can be merged with user B through parameter Aggregation (e.g., Average Pooling / Max pooling) , and finally, user A can share his likes dislikes with user B. As shown on the left two interfaces of user A and user B, the artist recommended to user A is also recommended to user B, since the local model parameters at the user B’s side has been merged with those of user A.

[0229] The Model aggregation framework proposed by the present disclosure processes model updates from the user A and aggregates it with user B’s model. For example, it can do aggregation operations in two ways. One, completely replace user B’s parameters so that user B can get most of the contents what user A sees on his / her device. Two, merge the parameters of both the users, where model will find a balanced place to represent the likes and dislikes of both the users.

[0230] As mentioned above, the model weights and embeddings are merged by the client device, so there is a need of establishing a standard schema of models and vectors across the devices. The model controller server will do this job.

[0231] FIG. 8A illustrates an exemplary interaction between a model controller server and devices.

[0232] For each application, “what is the model structure? ” , “what are the hyper parameters? ” are decided by the cloud server and it will be informed to client devices. Apart from that, which features to be used for model training, the kind of feature preprocessing steps to be performed are also defined by the cloud server. Server will supply the base pre-trained model to all the client devices. Server also will pass the information about the unfreeze layers (layers whose weights can be changed during local model training) so that the local model training will not deviate too much from the base model, which will help the model to avoid “model corruption” in the course of bad aggregation cycles. When the user wants to reset all the adapted characters, the user can request so which in turn will copy the base model from the server.

[0233] Client, during its local training, will finetune the weights of the unfreeze layers. In the case of user embedding, the server will define the length of user vector, the static and dynamic parts inside the user vector and the method of generating the user-embedding.

[0234] FIG. 9 illustrates an exemplary architecture inside the client device. The user’s device, for example a smartphone, is proposed with the above architecture. Each targeted application like Video, Music etc., will have local models and methods to collect the user’s interaction data within the device. The “Model flow client” will interface with the server to understand the model structure, preprocessing steps, unfreeze layer information, training cycles and settings. The “local model training” module will do the model fitting, loss calculation and model weights optimizations locally. “Model aggregator” will perform the pooling of weights, user embeddings and / or user tags. “Transport” module (shown as Transport SDK) will help the device to connect with other devices to sync the model weights and user vectors.

[0235] The models can be prepared in two modes, user can choose “complete local mode” , where no model updates will be sent to the server, or user can choose “cloud aided mode” where the user vector aggregation, weights aggregation, etc., can be performed on the server side. In the “cloud aided mode” , users can create a group of users more than 2 and do the character pooling mechanism between like-minded members in the group. It should be noted that the number of users in the group is not limited in the embodiments of the present disclosure.

[0236] The proposed solution is generic and can be applied on any application where recommender system is involved. Below are the possible applications and scenarios where the proposed solution can be applied.

[0237] I. Music Application

[0238] The proposed solution can be directly used in the Music recommendation, to suggest preferred artists ( “artists for you” ) , favorite playlist ( “Top Mandarin playlist” ) and daily song list ( “Daily Mix” ) etc. Source users’ characteristics will be visible after the merge / copy operation on Target user’s device. For example, in FIG. 10, two scenarios “Artists For you” and “Playlist ranking” are respectively displayed in a first area and a second area on the page of the music application. For example, in the first area, some avatars of the artists may be displayed.

[0239] II. Video streaming application

[0240] In a Video Streaming application, the recommendation models are deployed to help the users to discover relevant videos for them. The proposed solution can be directly used in the video application to merge the users personalized scenarios like “You may Like” , “Recommended For You” . It can also be used in the calculation of user tags. For example, in FIG. 11, the first area is displayed with videos “You may like” , the second area is displayed with videos “Recommended for you” and the third area is displayed with videos which are recommended as “Users preferred tags” . It should be noted that these different areas may also be displayed on different pages of the application, which is not limited here.

[0241] III. Keyboard auto filling suggestions

[0242] Keypad word predictions / suggestions can be shared between users, especially on their local language. The character generative models on specific languages can be shared across the users. These words are predicted accurately only after a specific period of user’s typing pattern learning. The auto-completion word predictions are different for different users, we propose an easy utility for users to share their models word prediction capability with other users. As shown in FIG. 12A and FIG. 12B, when users enter the initial keys, the full word suggestion appears, these suggestions will be based on user’s past selections.

[0243] The proposed solution can be used in other Applications which are running on personalized recommendations not limited to the below, News, Shopping, Game, App gallery, Browser, Themes, Books, etc.

[0244] The above describes technical concepts of the present disclosure, and then specific embodiments of the present disclosure will be elaborated in the following description.

[0245] FIG. 13A illustrates a schematic flowchart of an information presentation method according to one or more embodiments of the present disclosure. The method includes the following steps.

[0246] S1301: in response to an opening operation, displaying a first interface on the first device, where the first interface includes recommendation content, and the recommendation content is obtained based on an aggregation result of a first model of the first device and a second model of a second device. Here the second device can be a device which can be connected to the first device, for example, a nearby device whose user is a friend of a first user who uses the first device.

[0247] The method may be applied to a first device which is a device used by a first user, and the model locally training in the first device is called a first model. The first model may vary depending on applications used by the first user. When the first user opens an application on the first device, recommendation content will be obtained by the first model and displayed for the first user. Similarly, the second device is a device used by a second user, and the model locally training in the second device is called a second model. The second model may also vary depending on applications used by the second user. When the second user opens an application on the second device, recommendation content will be obtained by the second model and displayed for the second user. Here in the method, since the recommendation content displayed on the first device is obtained based on an aggregation result of the first model of the first device and the second model of the second device, therefore, such recommendation content displayed on the first interface would be similar to the recommendation content shown on the first device to the first user.

[0248] With respect to the first interface, it may be the first page shown to the first user once the first user opens an application, and may be in any form, one example is shown in FIG. 13B. Multiple recommendation content is displayed on the first interface, each of them is obtained based on an aggregation result of the first model and the second model, the number of the recommendation content and the location of the recommendation content displayed on the first interface are not limited in the embodiments of the present disclosure.

[0249] With respect to the opening operation, for example, it may be an operation of the first user opening an application on the first device, and the first model is the model used for running of the application, e.g., recommending content on the first page when the first user opens this application. As long as the opening operation functions as a trigger of opening the first interface, the opening operation may be in any form, which is not limited in the embodiments of the present disclosure.

[0250] The first user (e.g., the aforementioned user B) may use the first device, so the first model on the first device will collect user behavior information of the first user, and then the model weights of the first model / the user vector corresponding to the first user / tag information (e.g., preferred tags and corresponding tag scores) corresponding to the first model will be updated according to analysis on the user behavior information of the first user, and the output of the first model, for example, the recommended content for the first user using the first model will also be corresponding to the first user’s preference. The same principle applies for the second user, the second user (e.g., the aforementioned user A) may use the second device, so the second model on the second device will collect user behavior information of the second user, and then the model weights of the second model / the user vector corresponding to the second user / tag information (e.g., preferred tags and corresponding tag scores) corresponding to the second model will be updated according to analysis on the user behavior information of the second user, and the output of the second model, for example, the recommended content for the second user using the second model will also be corresponding to the second user’s preference.

[0251] The first user may want to get characteristics / preferences of the second user, in a possible implementation, the first user may request aggregation of the first model and the second model, and after the second user allows the aggregation, the aggregation result can be obtained. The aggregation result may be a merged model obtained based on the first model and the second model, or merged model weights based on model weights of the first model and model weights of the second model / merged user vector based on the user vector corresponding to the first model and the user vector corresponding to the second model / merged tag information (e.g., preferred tags and corresponding tag scores) based on tag information corresponding to the first model and tag information  corresponding to the second model.

[0252] The aggregation result may vary depending on the specific aggregation operation performed on the first model and the second model, in terms of the aggregation targets of the aggregation operation, the aggregation targets may include model weights of models / user vectors of models / tag information (e.g., preferred tags and corresponding tag scores) corresponding to models; in terms of the aggregation operation, it may be a fusion of the aggregation targets, or simply a replacement of one aggregation target with another aggregation target. As long as the aggregation result is based on the first model and the second model, there is no limitation on the way in which the aggregation result is obtained and the aggregation targets on which the aggregation operation is carried out in the embodiments of the present disclosure. It should be noted that throughout the text, the aggregation of two models may include two cases, one is to combine / fuse / merge information of the two models, the other is to replace information of one model with information of another model, unless specified, the description with respect to the merging will be applicable for both cases.

[0253] Since the first device has got the aggregation result, then when the first device recommends content for the first user, the recommended content can be derived based on the aggregation result, so the recommended content is no longer a recommendation result simply based on the first model, but a recommendation result based on the first model and the second model. For example, if the first device has merged its model weights of the first model with model weights of the second model, then the recommendation content output by the first device for the first user would be similar as the recommendation content output by the second device for the second user.

[0254] When the first device receives an opening operation, in response to the opening operation, the first interface will be displayed for the first user, this first interface may present one or more recommendation content for the first user. As mentioned above, the one or more recommendation content would be based on the aggregation result of the first model and the second model, so what the first user sees on the first device using said application would be similar as what the second user sees on the second device using the same application. Here said application may be the aforementioned music application, video streaming application, keyboard auto filling suggestions or other applications which are running on personalized recommendations.

[0255] According to the embodiments of the present disclosure, a first interface with recommendation content is displayed on the first device in response to an opening operation. Since the recommendation content for the first user is obtained based on an aggregation result of the first model of the first device and the second model of the second device, such aggregation result will reflect different users’ historical data, so the aggregation will help the  models to optimize a better model which can cover both users’ tastes or behavioral traits in an intuitive way, thus improving the user experience. Especially for a new user of application, he can adapt the taste from another user of similar tastes. New user no longer needs to go through a long period of data collection and usage pattern understanding by any machine learning model or systems.

[0256] As mentioned above, the first user may request the second user for aggregation of the two models, and the second user may allow or not allow the aggregation requested by the first user. In the following, the interaction between two devices (respectively used by two users) to obtain the aggregation result will be elaborated in details.

[0257] Generally, the obtaining the aggregation result can be conducted based on a first aggregation request and a first aggregation response exchanged between the first device and the second device, when the first user wants to share preferences of the second user, the first user may use the first device to send / trigger a first aggregation request to the second device, then the second device may feed back a first aggregation response corresponding to the first aggregation request.

[0258] The first aggregation request is used for requesting aggregation information of the second device, the aggregation information will be later used by the first device to conduct the aggregation operation of the first model and the second model. There may be a client only mode and a cloud aided mode for obtaining the aggregation result by the first device, depending on the mode through which the first device conducts the aggregation operation, the first aggregation request and the first aggregation response may be indicative of different content.

[0259] In the client only mode, the first device performs the aggregation by itself, the first aggregation request may be indicative of first version information of the first model, so that the second device can get acknowledge of the attribute of the first model, then if the second device agrees to share the aggregation information, it can return back, in the first aggregation response, aggregation information required for performing the aggregation operation by the first device, otherwise, the second device can reject the first aggregation request. Since the aggregation can be done locally between the first device and the second device, which is specific to the user and the user’s closed ones (friends, family etc. ) . This group is controlled by the user rather than by the cloud, therefore, more flexibility is given to the user.

[0260] In the cloud aided mode, the first device may further communicate with the cloud to get the aggregation result, so the aggregation operation is done by the cloud, so the first aggregation request may simply be used for requesting authorization of the aggregation operation from the second device, then if the second device agrees to share the aggregation information, it can simply accept the first aggregation request, otherwise, the second device  can reject the first aggregation request.

[0261] In the following, the client only mode is described with reference to FIG. 14A and FIG. 14B, and the cloud aided mode will be described with reference to FIG. 18A and FIG. 18B.

[0262] FIG. 14 illustrates a schematic flowchart of an information presentation method according to one or more embodiments of the present disclosure. The method includes the following steps.

[0263] S1401: the first device sends a first aggregation request to the second device, and the second device receives the first aggregation request.

[0264] Here the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining the aggregation result of the first model of the first device and the second model of the second device. The first aggregation request may be in any form, which is not limited in the embodiments of the present disclosure.

[0265] The sending of the first aggregation request may generally happen after the first device and the second device are connected with each other, for example, via Bluetooth / Wi-Fi direct / NFC, or via other communication techniques.

[0266] In a possible implementation, the first aggregation request may be used for requesting an aggregation operation of two models, that is, the aggregation information will be later used by the first device to merge the first model and the second model. In another possible implementation, the first aggregation request may be used for requesting a replacing operation of two models, that is, the aggregation information will be later used by the first device to replace the first model with the second model.

[0267] In a possible implementation, the first aggregation request is indicative of an identification of the first device. The identification of the first device may be a unique identity of the first device, the identification of the first device would make the second device determine whether to agree the sharing of the aggregation information to the first device more quickly. The identification of the first device may also be shared during the connection stage of the first device and the second device.

[0268] S1402: the second device sends a first aggregation response corresponding to the first aggregation request to the first device, and the first device receives the first aggregation response.

[0269] In a possible implementation, the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second  model-related information of the second model corresponds to second version information of the second model.

[0270] When the first user wants to share preferences of the second user, the first user may use the first device to send / trigger a first aggregation request to the second device, and the first aggregation request may carry / indicate the first version information of the first model, so that the second device would get acknowledge of the attribute of the first model, and consequently generate a first aggregation response corresponding to the first aggregation request.

[0271] The first version information and the second version information mentioned above can be generally referred to as version information. Version information of a model may reflect the attribute of the model, for example, the structure of the model, the hyper parameters of the model (parameters that generally do not change during the training of the model) , how to train the model and which features are used for training the model, the structure of the user vector corresponding to the model, etc., all these information may be corresponding to the version information, so once the version information is given, these information may also be fixed. There is no limitation to the specific form of the version information, for example, it could be a serial number that can be understood by both of the first device and the second device, so when the second device receives the first aggregation request indicative of first version information of the first model, it will know all the information of the first model corresponding to the first version information. The aggregation of two models can be done when the version information of the two models are consistent, so the first version information may be useful for determining whether the aggregation can be done.

[0272] The first model-related information and the second model-related information mentioned above can be generally referred to as model-related information. Model-related information may reflect the aforementioned aggregation targets, that is, the object onto which the aggregation operation will be carried out.

[0273] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes the at least one first model weight of the first model; correspondingly, the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes the at least one second model weight of the second model. In this case, the first device will merge the model weights of the two models.

[0274] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes a first vector for the first model; correspondingly, the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes a second vector for the  second model. Here the first vector and the second vector can also be referred to as user vectors. In this case, the first device will merge the user vectors of the two models.

[0275] In a possible implementation, the first version information of the first model includes a first tag version of first tag information derived from the first model, and the first model-related information of the first model includes the first tag information derived from the first model; correspondingly, the second version information of the second model includes a second tag version of second tag information derived from the second model, and the second model-related information of the second model includes the second tag information derived from the second model. In this case, the first device will merge the tag information of the two models.

[0276] Upon receiving the first aggregation request, the second device may determine the first aggregation response based on the first aggregation request, and then send the first aggregation response corresponding to the first aggregation request to the first device.

[0277] As mentioned above, the second device can get acknowledge of the first version information of the first model used by the first device, and then would determine whether to agree to share aggregation information requested by the first device. Different situations may be possible.

[0278] In a first case, the second user agrees with the sharing of the aggregation information, that is, the second user allows to share the aggregation information to the first device, then the second device can send the first aggregation response which is indicative of the aggregation information to the first device, the first aggregation response may also be indicative of other information, and later the first device may perform different operations depending on the different content of the first aggregation response.

[0279] In a second case, the second user does not agree with the sharing of the aggregation information, then the second device can send the first aggregation response which is indicative of rejection of providing the aggregation information by the second device. There is no limitation on the specific content of the first aggregation response in the embodiments of the present disclosure.

[0280] As mentioned above, the aggregation would be conducted on model weights of two models, or user vectors of two models, or tag information of two models.

[0281] In the following, the procedure for the above different aggregating cases will be described in details.

[0282] Regarding the aggregation of model weights or user vectors, the first device and the second device may act differently depending on the content of the first aggregation response.

[0283] Case I: the first aggregation response is indicative of the second version information

[0284] In this case, the first device sends in the first aggregation request its own first version information, and the second device feeds back its second version information to the first device, then the first device needs to perform following operations to check if the two version information are consistent, since the consistency is a precondition for conducting the aggregation of two models.

[0285] The method then includes following:

[0286] the first device determining whether the first version information corresponds to the second version information;

[0287] upon determining that the first version information is matched with the second version information, the first device sending a second aggregation request to the second device, and the second device receiving the second aggregation request from the first device; and

[0288] the second device sending a second aggregation response to the first device, and the first device receiving the second aggregation response from the second device, where the second aggregation response is indicative of the second model-related information of the second model.

[0289] The above second aggregation request is used for requesting the second model-related information of the second model. So in this case, the first aggregation request sent from the first device to the second device simply gets the second version information of the second device, so once the consistency check passes, the first device will send another aggregation request (second aggregation request) to ask the second device to feed back the second model-related information of the second model which is to be used for later aggregation of two models. Upon receiving the second aggregation request, the second device will send the second aggregation response to indicate the second model-related information of the second model.

[0290] In the case where the consistency check is performed by the first device, the method may also include the following:

[0291] upon determining that the first version information is not matched with the second version information, sending a model request to a third device, where the model request is used for requesting a third model of which third version information is matched with the second version information;

[0292] receiving a model response from the third device, where the model response is indicative of the third model.

[0293] When the consistency check fails, that means the first model of the first device and the second model of the second device are not matched with each other, then in this case, the aggregation of these two models cannot be  conducted, so the first device may further request the third device for another model (third model) whose version information is matched with the second version information of the second model. The third device here may be a server (cloud) , and after getting the third model from the third device, the first device can start from the first step (S1401 / S1501) of the proposed method to conduct the aggregation of the third model and the second model.

[0294] Case II: the first aggregation response is indicative of the second model-related information of the second model

[0295] In this case, the consistency check is done by the second device, the second device can compare the first version information with its own second version information, and the method then includes following:

[0296] the second device determining whether the first version information corresponds to the second version information;

[0297] where sending the first aggregation response corresponding to the first aggregation request to the first device includes:

[0298] upon determining that the first version information is matched with the second version information, the second device sending the first aggregation response to the first device, where the first aggregation response is indicative of the aggregation information.

[0299] In this case, the first device simply sends the first aggregation request indicative of the first version information of the first model, and the second device performs the consistency check and returns back the aggregation information (the second model-related information of the second model) to the first device through the first aggregation response.

[0300] Case III: the first aggregation response is indicative of rejection of providing the aggregation information by the second device

[0301] In this case, the consistency check is also done by the second device, the second device can compare the first version information with its own second version information, and the method then includes following:

[0302] the second device determining whether the first version information corresponds to the second version information;

[0303] upon determining that the first version information is not matched with the second version information, the second device sending the first aggregation response to the first device, where the first aggregation response is indicative of rejection of providing the aggregation information by the second device; or,

[0304] upon determining that the first version information is matched with the second version information, the  second device sending the first aggregation response to the first device, where the first aggregation response is indicative of rejection of providing the aggregation information by the second device.

[0305] In a possible implementation, if the second device determines that the first version information and the second version information are not matched with each other, the second device may simply indicate rejection of providing the aggregation information through the first aggregation response.

[0306] In another possible implementation, even if the second device determines that the first version information and the second version information are matched with each other, the second device can still indicate rejection of providing the aggregation information through the first aggregation response. In this case, although the consistency check is successful, but the second user is not willing to share his aggregation information with the first user.

[0307] Therefore, Case I describes the case where the second user agrees with the aggregation of two models and indicates his own second version information to the first device, so that the first device can perform the consistency check of the version information; Case II describes the case where the second user agrees with the aggregation of two models, then the second device performs the consistency check and indicates his second model-related information to the first device, so that the first device can perform the aggregation of the two models using the first and second model-related information; Case III describes the case where the second user does not agree with the aggregation of two models and simply indicate rejection of providing the aggregation information through the first aggregation response.

[0308] It should be noted that throughout the text, a request / response indicative of some information may be implemented as the request / response directly carrying the information, or the request / response carrying something that could indicate the information.

[0309] In Case I and Case II, after obtaining the second model-related information of the second model, the first device can perform aggregation of the two models, as mentioned above, there may be two kinds of operations:

[0310] merging the first model-related information and the second model-related information; or,

[0311] replacing the first model-related information with the second model-related information.

[0312] In a possible implementation, merging the first model-related information and the second model-related information includes: merging the first model-related information and the second model-related information using a first preset algorithm. In a possible implementation, the first preset algorithm is an average pooling algorithm or a max pooling algorithm.

[0313] In a case of model weight aggregation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes the at least one first model weight of the first model, the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes the at least one second model weight of the second model.

[0314] In this case, the first model version and the second model version of these two models may be the same so as to make the aggregation of the two models possible.

[0315] In a possible implementation, the at least one second model weight of the second model includes weights of first layers of the second model, and each of the first layers is a layer with a changeable weight. Here these first layers may also be called unfreeze layers, “unfreeze” means that the weights of these layers can be changed during local training of models or aggregation, so the second device may simply send the weights of unfreeze layers to the first device, this would reduce signaling overhead.

[0316] In a possible implementation, the at least one first model weight of the second model further includes weights of second layers of the second model, and each of the second layers is a layer with an unchangeable weight. Here these second layers may also be called freeze layers, “freeze” means that the weights of these layers remain unchanged during local training of models or aggregation.

[0317] In a possible implementation, the first device can receive layer information about the first layers from a third device. Here the layer information may include information about which layers are first layers or which layers are second layers.

[0318] Machine learning model is trained on the data collected from the users, processed as features, often represented as input or X = {x1, x2, …xn} , these features interact with each other and are weighted differently to predict items which are best for a user. It can be a ranking of items where the model predicts the probability of click or a classification problem where the model will assign different probabilities to different classes. So, the output probability in this case can be represented as ‘y’ . A machine learning model in general will try to fit a best equation to resolve the “y” from “X” . The model will learn this equation from the data points and assign coefficients or weights, W. This can be represented like this, y = w1*x1 + w2*x2 + …+ wn *xn. In practical models this equation will be of different order and scattered over multiple layers of the network. Model always try to find the best W to ensure it can predict the best items for the user to improve a given objective. Objective can be click-rate or playtime. These weights will be largely depending on the training data and can vary from user to user as their training data  (extracted from their user patterns) and interaction patterns are different.

[0319] An example is shown in FIG. 15A to FIG. 15C of aggregating weights learned on different users’ device to adapt the user characteristics. In the example shown in FIG. 15A to 15C, the model weights from user A are aggregated with user B through an averaging of each path weights. User B’s model weights are merged with User A’smodel weights. The merge strategy is Average Pooling, then new model weights are derived by averaging. There are different pooling strategies can be applied, e.g., Average pooling and Max pooling as few of the options to merge the weights.

[0320] In addition, as mentioned above, the aggregation can be done to unfreeze layers, that is, it is proposed to use the technique of partial fine-tuning instead of complete fine-tuning. Only certain parts of the model will be un-freeze for the weight updates. The client devices will get the base model and information about the unfreeze layers from the server. The local model training will modify the weights of unfreeze layers. When the user chooses for aggregation option, the weights from the unfreeze layers will be aggregated.

[0321] In a case of user vector aggregation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes a first vector for the first model, the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes a second vector for the second model. Here the first vector and the second vector can also be called user vectors.

[0322] In a possible implementation, the second vector for the second model includes a first part, and the first part for the second model includes user behavior information related to the second device. Here the first part may be called a dynamic part which can be merged with a first part of another user vector. The user behavior information may be information reflecting the behaviors of the user.

[0323] In a possible implementation, where the second vector for the second model includes a second part, and the second part for the second model includes user attribute information related to the second device. Here the second part may be called a static part which cannot be merged with a second part of another user vector.

[0324] Intuitive way of sharing user’s identity gathered through past behaviors which is represented as a user-embedding or user vector. User vector has two parts, the first part as a dynamic part and the second part as a static part. The aggregation is done for the dynamic part, thereby achieving a fast character adaptation from another user, which is of great utility, opportunity to show trust among the users.

[0325] User-embedding is a representation of the user in a mathematical form (vector form) , which can be  identified by the machine learning models. In the present disclosure, it is proposed to divide the user-embedding vector into two parts, the aforementioned first part (dynamic part) and second part (static part) . The first part is dynamic in nature, which can encode users’ temporal behavioral patterns, the watched movies, listened music, liked artists, disliked playlists are few of the dynamic information, etc., which will evolve continuously for a user. This part can represent the taste of the user. The second part which encodes the user features which will not change over a time. For example, gender, year of birth, country, language etc. Here we focus on the first part which will be aggregated between users, so that one user can adapt other users taste.

[0326] An example is shown in FIG. 16A, uj1 to uj4 in the vectors form the aforementioned second part, that is, the static part, and uj5 to uj8 form the aforementioned first part, that is, the dynamic part, the dynamic part will undergo the aggregation during the character adaptation process. When the aggregation of the two models is conducted, the dynamic parts are merged to form Uj5 to Uj8 in bold.

[0327] After obtaining the new (merged) user vector, the new user vector can be used for recommendation. Apparently, the user embedding and item embedding models are learned together, the models can represent the item and user in the same vector space. The aggregated user-vector is also belonging to the same space as we have done a linear combination of user vectors.

[0328] As shown in FIG. 16B, the new user vector is used to query the item vectors, the new user vector of user B will be very near to user vector of user A after the pooling, or they are the same when user B chooses for a copy. The items closer to user vector of user A will come closer to new user vector of user B. Ranking of items is done based on the similarity score. Closest items will get higher rank and will come on the top of users display list.

[0329] In a possible implementation, before sending the first aggregation request to the second device, the method further includes:

[0330] sending an aggregation confirmation request to the second device, where the aggregation confirmation request is used for requesting acceptation from the second device for obtaining the aggregation result of the first model and the second model; and

[0331] receiving an aggregation confirmation response from the second device, where the aggregation confirmation response is indicative of acceptation of responding to the first aggregation request from the second device.

[0332] The aggregation confirmation request and the aggregation confirmation response serve as a simple handshake between the two devices before starting the aggregation process. When the second device responds to the  aggregation confirmation request with the aggregation confirmation response, it means the second device will later be willing to respond to the first aggregation request, but it is not for sure that the second device will allow the sharing of its aggregation information with the first device. It is possible that the second device later refuses the sharing.

[0333] Regarding the aggregation of tag information, the first device and the second device may act differently depending on the content of the first aggregation response.

[0334] In this case, the first version information of the first model includes a first tag version of first tag information derived from the first model, and the first model-related information of the first model includes the first tag information derived from the first model; correspondingly, the second version information of the second model includes a second tag version of second tag information derived from the second model, and the second model-related information of the second model includes the second tag information derived from the second model.

[0335] In a possible implementation, the first tag information includes at least one first tag and at least one first score corresponding to the at least one first tag respectively; correspondingly, the second tag information includes at least one second tag and at least one second score corresponding to the at least one second tag respectively.

[0336] Here the tag version refers to the attribute associated with the tags, for example, the range of the tag score and / or the standard of the tag. For example, the first model of the first device determines first scores for multiple first tags, and the scores range from 0 to 100, while the second model of the second device also determines second scores for multiple second tags, and the scores range from 0 to 10, then the ranges of the two kinds of scores are different, so in this case, the second device would have to perform normalization on the scores obtained from the first device, so as to get a correct rank of the scores. For another example, for the same tag “S” , it is called “S” at the first device side, but is called “X” at the second device side, so normalization is also required so as to get a correct aggregation result. The later case often happens when different languages are used on different devices.

[0337] In a possible implementation, the first aggregation response is indicative of the second tag information. In this case, the second device directly feeds back his own tag information which would later be used by the first device to perform aggregation of two models, that means the second tag version and the first tag version are consistent.

[0338] In a possible implementation, the first aggregation response is indicative of the second tag information and the second version information, this means that the second tag version and the first tag version are inconsistent, so in this case, the first device may update the second tag information derived from the second model. It is also  possible that the second device sends another response to the first device indicating that the two tag versions are inconsistent, which is not limited here.

[0339] In a possible implementation, the updating of the second model-related information in the aggregation information includes: processing the second tag information derived from the second model using a second preset algorithm. For example, the second preset algorithm is a min-max normalization algorithm.

[0340] User preferred tags and scores associated with each tag (the above tag information) can be shared among users, and processing such as standard normalization or min-max normalization of tag scores can be done before the aggregation. Normalized items are combined and re-ordered based on their new normalized order. These tags are used for presenting items related on the user’s device. In this way, the recommendation content based on the aggregation result would be more accurate.

[0341] In a possible implementation, the method further includes:

[0342] the first device sending a reset request to a third device and the third device receives the reset request; ; and

[0343] the third device sends a reset response to the first device and the first device receiving the reset response from the third device.

[0344] Here the reset request is used for requesting to reset the first model, and the third device is indicative of a preset version of the first model.

[0345] In a possible implementation, where the preset version of the first model is any one of a base model corresponding to the first model or a previous version of the first model before aggregation of the first model and the second model. In this way, it is possible for the first device to return back to a version before aggregation, user can revert back to these checkpoints, thus improving user experience. Here the base model may be a base version of the first model which has not undergone local training, or the pre-trained model obtained from the server for the first time, and the previous version of the first model may be a version of the first model before the first device has performed aggregation, it is possible that the first device has performed multiple aggregations, then the previous version may be the version before the last time when the first device performs the aggregation.

[0346] A specific example is shown with reference to FIG. 17A to FIG. 17C for illustrating the merging of model weights and user vectors. Among them, FIG. 17A illustrates a schematic diagram of model initialization according to one or more embodiments of the present disclosure. FIG. 17B illustrate a schematic diagram of model training on a client device according to one or more embodiments of the present disclosure. FIG. 17C illustrate a schematic  diagram of aggregation of model weights and user vectors according to one or more embodiments of the present disclosure.

[0347] As mentioned above, User A finds his friend User B, User A has many of the playlist / artists of her choice. User B opens the profile settings, and chooses the option to merge the “tastes” with User A. User A accepts this request, (the entire UI flow will be described later with reference to illustrative interfaces) .

[0348] FIG. 17A shows the first step before the user action. Here both the users’ application is capable of running a machine learning model. When the application is configured for the first time, user device connects with the cloud server and gets the latest pre-trained model from the cloud. Server also sends information like model version, unfreeze layers. Application can query for the new model versions in different time periods based on the sync settings.

[0349] As shown in FIG. 17B, client device starts collecting the user actions, exposed items in the applications, positive and negative responses from the user, both implicit and explicit. Model preparation methods split the collected data into train and test, do the periodic model training and update the weights which can minimize the prediction loss. Client device updates the weights of unfreeze model layers. The finetuned model will be more relevant for the user to do a re-ranking of the items send by the server.

[0350] As shown in FIG. 17C, User B sees User A’s recommendations and would like to get the similar ones on her device. She requests for the “Character Sharing” from her device; User B device sends the request over Bluetooth. User B receives the model and User Embedding from User A. The model weights are merged locally in User client B, similarly device merge the User embedding. User B gets a new Model. User A preferences and characters are adopted by User B.

[0351] In FIG. 17C, User B client could be the aforementioned first device, User A client could be the aforementioned second device, the Model Merge Request could be a specific example of the aforementioned aggregation confirmation request, and the response “OK” to the Model Merge Request could be a specific example of the aforementioned aggregation confirmation response; the getModelConf could be a specific example of the aforementioned first aggregation request, and then the modelVersion, hyperParms (hyper parameters) could be carried in a response which is a specific example of the aforementioned first aggregation response. Then, in the case of model weight aggregation the getModel could be a specific example of the aforementioned second aggregation request, then the ModelWeights from User A client to User B client could be a specific example of the aforementioned second aggregation response, in the case of user vector aggregation the getEmbedding could be a specific example of the aforementioned second aggregation request, then the userVector from User A client to User  B client could be a specific example of the aforementioned second aggregation response.

[0352] It should be noted that although the merging of the model weights and user vectors are all shown in FIG. 17C, but they could be done separately.

[0353] A specific example is shown with reference to FIG. 18A to FIG. 18C for illustrating the merging of user tags (tag information) .

[0354] As shown in FIG. 18A, user preferred tags are getting created on a device, they are ranked by the model. Based on the top ranked tags, the items are fetched from the server for each tag. Specifically, machine learning algorithms extract the item tags through different retrieval methods. When a user interacts with an item, the interacted tags are collected. The frequency of such tags is then calculated and used them to represent a user’s preference and un-preference. User tags often have ranks or scores to understand the relative affinity of a user to a set of given tags. Many recommendation strategies are derived based on “user tags” .

[0355] As shown in FIG. 18B, user tag scores are normalized to the same scale before merging, new K tags is used for query to server. As mentioned above, in the proposed solution, the user tags are aggregated locally to adapt the user behavioral characteristics. User tag lists are merged based on their scoring order after a normalization. The resultant list will be ordered in descending way and top k tags will be users new tag list. We deploy min-max normalization of tag scores to merge the user tags to a single list.

[0356] It should be noted that although FIGS. 17A to 18B simply shown the merging operation as the aggregation, the replacement can also be realized in similar way.

[0357] A specific example is shown with reference to FIG. 19 for illustrating resetting of a model. As shown in FIG. 19, the reset operation will take the first user to a vanilla version of the first model or the latest model from the cloud which is trained on a large population and generic in nature. In “Cloud aided mode” , users’ checkpoints are maintained in the server which can be retrieved.

[0358] As mentioned above, in the cloud aided mode, the first device may further communicate with the cloud to get the aggregation result, so the aggregation operation is done by the cloud, so the first aggregation request may simply be used for requesting authorization of the aggregation operation from the second device, then if the second device agrees to share the aggregation information, it can simply accept the first aggregation request, otherwise, the second device can reject the first aggregation request.

[0359] FIG. 20A illustrates a schematic flowchart of an information presentation method according to one or more embodiments of the present disclosure. The method includes the following steps.

[0360] S2001: the first device sends a first aggregation request to the second device, and the second device receives the first aggregation request.

[0361] Here the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining the aggregation result of the first model of the first device and the second model of the second device. Reference may be made to related content in step S1401, which will not be repeated here.

[0362] S2002: the second device sends a first aggregation response corresponding to the first aggregation request to the first device, and the first device receives the first aggregation response.

[0363] Here the first aggregation response is indicative of acceptation of sharing the aggregation information with the first device.

[0364] S2003: the first device sends a third aggregation request to a third device, and the third device receives the third aggregation request.

[0365] As mentioned above, in the cloud aided mode, the first device will communicate with the server to get the aggregation result of the second device, so here the third aggregation request is used for requesting the aggregation result of the first model and the second model.

[0366] S2004: the third device obtains the aggregation result based on the third aggregation request.

[0367] In a possible implementation, the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.

[0368] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes the at least one first model weight of the first model; correspondingly, the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes the at least one second model weight of the second model.

[0369] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes a first vector for the first model; correspondingly, the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes a second vector for the  second model.

[0370] In a possible implementation, the first version information of the first model includes a first tag version of first tag information derived from the first model, and the first model-related information of the first model includes the first tag information derived from the first model; correspondingly, the second version information of the second model includes a second tag version of second tag information derived from the second model, and the second model-related information of the second model includes the second tag information derived from the second model.

[0371] In a possible implementation, the obtaining of the aggregation result based on the third aggregation request includes: merging the first model-related information and the second model-related information to obtain merged model-related information as the aggregation result.

[0372] In a possible implementation, the obtaining of the aggregation result based on the third aggregation request includes: replacing the first model-related information with the second model-related information and taking the second model-related information as the aggregation result.

[0373] The third device can perform the merging of model weights, user vectors or tag information in the same as the first device, reference may be made to the above relevant description, which will not be repeated here.

[0374] S2005: the third device sends a third aggregation response to the first device, and the first device receives the third aggregation response.

[0375] Here the third aggregation response is indicative of the aggregation result of the first model and the second model.

[0376] In a possible implementation, the first aggregation response is further indicative of authorization information for the first device, and the authorization validity information characterizes a grant from the second device for the sharing of the aggregation information with the first device, and the third aggregation request is indicative of the authorization information. The authorization information serves as a certificate and can be used by the first device to communicate with the third device, so that the third device would know that the first device has been allowed by the second device to share its second model-related information.

[0377] In a possible implementation, the aggregation result includes at least one of the following: at least one merged model weight of the first model and the second model, a merged vector based on a first vector for the first model and a second vector for the second model or merge tag information based on first tag information derived from the first model and second tag information derived from the second model.

[0378] In a possible implementation, the third aggregation request is indicative of an identification of the first device, so that the third device can quickly locate the information needed for the first device.

[0379] In a possible implementation, the method further includes:

[0380] the first device sending a reset request to a third device and the third device receives the reset request; ; and

[0381] the third device sends a reset response to the first device and the first device receiving the reset response from the third device.

[0382] Here the reset request is used for requesting to reset the first model, and the third device is indicative of a preset version of the first model.

[0383] In a possible implementation, where the preset version of the first model is any one of a base model corresponding to the first model or a previous version of the first model before aggregation of the first model and the second model. In this way, it is possible for the first device to return back to a version before merging, thus improving user experience.

[0384] According to the proposed solutions, users have options to choose “Complete Local Mode” and “Cloud Aided Mode” in the preference management. The cloud aided mode will help users to manage the preference more generic than local mode. In cloud aided mode the model weights / user vector aggregation and user preferred tags aggregation will be done at the server side. In the cloud aided mode, the user can keep the checkpoints of the user vector, user preferred tags, and model weights.

[0385] This can be applied on all the recommendation scenarios which are based on a server-side model and local model. It should be noted that although the embodiments are elaborated by taking two users as an example, but in the cloud aided mode, the solution is also applicable for aggregating more than two users taste preference, or a group preference option can be performed. In this way, the user can get option to collaborate with more than one user and transfer the computational cost on aggregation from personal device to cloud.

[0386] A specific example is shown with reference to FIG. 20B and FIG. 20C for illustrating an exemplary schematic of merging in a cloud aided mode. FIG. 20B illustrates an exemplary schematic of enablement of a cloud aided mode according to one or more embodiments of the present disclosure. FIG. 20C illustrates an exemplary schematic of merging in the cloud aided mode according to one or more embodiments of the present disclosure.

[0387] As shown in FIG. 20B, when both users participating in a character adaptation, they are using “Cloud Aided mode” , the parameter merging operations will be performed at the server compute resources by the server- side program. As shown in FIG. 20C, before the merging operation, the server will take a backup of the previous tags, vectors, weights under a new checkpoint for the user B. Then, the server performs the merging operation and does some test and fine-tuning’s , and passes the new objects (a specific example of the aforementioned aggregation result) back to user B. The server ensures a high amount of overlapping of the recommended contents and ranking order alignment between user A and user B compared to the client only mode.

[0388] Later at any point in time, if user B wants to reset the behavior and erase the characters of user A, user B can opt for “Reset Preference” settings and can easily go back to the last saved state (checkpoint) which is stored at the server-side checkpoint.

[0389] It should be noted that although FIGS. 20B to 20C simply shown the merging operation as the aggregation, the replacement can also be realized in similar way.

[0390] In the foregoing part, the aggregation of the two models has been described, and in the following, some user interface (UI) related content will be described.

[0391] As mentioned above with reference to step S1301, the first interface which includes recommendation content can be displayed in response to an opening operation, e.g., the first user opens an application which runs a first model, in a possible implementation, before displaying the first interface on the first device, the method further includes:

[0392] in response to a first selection operation for an aggregation operation on a second interface, displaying a third interface on the first device; and

[0393] where sending the first aggregation request to the second device includes:

[0394] in response to a second selecting operation for the second device on the third interface, sending the first aggregation request to the second device.

[0395] Here the second interface is used for presenting multiple aggregation operations, for example, a merging operation, a replacement operation, the reset operation, and an enablement of the cloud aided mode, then the first user may choose on this second interface one of the above options through a first selection operation, then the first device will display a third interface, this third interface is used for presenting available devices (which may be corresponding to different users) for conducting the aggregation. That is, these available devices may be nearby, so the first device can do aggregation with these devices, to share their preferences.

[0396] Then when the first user selects the second device among the available devices through the second selecting operation on the third interface, then the first device can send the first aggregation request to the second  device.

[0397] It should be noted that it is not necessary for the second interface to display all the possible aggregation operations on one interface, which means there may be multiple second interfaces, depending on the actual setting.

[0398] In a possible implementation, the method further includes:

[0399] in response to a third selecting operation for a management control on a fourth interface, displaying the second interface, where the fourth interface is used for presenting attribute information of a user of the first device.

[0400] Here the fourth interface is used for presenting attribute information of the first user, that is, as a possible implementation, the displaying of the second interface may be triggered by a third selecting operation for a management control on the fourth interface, the first user may first enter the fourth interface, then click the management control through the third selecting operation, then the whole process of aggregation will be started. For example, the attribute information may include the name of the first user, the contact number of the first user, etc.

[0401] In a possible implementation, in response to the aggregation operation on the second interface, displaying the third interface on the first device includes:

[0402] in response to the merge triggering operation, displaying a fifth interface; and

[0403] in response to a fourth selecting operation for a communication manner on the fifth interface, displaying the third interface.

[0404] Here the fifth interface is used for presenting possible communication manner through which the first device can contact with the other devices, for example, when the available devices are nearby, the fifth interface may include several options, such as Bluetooth / Wi-Fi direct / NFC, etc.

[0405] In a possible implementation, the method further includes:

[0406] displaying a sixth interface corresponding to the aggregation operation, where the sixth interface is indicative of a process of the obtaining of the aggregation result.

[0407] Here the sixth interface is used for showing the process of the obtaining of the aggregation result to the first user, so that the first user can quickly get acknowledge of what is going on at the moment. In a possible implementation, the sixth interface can show brief introduction of the progress and can change along with the change in the progress.

[0408] Some exemplary interfaces will be shown for illustrating the above process more clearly.

[0409] FIG. 21A and FIG. 21B illustrate exemplary interfaces related to invoking of the merging operation according to one or more embodiments of the present disclosure.

[0410] As shown in FIG. 21A, the first user may first click on the interface 2101 (a specific example of the above fourth interface) and then choose, through a first selection operation, “merge with other” as the aggregation operation on the interface 2102 (a specific example of the above second interface) , then the first user selects the communication manner on the interface 2103 (a specific example of the above fifth interface) , and then selects the client device A as the second device on the interface 2104 (a specific example of the above third interface) , then the merging is started, and the progress of the merging is shown on interfaces 2105 and 2106 (specific examples of the above sixth interface) .

[0411] FIG. 22A and FIG. 22B illustrate exemplary interfaces related to invoking of the copy operation according to one or more embodiments of the present disclosure.

[0412] As shown in FIG. 22A, the first user may first click on the interface 2201 (a specific example of the above fourth interface) and then choose, through a first selection operation, “copy from other” as the aggregation operation on the interface 2202 (a specific example of the above second interface) , then the first user selects the communication manner on the interface 2203 (a specific example of the above fifth interface) , and then selects the client device A as the second device on the interface 2204 (a specific example of the above third interface) , then the copy is started, and the progress of the copy is shown on interfaces 2205 and 2206 (specific examples of the above sixth interface) . Here the copy operation corresponds to the abovementioned replacing operation.

[0413] FIG. 23 illustrates exemplary interfaces related to invoking of the reset operation according to one or more embodiments of the present disclosure.

[0414] As shown in FIG. 23, the first user may first click on the interface 2301 (a specific example of the above fourth interface) and then choose, through a first selection operation, “reset preference” as the aggregation operation on the interface 2302 (a specific example of the above second interface) , then the first user confirms the reset operation on the interface 2303, and the progress of the resetting is shown on the interface 2304 (a specific example of the above sixth interface) .

[0415] FIG. 24 illustrates exemplary interfaces related to invoking of the cloud aided mode according to one or more embodiments of the present disclosure.

[0416] As shown in FIG. 24, the first user may first click on the interface 2401 (a specific example of the above fourth interface) and then choose, through a first selection operation, “Sync with cloud” as the aggregation operation on the interface 2402 (a specific example of the above second interface) , then the first user confirms the privacy statement of the cloud aided mode on the interface 2304.

[0417] With the help of these interfaces, the user can understand how the models and personal data are been used, thereby protecting the user’s privacy. Besides, the user has options to Merge, Copy and Reset the taste profile, this provides the user with multiple choices and thus improving the user experience.

[0418] It should be noted that names, positions, sizes and arrangement of the controls shown in the above exemplary interfaces are for illustrative purpose, which should not be construed as limitations to the embodiments of the present disclosure.

[0419] Next, the apparatus embodiments of the present disclosure will be elaborated.

[0420] FIG. 25 is a block diagram of an information presentation apparatus according to one or more embodiments of the present disclosure. As shown in FIG. 25, the information presentation apparatus 2500 includes:

[0421] a displaying module 2501, configured to: in response to an opening operation, display a first interface on the first device, where the first interface includes recommendation content, and the recommendation content is obtained based on an aggregation result of a first model of the first device and a second model of a second device.

[0422] In a possible implementation, the apparatus 2500 further includes:

[0423] a sending module, configured to send a first aggregation request to the second device, where the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining the aggregation result of the first model of the first device and the second model of the second device; and

[0424] a receiving module, configured to receive a first aggregation response corresponding to the first aggregation request from the second device.

[0425] In a possible implementation, the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.

[0426] In a possible implementation, the first aggregation response is indicative of the second version information;

[0427] where the apparatus 2500 further includes a processing module, configured to:

[0428] determine whether the first version information corresponds to the second version information;

[0429] the sending module is further configured to:

[0430] upon determining that the first version information is matched with the second version information, send  a second aggregation request to the second device, where the second aggregation request is used for requesting the second model-related information of the second model; and

[0431] the receiving module is further configured to:

[0432] receive a second aggregation response from the second device, where the second aggregation response is indicative of the second model-related information of the second model.

[0433] In a possible implementation, the sending module is further configured to:

[0434] upon determining that the first version information is not matched with the second version information, send a model request to a third device, where the model request is used for requesting a third model of which third version information is matched with the second version information;

[0435] the receiving module is further configured to receive a model response from the third device, where the model response is indicative of the third model.

[0436] In a possible implementation, the first aggregation response is indicative of the second model-related information of the second model;

[0437] where the first version information of the first model is determined by the second device to be matched with the second version information of the second model.

[0438] In a possible implementation, the first aggregation response is indicative of rejection of providing the aggregation information by the second device.

[0439] In a possible implementation, the apparatus 2500 further includes:

[0440] a merging module, configured to merge the first model-related information and the second model-related information; or,

[0441] a replacing module, configured to replace the first model-related information with the second model-related information.

[0442] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes the at least one first model weight of the first model;

[0443] the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes the at least one second model weight of the second model.

[0444] In a possible implementation, the at least one second model weight of the second model includes weights  of first layers of the second model, and each of the first layers is a layer with a changeable weight.

[0445] In a possible implementation, the at least one first model weight of the second model further includes weights of second layers of the second model, and each of the second layers is a layer with an unchangeable weight.

[0446] In a possible implementation, the receiving module is further configured to:

[0447] receive layer information about the first layers from a third device.

[0448] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes a first vector for the first model;

[0449] the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes a second vector for the second model.

[0450] In a possible implementation, the second vector for the second model includes a first part, and the first part for the second model includes user behavior information related to the second device.

[0451] In a possible implementation, the second vector for the second model includes a second part, and the second part for the second model includes user attribute information related to the second device.

[0452] In a possible implementation, the merging module is specifically configured to:

[0453] merge the first model-related information and the second model-related information using a first preset algorithm.

[0454] In a possible implementation, the first preset algorithm is an average pooling algorithm or a max pooling algorithm.

[0455] In a possible implementation, the first version information of the first model includes a first tag version of first tag information derived from the first model, and the first model-related information of the first model includes the first tag information derived from the first model;

[0456] the second version information of the second model includes a second tag version of second tag information derived from the second model, and the second model-related information of the second model includes the second tag information derived from the second model.

[0457] In a possible implementation, the first aggregation response is indicative of the second tag information.

[0458] In a possible implementation, the first aggregation response is further indicative of the second version information;

[0459] the apparatus 2500 further includes:

[0460] an updating module, configured to update the second tag information derived from the second model.

[0461] In a possible implementation, the updating module is specifically configured to:

[0462] process the second tag information derived from the second model using a second preset algorithm.

[0463] In a possible implementation, the second preset algorithm is a min-max normalization algorithm.

[0464] In a possible implementation, the first tag information includes at least one first tag and at least one first score corresponding to the at least one first tag respectively;

[0465] the second tag information includes at least one second tag and at least one second score corresponding to the at least one second tag respectively.

[0466] In a possible implementation, the sending module is further configured to:

[0467] send an aggregation confirmation request to the second device, where the aggregation confirmation request is used for requesting acceptation from the second device for obtaining the aggregation result of the first model and the second model; and

[0468] the receiving module is further configured to:

[0469] receive an aggregation confirmation response from the second device, where the aggregation confirmation response is indicative of acceptation of responding to the first aggregation request from the second device.

[0470] In a possible implementation, the first aggregation response is indicative of acceptation of sharing the aggregation information with the first device;

[0471] the sending module is further configured to:

[0472] send a third aggregation request to a third device, where the third aggregation request is used for requesting the aggregation result of the first model and the second model; and

[0473] the receiving module is further configured to:

[0474] receive a third aggregation response from the third device, where the third aggregation response is indicative of the aggregation result of the first model and the second model.

[0475] In a possible implementation, the first aggregation response is further indicative of authorization information for the first device, and the authorization validity information characterizes a grant from the second device for the sharing of the aggregation information with the first device;

[0476] the third aggregation request is indicative of the authorization information.

[0477] In a possible implementation, the aggregation result includes at least one of the following: at least one  merged model weight of the first model and the second model, a merged vector based on a first vector for the first model and a second vector for the second model or merge tag information based on first tag information derived from the first model and second tag information derived from the second model.

[0478] In a possible implementation, the first aggregation request is indicative of an identification of the first device.

[0479] In a possible implementation, the sending module is further configured to:

[0480] send a reset request to a third device, where the reset request is used for requesting to reset the first model; and

[0481] the receiving module is further configured to:

[0482] receive a reset response from the third device, where the third device is indicative of a preset version of the first model.

[0483] In a possible implementation, the preset version of the first model is any one of a base model corresponding to the first model or a previous version of the first model before aggregation of the first model and the second model.

[0484] In a possible implementation, the displaying module 2501 is further configured to:

[0485] in response to a first selection operation for an aggregation operation on a second interface, display a third interface on the first device; and

[0486] the sending module is specifically configured to:

[0487] in response to a second selecting operation for the second device on the third interface, send the first aggregation request to the second device.

[0488] In a possible implementation, the displaying module 2501 is further configured to:

[0489] in response to a third selecting operation for a management control on a fourth interface, display the second interface, where the fourth interface is used for presenting attribute information of a user of the first device.

[0490] In a possible implementation, the displaying module 2501 is specifically configured to:

[0491] in response to the merge triggering operation, display a fifth interface; and

[0492] in response to a fourth selecting operation for a communication manner on the fifth interface, display the third interface.

[0493] In a possible implementation, the displaying module 2501 is further configured to:

[0494] display a sixth interface corresponding to the aggregation operation, where the sixth interface is indicative  of a process of the obtaining of the aggregation result.

[0495] The information presentation apparatus may be applied to the first device as described in the above method embodiments. It should be understood by a person skilled in the art that, the relevant description of the above modules in the embodiments of the present disclosure may be understood with reference to the relevant description of the information presentation method in the embodiments of the present disclosure.

[0496] FIG. 26 is a block diagram of an information presentation apparatus according to one or more embodiments of the present disclosure. As shown in FIG. 26, the information presentation apparatus 2600 includes:

[0497] a receiving module 2601, configured to receive a first aggregation request from a first device, where the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining an aggregation result of a first model of the first device and a second model of the second device; and

[0498] a sending module 2602, configured to send a first aggregation response corresponding to the first aggregation request to the first device.

[0499] In a possible implementation, the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.

[0500] In a possible implementation, the first aggregation response is indicative of the second version information;

[0501] the receiving module 2601 is configured to:

[0502] receive a second aggregation request from the first device, where the second aggregation request is used for requesting the second model-related information of the second model; and

[0503] the sending module 2602 is configured to:

[0504] send a second aggregation response to the first device, where the second aggregation response is indicative of the second model-related information of the second model.

[0505] In a possible implementation, the apparatus 2600 further includes a processing module, configured to:

[0506] determine whether the first version information corresponds to the second version information;

[0507] the sending module 2602 is configured to:

[0508] upon determining that the first version information is matched with the second version information, send  the first aggregation response to the first device, where the first aggregation response is indicative of the second model-related information of the second model.

[0509] In a possible implementation, the receiving module 2601 is further configured to:

[0510] receive an aggregation confirmation request from the first device, where the aggregation confirmation request is used for requesting acceptation from the second device for obtaining the aggregation result of the first model and the second model; and

[0511] the sending module 2602 is further configured to:

[0512] send an aggregation confirmation response to the first device, where the aggregation confirmation response is indicative of acceptation of responding to the first aggregation request from the second device.

[0513] The information presentation apparatus may be applied to the second device as described in the above method embodiments. It should be understood by a person skilled in the art that, the relevant description of the above modules in the embodiments of the present disclosure may be understood with reference to the relevant description of the information presentation method in the embodiments of the present disclosure.

[0514] FIG. 27 is a block diagram of an information presentation apparatus according to one or more embodiments of the present disclosure. As shown in FIG. 27, the information presentation apparatus 2700 includes:

[0515] a receiving module 2701, configured to receive a third aggregation request from a first device, where the third aggregation request is used for requesting an aggregation result of a first model of the first device and a second model of a second device, where a first aggregation request is sent from the first device to the second device for requesting aggregation information used for merging the first model and the second model, and a first aggregation response is sent from the second device for indicating acceptation of sharing the aggregation information with the first device by the second device;

[0516] an obtaining module 2702, configured to obtain the aggregation result based on the third aggregation request; and

[0517] a sending module 2703, configured to send a third aggregation response to the first device, where the third aggregation response is indicative of the aggregation result of the first model and the second model.

[0518] In a possible implementation, the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, where the aggregation information includes second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.

[0519] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes the at least one first model weight of the first model;

[0520] the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes the at least one second model weight of the second model.

[0521] In a possible implementation, the first version information of the first model includes a first model version of the first model, and the first model-related information of the first model includes a first vector for the first model;

[0522] the second version information of the second model includes a second model version of the second model, and the second model-related information of the second model includes a second vector for the second model.

[0523] In a possible implementation, the first version information of the first model includes a first tag version of first tag information derived from the first model, and the first model-related information of the first model includes the first tag information derived from the first model;

[0524] the second version information of the second model includes a second tag version of second tag information derived from the second model, and the second model-related information of the second model includes the second tag information derived from the second model.

[0525] In a possible implementation, the obtaining module 2702 is specifically configured to:

[0526] merge the first model-related information and the second model-related information to obtain merged model-related information as the aggregation result.

[0527] In a possible implementation, the obtaining module 2702 is specifically configured to:

[0528] replace the first model-related information with the second model-related information and taking the second model-related information as the aggregation result.

[0529] In a possible implementation, the third aggregation request is indicative of an identification of the first device.

[0530] The information presentation apparatus may be applied to the third device as described in the above method embodiments. It should be understood by a person skilled in the art that, the relevant description of the above modules in the embodiments of the present disclosure may be understood with reference to the relevant description of the information presentation method in the embodiments of the present disclosure.

[0531] An embodiment of the present disclosure provides a first device including processing circuitry for executing any of the above information presentation methods. It should be understood that the first device can execute the steps performed by the first device in the above method embodiments, which will not be repeated here.

[0532] An embodiment of the present disclosure provides a second device including processing circuitry for executing any of the above information presentation methods. It should be understood that the second device can execute the steps performed by the network device in the above method embodiments, which will not be repeated here.

[0533] An embodiment of the present disclosure provides a third device including processing circuitry for executing any of the above information presentation methods. It should be understood that the third device can execute the steps performed by the network device in the above method embodiments, which will not be repeated here.

[0534] An embodiment of the present disclosure provides an information presentation apparatus which includes a processor and a memory. The memory is storing instructions that cause the processor to perform any of the above information presentation methods.

[0535] An embodiment of the present disclosure provides a communication system, including a first device, a second device and a third device. The first device is configured to execute the steps executed by the first device in any of the above information presentation methods, the second device is configured to execute the steps executed by the second device in any of the above information presentation methods and the third device is configured to execute the steps executed by the third device in any of the above information presentation methods.

[0536] An embodiment of the present disclosure provides a computer-readable medium storing computer execution instructions which, when executed by a processor, causes the processor to execute any of the above information presentation methods.

[0537] An embodiment of the present disclosure provides a computer program product including computer execution instructions which, when executed by a processor, causes the processor to execute any of the above information presentation methods.

[0538] Note that when the request or the response mentioned above includes multiple different contents for indicating multiple different pieces of information, the multiple contents can be indicated separately in multiple requests / responses, or together in one request / response.

[0539] Although the present disclosure describes methods and processes with steps in a certain order, one or  more steps of the methods and processes may be omitted or altered as appropriate. One or more steps may take place in an order other than that in which they are described, as appropriate.

[0540] Note that the expression “at least one of A or B” , as used herein, is interchangeable with the expression “A and / or B” . It refers to a list in which you may select A or B or both A and B. Similarly, “at least one of A, B, or C”, as used herein, is interchangeable with “A and / or B and / or C” or “A, B, and / or C” . It refers to a list in which you may select: A or B or C, or both A and B, or both A and C, or both B and C, or all of A, B and C. The same principle applies for longer lists having a same format.

[0541] Although the present disclosure is described, at least in part, in terms of methods, a person of ordinary skill in the art will understand that the present disclosure is also directed to the various components for performing at least some of the aspects and features of the described methods, be it by way of hardware components, software or any combination of the two. Accordingly, the technical solution of the present disclosure may be embodied in the form of a software product. A suitable software product may be stored in a pre-recorded storage device or other similar non-volatile or non-transitory computer readable medium, including DVDs, CD-ROMs, USB flash disk, a removable hard disk, or other storage media, for example. The software product includes instructions tangibly stored thereon that enable a processing device (e.g., a personal computer, a server, or a network device) to execute examples of the methods disclosed herein. The machine-executable instructions may be in the form of code sequences, configuration information, or other data, which, when executed, cause a machine (e.g., a processor or other processing device) to perform steps in a method according to examples of the present disclosure.

[0542] The present disclosure may be embodied in other specific forms without departing from the subject matter of the claims. The described example embodiments are to be considered in all respects as being only illustrative and not restrictive. Selected features from one or more of the above-described embodiments may be combined to create alternative embodiments not explicitly described, features suitable for such combinations being understood within the scope of this disclosure.

[0543] All values and sub-ranges within disclosed ranges are also disclosed. Also, although the systems, devices and processes disclosed and shown herein may include a specific number of elements / components, the systems, devices and assemblies could be modified to include additional or fewer of such elements / components. For example, although any of the elements / components disclosed may be referenced as being singular, the embodiments disclosed herein could be modified to include a plurality of such elements / components. The subject matter described herein intends to cover and embrace all suitable changes in technology.

[0544] Although embodiments have been described above with reference to the accompanying drawings, those of skill in the art will appreciate that variations and modifications may be made without departing from the scope thereof as defined by the appended claims.

Claims

1.An information presentation method, applied to a first device and comprising:in response to an opening operation, displaying a first interface on the first device, wherein the first interface comprises recommendation content, and the recommendation content is obtained based on an aggregation result of a first model of the first device and a second model of a second device.2.The method according to claim 1, further comprising:sending a first aggregation request to the second device, wherein the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining the aggregation result of the first model of the first device and the second model of the second device; andreceiving a first aggregation response corresponding to the first aggregation request from the second device.3.The method according to claim 2, wherein the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, wherein the aggregation information comprises second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.4.The method according to claim 3, wherein the first aggregation response is indicative of the second version information;wherein the method further comprises:determining whether the first version information corresponds to the second version information;upon determining that the first version information is matched with the second version information, sending a second aggregation request to the second device, wherein the second aggregation request is used for requesting the second model-related information of the second model; andreceiving a second aggregation response from the second device, wherein the second aggregation response is indicative of the second model-related information of the second model.5.The method according to claim 4, wherein sending the second aggregation request to the second device further comprises:upon determining that the first version information is not matched with the second version information, sending a model request to a third device, wherein the model request is used for requesting a third model of which third version information is matched with the second version information;receiving a model response from the third device, wherein the model response is indicative of the third model.6.The method according to claim 3, wherein the first aggregation response is indicative of the second model-related information of the second model;wherein the first version information of the first model is determined by the second device to be matched with the second version information of the second model.7.The method according to claim 3, wherein the first aggregation response is indicative of rejection of providing the aggregation information by the second device.8.The method according to any one of claims 3 to 6, further comprising:merging the first model-related information and the second model-related information; or,replacing the first model-related information with the second model-related information.9.The method according to claim 8, wherein the first version information of the first model comprises a first model version of the first model, and the first model-related information of the first model comprises the at least one first model weight of the first model;wherein the second version information of the second model comprises a second model version of the second model, and the second model-related information of the second model comprises the at least one second model weight of the second model.10.The method according to claim 9, wherein the at least one second model weight of the second model comprises weights of first layers of the second model, and each of the first layers is a layer with a changeable weight.11.The method according to claim 10, wherein the at least one first model weight of the second model further comprises weights of second layers of the second model, and each of the second layers is a layer with an unchangeable weight.12.The method according to claim 10 or 11, further comprising:receiving layer information about the first layers from a third device.13.The method according to claim 8, wherein the first version information of the first model comprises a first model version of the first model, and the first model-related information of the first model comprises a first vector for the first model;wherein the second version information of the second model comprises a second model version of the second model, and the second model-related information of the second model comprises a second vector for the second model.14.The method according to claim 13, wherein the second vector for the second model comprises a first part, and the first part for the second model comprises user behavior information related to the second device.15.The method according to claim 14, wherein the second vector for the second model comprises a second part, and the second part for the second model comprises user attribute information related to the second device.16.The method according to any one of claims 8 to 15, wherein merging the first model-related information and the second model-related information comprises:merging the first model-related information and the second model-related information using a first preset algorithm.17.The method according to claim 16, wherein the first preset algorithm is an average pooling algorithm or a max pooling algorithm.18.The method according to claim 3, wherein the first version information of the first model comprises a first tag version of first tag information derived from the first model, and the first model-related information of the first model comprises the first tag information derived from the first model;wherein the second version information of the second model comprises a second tag version of second tag information derived from the second model, and the second model-related information of the second model comprises the second tag information derived from the second model.19.The method according to claim 18, wherein the first aggregation response is indicative of the second tag information.20.The method according to claim 19, wherein the first aggregation response is further indicative of the second version information;the method further comprises:updating the second tag information derived from the second model.21.The method according to claim 20, wherein updating the second model-related information in the aggregation information comprises:processing the second tag information derived from the second model using a second preset algorithm.22.The method according to claim 21, wherein the second preset algorithm is a min-max normalization algorithm.23.The method according to any one of claims 18 to 22, wherein the first tag information comprises at least  one first tag and at least one first score corresponding to the at least one first tag respectively;wherein the second tag information comprises at least one second tag and at least one second score corresponding to the at least one second tag respectively.24.The method according to any one of claims 2 to 23, wherein before sending the first aggregation request to the second device, the method comprises:sending an aggregation confirmation request to the second device, wherein the aggregation confirmation request is used for requesting acceptation from the second device for obtaining the aggregation result of the first model and the second model; andreceiving an aggregation confirmation response from the second device, wherein the aggregation confirmation response is indicative of acceptation of responding to the first aggregation request from the second device.25.The method according to claim 2, wherein the first aggregation response is indicative of acceptation of sharing the aggregation information with the first device;the method further comprises:sending a third aggregation request to a third device, wherein the third aggregation request is used for requesting the aggregation result of the first model and the second model; andreceiving a third aggregation response from the third device, wherein the third aggregation response is indicative of the aggregation result of the first model and the second model.26.The method according to claim 25, wherein the first aggregation response is further indicative of authorization information for the first device, and the authorization validity information characterizes a grant from the second device for the sharing of the aggregation information with the first device;wherein the third aggregation request is indicative of the authorization information.27.The method according to claim 25 or 26, wherein the aggregation result comprises at least one of the following: at least one merged model weight of the first model and the second model, a merged vector based on a first vector for the first model and a second vector for the second model or merge tag information based on first tag information derived from the first model and second tag information derived from the second model.28.The method according to any one of claims 2 to 27, wherein the first aggregation request is indicative of an identification of the first device.29.The method according to any one of claims 2 to 28, further comprising:sending a reset request to a third device, wherein the reset request is used for requesting to reset the first model; andreceiving a reset response from the third device, wherein the third device is indicative of a preset version of the first model.30.The method according to claim 29, wherein the preset version of the first model is any one of a base model corresponding to the first model or a previous version of the first model before aggregation of the first model and the second model.31.The method according to any one of claims 2 to 30, before displaying the first interface on the first device, the method further comprises:in response to a first selection operation for an aggregation operation on a second interface, displaying a third interface on the first device; andwherein sending the first aggregation request to the second device comprises:in response to a second selecting operation for the second device on the third interface, sending the first aggregation request to the second device.32.The method according to claim 31, further comprising:in response to a third selecting operation for a management control on a fourth interface, displaying the second interface, wherein the fourth interface is used for presenting attribute information of a user of the first device.33.The method according to claim 31 or 32, wherein in response to the aggregation operation on the second interface, displaying the third interface on the first device comprises:in response to the merge triggering operation, displaying a fifth interface; andin response to a fourth selecting operation for a communication manner on the fifth interface, displaying the third interface.34.The method according to any one of claims 31 to 33, further comprising:displaying a sixth interface corresponding to the aggregation operation, wherein the sixth interface is indicative of a process of the obtaining of the aggregation result.35.An information presentation method, applied to a second device and comprising:receiving a first aggregation request from a first device, wherein the first aggregation request is used for requesting aggregation information of the second device, and the aggregation information is used for obtaining an aggregation result of a first model of the first device and a second model of the second device; andsending a first aggregation response corresponding to the first aggregation request to the first device.36.The method according to claim 35, wherein the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, wherein the aggregation information comprises second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.37.The method according to claim 36, wherein the first aggregation response is indicative of the second version information;wherein the method further comprises:receiving a second aggregation request from the first device, wherein the second aggregation request is used for requesting the second model-related information of the second model; andsending a second aggregation response to the first device, wherein the second aggregation response is indicative of the second model-related information of the second model.38.The method according to claim 36, further comprising:determining whether the first version information corresponds to the second version information;wherein sending the first aggregation response corresponding to the first aggregation request to the first device comprises:upon determining that the first version information is matched with the second version information, sending the first aggregation response to the first device, wherein the first aggregation response is indicative of the second model-related information of the second model.39.The method according to any one of claims 35 to 38, further comprising:receiving an aggregation confirmation request from the first device, wherein the aggregation confirmation request is used for requesting acceptation from the second device for obtaining the aggregation result of the first model and the second model; andsending an aggregation confirmation response to the first device, wherein the aggregation confirmation response is indicative of acceptation of responding to the first aggregation request from the second device.40.An information presentation method, applied to a third device and comprising:receiving a third aggregation request from a first device, wherein the third aggregation request is used for requesting an aggregation result of a first model of the first device and a second model of a second device, wherein a first aggregation request is sent from the first device to the second device for requesting aggregation information used for merging the first model and the second model, and a first aggregation response is sent from the second device for indicating acceptation of sharing the aggregation information with the first device by the second device;obtaining the aggregation result based on the third aggregation request; andsending a third aggregation response to the first device, wherein the third aggregation response is indicative of the aggregation result of the first model and the second model.41.The method according to claim 40, wherein the first aggregation request is indicative of first version information of the first model, and the first version information corresponds to first model-related information of the first model, wherein the aggregation information comprises second model-related information of the second model, and the second model-related information of the second model corresponds to second version information of the second model.42.The method according to claim 41, wherein the first version information of the first model comprises a first model version of the first model, and the first model-related information of the first model comprises the at least one first model weight of the first model;wherein the second version information of the second model comprises a second model version of the second model, and the second model-related information of the second model comprises the at least one second model weight of the second model.43.The method according to claim 41, wherein the first version information of the first model comprises a first model version of the first model, and the first model-related information of the first model comprises a first vector for the first model;wherein the second version information of the second model comprises a second model version of the second model, and the second model-related information of the second model comprises a second vector for the second model.44.The method according to claim 41, wherein the first version information of the first model comprises a first tag version of first tag information derived from the first model, and the first model-related information of the first model comprises the first tag information derived from the first model;wherein the second version information of the second model comprises a second tag version of second tag information derived from the second model, and the second model-related information of the second model comprises the second tag information derived from the second model.45.The method according to any one of claims 41 to 44, wherein obtaining the aggregation result based on the  third aggregation request comprises:merging the first model-related information and the second model-related information to obtain merged model-related information as the aggregation result.46.The method according to any one of claims 41 to 44, wherein obtaining the aggregation result based on the third aggregation request comprises:replacing the first model-related information with the second model-related information and taking the second model-related information as the aggregation result.47.The method according to any one of claims 40 to 46, wherein the third aggregation request is indicative of an identification of the first device.48.An information presentation apparatus, comprising modules for performing the method according to any one of claims 1 to 34.49.An information presentation apparatus, comprising modules for performing the method according to any one of claims 35 to 39.50.An information presentation apparatus, comprising modules for performing the method according to any one of claims 40 to 47.51.A first device, comprising processing circuitry for executing the method according to any one of claims 1 to 34.52.A second device, comprising processing circuitry for executing the method according to any one of claims 35 to 39.53.A server, comprising processing circuitry for executing the method according to any one of claims 40 to 47.54.A computer-readable medium storing computer execution instructions which, when executed by a processor, causes the processor to execute the method according to any one of claims 1 to 34 or the method according to any one of claims 35 to 39 or the method according to any one of claims 40 to 47.

Citation Information

Patent Citations

  • Multi-social-platform user recommendation method and system based on privacy protection

    CN113407860A

  • Content recommendation method, device, system, equipment, medium and program product

    CN114238784A

  • Federal learning method and device, equipment and medium

    CN115511103A

  • Asynchronous federal learning method, device and system and storage medium

    CN116245194A

  • Optimized recommendation engine

    US20180247362A1