Object recommendation method and device, electronic equipment and storage medium
By storing and processing user behavior data in the blockchain network, the problem of information overload is solved, efficient and accurate object recommendations are achieved, and user experience is improved.
Patent Information
- Application Number
- CN202510821316.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-14
- Publication Date
- 2025-09-26
AI Technical Summary
Information overload leads to inefficiency in users' screening and integration of information on the Internet, and existing technologies find it difficult to effectively utilize user behavior data for efficient object recommendations.
The candidate user behavior data is stored and processed through the blockchain network, the target user behavior data and multiple candidate user behavior data are used to determine the target object, and the recommended object is generated and stored on the blockchain to achieve efficient object recommendation.
It improves the accuracy and processing efficiency of object recommendations, ensures the traceability and credibility of data, and enhances the security of data transmission.
Smart Images

Figure CN120705403A_ABST
Abstract
Description
[0001] This application is a divisional application of the Chinese invention patent application with application number 202210046031.5 (application date: January 14, 2022, invention name: object recommendation method, device, electronic device and storage medium). Technical Field
[0002] The present disclosure relates to the fields of blockchain and artificial intelligence technology, and more specifically, to an object recommendation method, device, electronic device, and storage medium. Background Art
[0003] With the development of science and technology, the internet has grown in scale and reach, generating explosive growth in the amount of information and data it generates. This overabundance of information forces users to sift through information, wasting time filtering and integrating it. Information overload is one of the adverse effects of the information age's abundance. To improve information utilization efficiency, object recommendation methods can be used to implement information filtering. Summary of the Invention
[0004] In view of this, the present disclosure provides an object recommendation method, apparatus, electronic device, and storage medium.
[0005] One aspect of the present disclosure provides an object recommendation method, comprising: in response to receiving target user behavior data of a target user from a target client, determining a target object based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users; and sending the target object to the target client so as to recommend the target object to the target user, wherein each of the candidate user behavior data is stored in a predetermined blockchain, each of the candidate user behavior data corresponds to at least one blockchain node among multiple blockchain nodes in a blockchain network, and each of the candidate user behavior data is used to characterize the candidate user's preference for at least one candidate object.
[0006] Another aspect of the present disclosure provides an object recommendation method, which is applied to a blockchain network, wherein the blockchain network includes multiple blockchain nodes, and the multiple blockchain nodes include blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client; the method includes: for each of the multiple blockchain nodes, in response to receiving a data upload request from at least one candidate user from the client corresponding to the blockchain node, parsing the at least one data upload request to obtain candidate user behavior data corresponding to the at least one candidate user; processing the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data; and storing the at least one block in a predetermined blockchain so that a server sends a target object recommended to the target user to a target client, wherein the target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users, and the target user behavior data is the user behavior data of the target user received by the server in response to the target client.
[0007] Another aspect of the present disclosure provides an object recommendation method, comprising: for a client corresponding to each of a plurality of blockchain nodes in a blockchain network, in response to detecting that a data on-chain operation for at least one candidate user corresponding to the client is triggered, obtaining candidate user behavior data corresponding to the at least one candidate user; generating a data on-chain request corresponding to the at least one candidate user based on the candidate user behavior data corresponding to the at least one candidate user; and sending at least one of the above-mentioned data on-chain requests to the blockchain node corresponding to the client, so that the blockchain node generates a block corresponding to the at least one candidate user behavior data using the at least one above-mentioned data on-chain request, and stores the at least one above-mentioned block in a predetermined blockchain, so that the server sends a target object recommended to the target user to the target client, wherein the above-mentioned target object is determined by the above-mentioned server based on the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users, and the above-mentioned target user behavior data is the user behavior data of the target user received by the server in response to the target client.
[0008] According to another aspect of the present disclosure, an object recommendation device is provided, including: a first determination module, configured to, in response to receiving target user behavior data of a target user from a target client, determine a target object based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users; and a first sending module, configured to send the target object to the target client so as to recommend the target object to the target user, wherein each of the candidate user behavior data is stored in a predetermined blockchain, each of the candidate user behavior data corresponds to at least one blockchain node among multiple blockchain nodes in a blockchain network, and each of the candidate user behavior data is used to characterize the candidate user's preference for at least one candidate object.
[0009] According to another aspect of the present disclosure, an object recommendation device is provided, which is arranged in a blockchain network, wherein the blockchain network includes multiple blockchain nodes, the multiple blockchain nodes including blockchain nodes corresponding to at least one personal client and blockchain nodes corresponding to at least one service client; the device includes: a first obtaining module configured to, for each of the multiple blockchain nodes, parse at least one data upload request for at least one candidate user from the client corresponding to the blockchain node, to obtain candidate user behavior data corresponding to the at least one candidate user; a first generating module configured to process the candidate user behavior data corresponding to the at least one candidate user and generate a block corresponding to the at least one candidate user behavior data; and a first storage module configured to store the at least one block in a predetermined blockchain so that a server can send a target object recommended to the target user to a target client, wherein the target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users, and the target user behavior data is the user behavior data of the target user received by the server in response to the target client.
[0010] Another aspect of the present disclosure provides an object recommendation device, comprising: a second obtaining module, configured to, for each client corresponding to a plurality of blockchain nodes in a blockchain network, obtain, in response to detecting that a data on-chain operation for at least one candidate user corresponding to the client is triggered, candidate user behavior data corresponding to the at least one candidate user; a second generating module, configured to generate, based on the candidate user behavior data corresponding to the at least one candidate user, a data on-chain request corresponding to the at least one candidate user; and a second sending module, configured to send at least one of the above-mentioned data on-chain requests to the blockchain node corresponding to the client, so that the blockchain node generates a block corresponding to the at least one candidate user behavior data using the at least one of the above-mentioned data on-chain requests, and stores the at least one of the above-mentioned blocks in a predetermined blockchain, so that the server sends a target object recommended to the target user to the target client, wherein the target object is determined by the server based on the target user behavior data and at least one candidate user behavior vector corresponding to the plurality of candidate users, and the target user behavior data is the user behavior data of the target user received by the server in response to the target client.
[0011] Another aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory configured to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the above-mentioned method of the present disclosure.
[0012] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the above method of the present disclosure when executed.
[0013] Another aspect of the present disclosure provides a computer program product, which includes computer-executable instructions. When the instructions are executed, they are used to implement the method of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:
[0015] Figure 1 Schematically illustrates an exemplary system architecture to which the object recommendation method according to an embodiment of the present disclosure can be applied;
[0016] Figure 2 The following schematically shows a flow chart of an object recommendation method according to an embodiment of the present disclosure;
[0017] Figure 3Schematically illustrates a flow chart for determining a target object based on target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users;
[0018] Figure 4 Schematically illustrates a flow chart for determining a target object based on target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to another embodiment of the present disclosure;
[0019] Figure 5 Schematically shows a flow chart of an object recommendation method according to another embodiment of the present disclosure;
[0020] Figure 6 Schematically shows a flow chart of an object recommendation method according to another embodiment of the present disclosure;
[0021] Figure 7 An example schematic diagram of an object recommendation process according to an embodiment of the present disclosure is schematically shown;
[0022] Figure 8 Schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure;
[0023] Figure 9 Schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure;
[0024] Figure 10 A block diagram schematically illustrates an object recommendation device according to another embodiment of the present disclosure; and
[0025] Figure 11 A block diagram of an electronic device suitable for implementing an object recommendation method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0026] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the detailed description below, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.
[0027] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise," "include," etc. used herein indicate the presence of the features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.
[0028] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0029] When expressions such as “at least one of A, B, and C, etc.” are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled in the art (e.g., “a system having at least one of A, B, and C” should include but is not limited to systems having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, and C, etc.). When expressions such as “at least one of A, B, or C, etc.” are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled in the art (e.g., “a system having at least one of A, B, or C” should include but is not limited to systems having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, and C, etc.).
[0030] Embodiments of the present disclosure provide a blockchain-based object recommendation solution. In response to receiving target user behavior data of a target user from a target client, a target object is determined based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. The target object is sent to the target client for recommendation to the target user. Each candidate user behavior data is stored in a predetermined blockchain. Each candidate user behavior data corresponds to at least one blockchain node included in a plurality of blockchain nodes in a blockchain network. Each candidate user behavior data is used to represent the candidate user's preference for at least one candidate.
[0031] To facilitate understanding, relevant concepts involved in the embodiments of the present disclosure are first described below.
[0032] Blockchain is a solution that uses a chained data structure to verify and store data, a distributed node consensus algorithm to generate and update data, cryptography to ensure secure data transmission and access, and smart contracts composed of automated script code to collectively maintain a reliable database. Therefore, blockchain has fundamental characteristics such as openness, decentralization, information sharing, tamper-proofing, and traceability. Blockchain can replace reliance on centralized servers with blocks.
[0033] A block is a container data structure that aggregates data and is included in a blockchain. A block can consist of a block header and a block body. The block header includes a version, timestamp, parent block hash, nonce, difficulty coefficient, and Merkle root. The timestamp identifies the moment the block was created. The parent block hash can be used to reference the previous block. The block body can include transaction details, a transaction counter, and the block size.
[0034] Smart contracts are executable code stored on the blockchain. This executable code defines the smart contract's execution conditions and business processing logic. Specifically, it defines the conditions for initiating the smart contract and how to handle business processing requests received after the smart contract is activated. Once stored on the blockchain, smart contracts are difficult to edit or modify. For example, the execution of a smart contract can be triggered by events. For example, the execution of a smart contract is recorded as a transaction on the blockchain and is recorded there.
[0035] Based on the scope of the network, blockchains can be categorized as public, private, consortium, and hybrid. A consortium chain is a blockchain jointly participated in and managed by several organizations, each of which can operate at least one blockchain node. Consortium chain data is only accessible to organizations within the consortium chain system for reading, writing, and transacting. Digital certificates are used to implement a PKI (Public Key Infrastructure)-based identity management system, initiate transactions, or initiate proposals, and reach consensus through joint signature verification by participating parties. In the disclosed embodiments, the type of blockchain can be determined based on actual business needs and is not limited here. For example, the blockchain network may be a consortium chain.
[0036] A blockchain network can include multiple blockchain nodes. Blockchain nodes communicate via a peer-to-peer network. Blockchain nodes can act as both clients and servers, meaning they can request services from other blockchain nodes or provide services to other blockchain nodes or external applications.
[0037] Figure 1 The following schematically illustrates an exemplary system architecture to which the object recommendation method according to an embodiment of the present disclosure can be applied. Figure 1 The examples shown are merely examples of system architectures to which the embodiments of the present disclosure may be applied, to help those skilled in the art understand the technical content of the present disclosure, but do not mean that the embodiments of the present disclosure may not be used in other devices, systems, environments or scenarios.
[0038] like Figure 1As shown, the system architecture 100 according to this embodiment may include a server 101, a blockchain network 102, and a client network 103. The blockchain network 102 may include four blockchain nodes, namely, blockchain node 102_1, blockchain node 102_2, blockchain node 102_3, and blockchain node 102_4. The client network 103 may include four clients, namely, client 103_1, client 103_2, client 103_3, and client 103_4.
[0039] In blockchain network 102, four blockchain nodes are connected in pairs. The blockchain node corresponding to client 103_1 is blockchain node 102_1. The blockchain node corresponding to client 103_2 is blockchain node 102_2. The blockchain node corresponding to client 103_3 is blockchain node 102_3. The blockchain node corresponding to client 103_4 is blockchain node 103_4.
[0040] The server 101 can be communicatively connected to the blockchain network 102 and the client network 103 respectively.
[0041] Blockchain nodes can be clients or servers. Clients can be various electronic devices with display screens and web browsing support, including but not limited to smartphones, tablets, laptops, and desktop computers. Servers can be various types of servers that provide various services. For example, a server can be a cloud server, also known as a cloud computing server or cloud host, a host product within the cloud computing service ecosystem that addresses the management difficulties and poor scalability of traditional physical hosts and VPS (Virtual Private Server) services. A server can also be an edge server. A server can also be a server in a distributed system or a server integrated with a blockchain.
[0042] Client 103_1 , client 103_2 , client 103_3 and client 103_4 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers and desktop computers.
[0043] For example, in response to detecting that a data upload operation for at least one candidate user corresponding to client 103_1 is triggered, client 103_1 obtains candidate user behavior data corresponding to the at least one candidate user and generates a data upload request corresponding to each of the at least one candidate user based on the candidate user behavior data corresponding to each of the at least one candidate user.
[0044] In response to receiving a data upload request from client 103_1 for at least one candidate user, blockchain node 102_1 parses the at least one data upload request and obtains candidate user behavior data corresponding to the at least one candidate user. Blockchain node 102_1 processes the candidate user behavior data corresponding to the at least one candidate user and generates a block corresponding to the at least one candidate user behavior data. Blockchain node 102_1 stores the at least one block in a predetermined blockchain.
[0045] In response to receiving the target user behavior data of the target user from the target client 103_2, the server 101 determines a target object based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and sends the target object to the target client 103_2 to recommend the target object to the target user.
[0046] Figure 2 The flowchart of the object recommendation method according to an embodiment of the present disclosure is schematically shown.
[0047] like Figure 2 As shown, the method 200 includes operations S210 to S220.
[0048] In operation S210 , in response to receiving target user behavior data of a target user from a target client, a target object is determined based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.
[0049] In operation S220 , the target object is sent to the target client so as to recommend the target object to the target user.
[0050] According to an embodiment of the present disclosure, each candidate user behavior data may be stored in a predetermined blockchain. Each candidate user behavior data may correspond to at least one blockchain node among a plurality of blockchain nodes in a blockchain network. Each candidate user behavior data may be used to characterize the candidate user's preference for at least one candidate object.
[0051] According to embodiments of the present disclosure, clients can be categorized into different types based on different classification perspectives. For example, based on the service functions provided by the client, clients can be categorized into personal clients and service clients. A personal client may refer to a client that utilizes the functions provided by the client for consumption. A service client may refer to a client that supports user transaction services. Based on the client development framework, clients can be categorized into program clients and web clients. A program client may refer to a client that loads an application (APP). A web client may refer to a web client. A web client may include a web browser. Based on whether the user has registered, clients can be categorized into registered clients and unregistered clients. A registered client may refer to a client that has registered while using at least one of the functions provided by the client itself and the functions provided by the application loaded on the client. An unregistered client may refer to a client that has not registered while using either the functions provided by the client itself or the functions provided by the application loaded on the client. A program client can be a personal client, a service client, a registered client, or an unregistered client. A web client can be a personal client, a service client, a registered client, or an unregistered client.
[0052] According to an embodiment of the present disclosure, a target user may refer to a user for whom an object recommendation is required. A target user may have target user behavior data corresponding to the target user. A candidate user may refer to a user who participates in the operation of determining a target object. Each candidate user may have at least one candidate user behavior data corresponding to the candidate user. Each candidate user may be associated with candidate user behavior data corresponding to the candidate user. The number of candidate users participating in the operation of determining a target object may include multiple users, and each candidate user may have at least one candidate user behavior data.
[0053] According to an embodiment of the present disclosure, both the candidate user behavior data and the target user behavior data may include at least one dimension. The candidate user behavior data and the target user behavior data may include the same number of dimensions. Each dimension may correspond to a candidate object. The candidate user behavior data may include user behavior data of at least one candidate object. One or more dimensions in the candidate user behavior data and the target user behavior data may be null values. That is, user behavior data of the candidate user corresponding to the candidate user behavior data for one or more candidate objects is not obtained.
[0054] According to an embodiment of the present disclosure, the target user behavior data may include user behavior data of at least one candidate object. The candidate user behavior data may be used to characterize the candidate user's preference for the at least one candidate object. The target user behavior data may be used to characterize the target user's preference for the at least one candidate object. The preference may be represented by an evaluation value. For example, the evaluation value may be a non-negative number greater than or equal to 0 and less than or equal to 1.
[0055] According to an embodiment of the present disclosure, the at least one candidate object may include at least one of the following: a user-related object, an item-related object, and a client-related object. The user-related object may include at least one of the following: user attribute information, user social information, and user credit information. The item-related object may include at least one of the following: item attribute information and item function information. The client-related object may include at least one of the following: client attribute information, client function information, client credit information, client user information, and client media information.
[0056] According to an embodiment of the present disclosure, user attribute information may include at least one of the following: user identification information and user auxiliary information. User identification information may include at least one of the following: user name, user ID number and IP (Internet Protocol Address) address. User auxiliary information may include current location information, user gender, user place of origin, user age, user weight, birthday zodiac sign, user specialty and user's frequent activities. User interaction information may include at least one of the following: user browsing history, user order history and user social information. User social information may include at least one of the following: following, rewarding, commenting, barrage, likes, collections, sharing and forwarding. User credit information may be characterized by the user's credit rating.
[0057] According to an embodiment of the present disclosure, item attribute information may include at least one of the following: item identification information and item auxiliary information. Item identification information may include at least one of the following: item name and item barcode. Item auxiliary information may include at least one of the following: item type, item price, item price, item ingredients, item standard number, item manufacturer, item origin, item sales location, item production date, and item shelf life. Item function information may refer to the functions of the item. For example, item function information may include at least one of the following: the item has a native function, the item has an asset-backed function, and the item has a non-homogeneous function.
[0058] According to an embodiment of the present disclosure, client attribute information may include client identification information. The client identification information may include the client name, the client's MAC (Media Access Control) address, and the client's IP address. Client function information may refer to the functions that the client can provide. For example, the client function information includes at least one of the following: the client focuses on native functions, the client focuses on asset-supported functions, and the client focuses on non-homogeneous functions. Client credit information may be characterized by the client's credit rating. Client user information may refer to information related to users who use the client. Client user information may include at least one of the following: the client's user group, the client's usage frequency, and the client's usage time period. Client media information may refer to media information related to the client. Client media information may include at least one of the following: news type, news keywords, and the number of news viewers.
[0059] According to embodiments of the present disclosure, user behavior data can be divided into tradable data and non-tradable data based on whether the data can be used for tradable purposes. Tradable data may refer to data that requires user authorization before it can be used for participant recommendations. Non-tradable data may refer to data that can be used for participant recommendations without user authorization. For example, tradable data may include confidential data.
[0060] According to embodiments of the present disclosure, tradable data can be divided into multiple tradability levels based on the usage rights of the tradable data. That is, tradable data can include multiple tradability levels. Each tradable data item can have a tradability level corresponding to the tradable data item. Different tradability levels have different usage rights. For example, the higher the tradability level of the tradable data item, the greater the usage rights of the tradable data item.
[0061] For example, tradable data includes four tradability levels: first, second, third, and fourth. The permissions for use of the first, second, third, and fourth tradability levels increase in order. If the tradable data is at the first tradable level, the user may have permission to use at least one of the user attribute information, item attribute information, and client attribute information included in the tradable data. If the tradable data is at the second tradable level, in addition to the permission for use of the first tradable level, the user may also have permission to use at least one of the user's social information, client function information, and client media information. If the tradable data is at the third tradable level, in addition to the permission for use of the first and second tradable levels, the user may also have permission to use at least one of the user's credit information and client credit information. If the tradable data is at the fourth tradable level, in addition to the permission for use of the first, second, and third tradable levels, the user may also have permission to use client user information.
[0062] According to an embodiment of the present disclosure, the tradable data may include at least one of the following: personal tradable data and non-personal tradable data.
[0063] According to an embodiment of the present disclosure, personal tradable data may refer to the user's own tradable data. Non-personal tradable data may refer to the tradable data of other users. Other users may include users with whom the user has an associated relationship. Personal tradable data may include at least one tradable level. Non-personal tradable data may include at least one tradable level. The relationship between the tradable level of personal tradable data and the tradable level of non-personal tradable data may be configured according to actual business needs and is not limited here. For example, the lowest tradable level of personal tradable data may be higher than the highest tradable level of non-personal tradable data. Alternatively, the highest tradable level of personal tradable data may be lower than the lowest tradable level of non-personal tradable data. Alternatively, part of the tradable level of personal tradable data may be higher than part of the tradable level of non-personal tradable data.
[0064] According to an embodiment of the present disclosure, if the user behavior data is target user behavior data, the tradable data included in the target user behavior data may be referred to as target tradable data. Target tradable data may refer to data that can only be used for participating object recommendations after being authorized by the target user. Target tradable data may include multiple tradable levels. Target tradable data may include at least one of the following: target personal tradable data and target non-personal tradable data. If the user behavior data is candidate user behavior data, the tradable data included in the candidate user behavior data may be referred to as candidate tradable data. Candidate tradable data may refer to data that can only be used for participating object recommendations after being authorized by the candidate user. Candidate tradable data may include multiple tradable levels. Candidate tradable data may include at least one of the following: candidate personal tradable data and candidate non-personal tradable data.
[0065] According to embodiments of the present disclosure, users can be divided into registered users and unregistered users based on whether they have performed a registration operation. A registered user may refer to a user who has performed a registration operation. An unregistered user may refer to a user who has not performed a registration operation. Registered users may include anonymous registered users and non-anonymous registered users. An anonymous registered user may refer to a user who has not performed a registration operation using real user information. A non-anonymous registered user may refer to a user who has performed a registration operation using real user information.
[0066] According to an embodiment of the present disclosure, one of the candidate user and the target user may include an unregistered user. That is, the candidate user may include an unregistered user. The target user may include an unregistered user. Both the candidate user and the target user may include an unregistered user. Furthermore, the candidate user may also include a registered user. The target user may also include a registered user.
[0067] According to an embodiment of the present disclosure, a predetermined blockchain may store at least one candidate user behavior data for each of multiple candidate users. The predetermined blockchain may be obtained by processing the candidate user behavior data received by each of the multiple blockchain nodes included in the blockchain. Each candidate user behavior data may correspond to at least one blockchain node among the multiple blockchain nodes, i.e., each candidate user behavior data may be stored in the predetermined blockchain by at least one blockchain node among the blockchain nodes. Target user behavior data may be stored in the predetermined blockchain, i.e., the blockchain node corresponding to the target client may store the target user behavior data in response to receiving a data upload request from the target client.
[0068] According to an embodiment of the present disclosure, a server may receive target user behavior data from a target client. For example, the server may send an executable file to the target client so that the target client may call the executable file in response to detecting that a data uplink operation for target user behavior data of a target user is triggered, and use the executable file to obtain the target user behavior data of the target user. The executable file may be determined by the server based on a point-of-sale strategy. The point-of-sale strategy may refer to a strategy for how to collect user behavior data. The executable file may include routines required to collect user behavior data. The file format of the executable file may include JSON (JavaScript Object Notation).
[0069] For example, the target client may be a target web browser. The server sends an executable file to the target web browser. The target web browser may store the executable file locally. For example, the target web browser may store the executable file in the browser cache and in a target folder corresponding to the target web browser. The target web browser may detect whether a data uplink operation for the target user behavior data of the target user is triggered. For example, whether the data uplink operation is triggered may include whether a determination control for agreeing to the target authorization agreement is triggered. The target authorization agreement may be an agreement for exchanging exchangeable data for object recommendations. The target authorization agreement may be obtained through a target plug-in. The target plug-in may be deployed in the target web browser. If the target web browser detects that a determination control for agreeing to the target authorization agreement is triggered, it may call the executable file and use the executable file to obtain the target user behavior data.
[0070] According to an embodiment of the present disclosure, the routine included in the executable file may include a text recognition model. The text recognition model may be obtained by training a predetermined neural network model using training samples. The routine may include variable names. For example, username / password / history / time. Using the executable file to obtain the target user behavior data of the target user may include: using the variable name in the routine included in the executable file to determine whether there is predetermined data related to the target user behavior data in the data corresponding to the IP address of the browser. For example, the predetermined data includes data related to a predetermined page. The predetermined page may include a shopping page. The target user behavior data is obtained using the text recognition model in the routine included in the executable file. The target user behavior data is packaged using the executable file to obtain a target data packet. The target Web browser sends a target data packet including the target user behavior data to the server.
[0071] According to an embodiment of the present disclosure, upon obtaining target user behavior data, the server may determine a target object from at least one candidate object based on the target user behavior data and at least one candidate user behavior data corresponding to each of multiple candidate users. For example, the server may determine a target object from at least one candidate object based on the target user behavior data and at least one candidate user behavior data corresponding to each of multiple candidate users, using a user recommendation algorithm.
[0072] According to an embodiment of the present disclosure, determining a target object from at least one candidate object based on target user behavior data and at least one candidate user behavior data corresponding to each of a plurality of candidate users may include: processing the target user behavior data to obtain first user behavior data; processing at least one candidate user behavior data corresponding to each of a plurality of candidate users to obtain at least one second user behavior data corresponding to each of the plurality of candidate users; and determining the target object from at least one candidate object based on the first user behavior data and at least one second user behavior data corresponding to each of the plurality of candidate users.
[0073] According to an embodiment of the present disclosure, processing the target user behavior data to obtain the first user behavior data may include: determining the first user behavior data corresponding to a predetermined dimension from the target user behavior data. The predetermined dimension may include one or more dimensions. The predetermined dimension may be configured according to actual business needs and is not limited here. Alternatively, the target user behavior data is standardized to obtain the first user behavior data. Alternatively, the target user behavior data is vectorized to obtain a target user behavior vector. The target user behavior vector is determined as the first user behavior data.
[0074] According to an embodiment of the present disclosure, processing at least one candidate user behavior data corresponding to each of a plurality of candidate users to obtain at least one second user behavior data corresponding to each of the plurality of candidate users may include: for each candidate user behavior data, determining second user behavior data corresponding to a predetermined dimension from the candidate user behavior data. Alternatively, standardizing the at least one candidate user behavior data corresponding to each of the plurality of candidate users to obtain at least one second user behavior data corresponding to each of the plurality of candidate users. Alternatively, vectorizing each candidate user behavior data to obtain each candidate user behavior vector. Each candidate user behavior vector is determined as each second user behavior data. According to an embodiment of the present disclosure, the server determines a target object for recommendation to the target user based on the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users, each candidate user behavior data is stored in a predetermined blockchain, and each candidate user behavior data corresponds to at least one blockchain node among the plurality of blockchain nodes included in the blockchain network, thereby achieving object recommendation using traceable and highly credible data obtained through multi-source on-chaining, thereby improving the accuracy of object recommendation.
[0075] According to an embodiment of the present disclosure, target user behavior data may include target tradable data. The target tradable data may be stored on the predetermined blockchain. The blockchain node corresponding to the target client stores the target tradable data in response to receiving a data upload request from the target user of the target client.
[0076] According to the embodiments of the present disclosure, for the description of the target tradable data, please refer to the relevant parts above and will not be repeated here.
[0077] According to an embodiment of the present disclosure, at least one candidate object corresponding to the candidate user behavior data includes at least one of the following: client attribute information, client function information and client credit information of the client corresponding to the candidate user behavior data and item attribute information of the item corresponding to the candidate user behavior data.
[0078] According to an embodiment of the present disclosure, for the description of at least one candidate corresponding to the candidate user behavior data, please refer to the relevant part above and will not be repeated here.
[0079] According to an embodiment of the present disclosure, the target object may include multiple candidate objects.
[0080] According to the embodiments of the present disclosure, the target user can determine "tradable data in exchange for recommended target objects" at one time, and the server can feedback the required recommended target objects at one time, thereby improving the processing efficiency of object recommendation.
[0081] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0082] An object recommendation graph is generated based on target objects corresponding to each of the multiple time periods, and the object recommendation graph is sent to a target client so as to recommend the object recommendation graph to a target user.
[0083] According to an embodiment of the present disclosure, for each of multiple time periods, the object recommendation method described in the embodiment of the present disclosure can be used to determine the target object corresponding to the time period, thereby obtaining the target objects corresponding to each of the multiple time periods.
[0084] According to an embodiment of the present disclosure, after obtaining target objects corresponding to multiple time periods, an object recommendation graph can be generated based on the target objects of each of the multiple time periods. The object recommendation graph can be used to represent the association relationship between the target objects and the time periods.
[0085] According to an embodiment of the present disclosure, the server may send an object recommendation graph to the target client, so that the target user may obtain the user's preference change process based on the object recommendation graph.
[0086] According to an embodiment of the present disclosure, the target user may include multiple users.
[0087] According to an embodiment of the present disclosure, operation S210 may include the following operations.
[0088] In response to receiving target user behavior data of multiple target users from at least one target client, batch processing the multiple target behavior data and at least one candidate user behavior data corresponding to the multiple candidate users to determine target objects for each of the multiple target users;
[0089] According to an embodiment of the present disclosure, operation S220 may include the following operations.
[0090] The target objects of the plurality of target users are sent to at least one target client, so as to recommend the target objects to the plurality of target users.
[0091] According to an embodiment of the present disclosure, when there are multiple target users, target objects for each of the multiple target users can be processed in batches. Each target user can have target user behavior data corresponding to the target user and at least one candidate user behavior data corresponding to multiple candidate users. Multiple target users can send their respective target user behavior data to the server via the same or different target clients.
[0092] According to an embodiment of the present disclosure, a server may, in response to receiving target user behavior data for each of multiple target users from at least one target client, batch process the user behavior datasets corresponding to each of the multiple target users to determine target objects for each of the multiple target users. The user behavior dataset corresponding to each target user may include the target user behavior data corresponding to each target user and at least one candidate user behavior data for multiple candidate users corresponding to each target user behavior data.
[0093] According to the embodiments of the present disclosure, the processing efficiency of object recommendation is improved by batch processing target objects of multiple target users.
[0094] According to an embodiment of the present disclosure, operation S210 may include the following operations.
[0095] In response to receiving target user behavior data of a target user directly from a target client, a target object is determined according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.
[0096] According to an embodiment of the present disclosure, the target client may directly send the target user behavior data of the target user to the server if the target user agrees to exchange the exchangeable data for the target object recommendation.
[0097] According to the embodiments of the present disclosure, the target client directly sends the target user behavior data to the server, which can effectively avoid the transfer of data and make data transmission more secure.
[0098] According to an embodiment of the present disclosure, operation S210 may include the following operations.
[0099] In response to receiving target user behavior data of a target user from the target client through a blockchain node corresponding to the target client, a target object is determined according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.
[0100] According to an embodiment of the present disclosure, if the target user agrees to exchange exchangeable data for target object recommendation, the target client can also send the target user behavior data of the target user to the server through the blockchain node corresponding to the target client.
[0101] According to an embodiment of the present disclosure, the target client sends the target object to the server through the blockchain node corresponding to the target client, which can reduce the probability of data being cracked when the asymmetric encryption is cracked and improve the security of data transmission.
[0102] According to an embodiment of the present disclosure, operation S220 may include the following operations.
[0103] The target object is sent directly to the target client so as to recommend the target object to the target user.
[0104] According to an embodiment of the present disclosure, operation S220 may include the following operations.
[0105] The target object is sent to the target client through the blockchain node corresponding to the target client, so as to recommend the target object to the target user.
[0106] According to an embodiment of the present disclosure, the server may directly send the target object to the target client. Alternatively, the server may send the target object to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client sends the target object recommended to the target user to the target client.
[0107] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0108] The target object is encrypted using the first public key to obtain a first encrypted target object.
[0109] According to an embodiment of the present disclosure, directly sending a target object to a target client so as to recommend the target object to a target user may include the following operations.
[0110] The first encrypted target object is directly sent to the target client, so that the target client decrypts the first encrypted target object using the first private key to obtain the target object recommended to the target user.
[0111] According to an embodiment of the present disclosure, the first public key and the first private key may be generated by the target client using the first encryption algorithm to process the user identification information of the target user. The first public key may be stored in a predetermined blockchain by using a blockchain node corresponding to the target client.
[0112] According to embodiments of the present disclosure, user identification information can be used to identify a user. The user identification information can include at least one of the following: user name and user ID number. In addition, the user identification information can also include at least one of the following: user place of origin, user gender, and user age.
[0113] According to an embodiment of the present disclosure, the first encryption algorithm may include an asymmetric encryption algorithm. For example, the asymmetric encryption algorithm may include an RSA algorithm, a DSA (Digital Signature Algorithm) algorithm, or a backpack encryption algorithm.
[0114] According to an embodiment of the present disclosure, a target client may generate a first public key and a first private key based on a first encryption algorithm and the user identification information of a target user. The target client may send the first public key to a server. The server may encrypt a target object using the first public key to obtain a first encrypted target object. After obtaining the first encrypted target object, the server may send the first encrypted target object to the target client so that the target client can process the first encrypted target object using the first private key to obtain a target object recommended to the target user.
[0115] According to the embodiments of the present disclosure, the target client, blockchain node and server all use the same encryption system, that is, the target client, blockchain node and server all use the first public key and the first private key, which can effectively avoid the transfer of data and make data transmission more secure.
[0116] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0117] The target object is encrypted using the second public key to obtain a second encrypted target object.
[0118] According to an embodiment of the present disclosure, sending a target object to a target client through a blockchain node corresponding to the target client so as to recommend the target object to a target user may include the following operations.
[0119] The second encrypted target object is sent to the target client through the blockchain node corresponding to the target client, so that the target client uses the third private key to decrypt the third encrypted target object to obtain the target object recommended to the target user.
[0120] According to an embodiment of the present disclosure, the third encrypted target object may be encrypted by the blockchain node corresponding to the target client using the third public key and decrypting the second encrypted target object using the second private key. The second public key and the second private key may be generated by the blockchain node corresponding to the target client using the second encryption algorithm to process the user identification information of the target user. The third public key and the third private key may be generated by the target client using the third encryption algorithm to process the user identification information of the target user.
[0121] According to an embodiment of the present disclosure, both the second encryption algorithm and the third encryption algorithm may include an asymmetric encryption algorithm.
[0122] According to an embodiment of the present disclosure, the target client may process the target user's user identification information using a third encryption algorithm to generate a third public key and a third private key. The target client may send the target user's user identification information and the third public key to the blockchain node corresponding to the target client. The blockchain node corresponding to the target client may process the target user's user identification information using a second encryption algorithm to generate a second public key and a second private key. The blockchain node corresponding to the target client may send the second private key to the target client.
[0123] According to an embodiment of the present disclosure, the server may encrypt the target object using the second public key to obtain a second encrypted target object. The second encrypted target object may be sent to the blockchain node corresponding to the target client. The blockchain node corresponding to the target client may decrypt the second encrypted target object using the second private key to obtain a target object recommended to the target user. The blockchain node corresponding to the target client may encrypt the target object using the third public key to obtain a third encrypted target object. The blockchain node corresponding to the target client may send the third encrypted target object to the target client. The target client may decrypt the third encrypted target object using the third private key to obtain the target object.
[0124] According to an embodiment of the present disclosure, the target client, blockchain node and server use different encryption systems, that is, the target client and the blockchain node use the third public key and the third private key for data transmission, and the blockchain node and the server use the second public key and the second private key for data transmission. This can reduce the probability that the data of the target client, the blockchain node and the server will all be cracked when the encrypted data encrypted using the asymmetric encryption algorithm is cracked, thereby improving the security of data transmission.
[0125] Reference below Figures 3 and 4 , the object recommendation method according to the embodiment of the present disclosure is further explained in combination with specific embodiments.
[0126] Figure 3 The flowchart of determining a target object based on target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users is schematically shown.
[0127] like Figure 3 As shown, the method 300 includes operations S311 to S312.
[0128] In operation S311 , in response to receiving target user behavior data of a target user from a target client, the target user behavior data is processed to obtain a target user behavior vector.
[0129] In operation S312, a target object is determined based on the target user behavior vector and at least one candidate user behavior vector corresponding to each of the plurality of candidate users. Each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector.
[0130] According to an embodiment of the present disclosure, the candidate user behavior vectors may be obtained by processing the candidate user behavior data on a server. For example, the candidate user behavior vector set may be obtained by processing the candidate user behavior data corresponding to the candidate user behavior vectors using a feature extraction model. Alternatively, the candidate user behavior vector set may be obtained by processing the candidate user behavior data corresponding to the candidate user behavior vectors using a model-based recommendation algorithm.
[0131] According to an embodiment of the present disclosure, after obtaining target user behavior data, the server may encode the target user behavior data to obtain a target user behavior vector. The encoding may include a unique encoding. Feature extraction may be performed on the target user behavior data to obtain the target user behavior vector. For example, the target user behavior data may be processed using a feature extraction model to obtain the target user behavior vector.
[0132] According to an embodiment of the present disclosure, each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector, which may include the following operations.
[0133] Each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector by a model-based recommendation algorithm.
[0134] According to an embodiment of the present disclosure, the model-based recommendation algorithm may include at least one of the following: a matrix decomposition-based recommendation algorithm, an association rule-based recommendation algorithm, a clustering-based recommendation algorithm, and a graph-based recommendation algorithm.
[0135] According to an embodiment of the present disclosure, a recommendation algorithm based on matrix decomposition may be to use vectors of potential features to model users and objects respectively, and map users and objects to their respective potential spaces, so that the user's interaction with the object is modeled as the inner product of the vector. The recommendation algorithm based on matrix decomposition may include at least one of the following: a recommendation algorithm based on singular value decomposition (SVD), a recommendation algorithm based on normalized singular value decomposition (i.e., Funk-SVD), a recommendation algorithm based on singular value decomposition with added bias terms (i.e., Biased-SVD), a recommendation algorithm based on singular value decomposition with neighborhood information (i.e., SVD++), and a recommendation algorithm based on singular value decomposition with added time information (i.e., TimeSVD++). The recommendation algorithm based on normalized singular value decomposition can also be called a recommendation algorithm based on a latent factor model (LFM).
[0136] According to an embodiment of the present disclosure, each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector using a model-based recommendation algorithm, which may include the following operations.
[0137] Each candidate user behavior vector is determined based on the user latent factor matrix and object latent factor matrix obtained when predetermined conditions are met. The user latent factor matrix and object latent factor matrix obtained when predetermined conditions are met are obtained by adjusting the element values of the initial user latent factor matrix and initial object latent factor matrix based on the output value. The output value is determined based on a predetermined objective function using the initial user latent factor matrix, initial object latent factor matrix, and the true user behavior vector. The true user behavior vector is determined based on the candidate user behavior data.
[0138] According to an embodiment of the present disclosure, a user latent factor matrix may include multiple first element values. The first element values may represent the user's evaluation value of the latent factor. The object latent factor matrix may include multiple second element values. The second element values may represent the evaluation value of the latent factor for the candidate object.
[0139] According to embodiments of the present disclosure, the predetermined objective function can be configured based on actual business needs and is not limited herein. For example, the predetermined objective function can include a cost function. Alternatively, the predetermined objective function can include a cost function and a regularization term. Satisfying the predetermined condition can mean that the output value converges or the number of solution rounds reaches a maximum.
[0140] According to embodiments of the present disclosure, a real user behavior vector may refer to a vector obtained by processing a candidate user's respective evaluation values for at least one candidate object. It should be noted that the candidate user behavior data may lack the candidate user's evaluation values for one or more of the at least one candidate object included in the candidate user behavior data.
[0141] According to an embodiment of the present disclosure, a real user behavior vector corresponding to the candidate user behavior data can be determined. An initial user latent factor matrix and an initial object latent factor matrix are obtained based on a random initialization method. Based on a predetermined objective function, an output value is obtained using the initial user latent factor matrix, the initial object latent factor matrix and the real user behavior vector. The element values of the initial user latent factor matrix and the initial object latent factor matrix are adjusted according to the output value until a predetermined condition is met. For example, an initial candidate user behavior vector can be obtained based on the initial user latent factor matrix and the initial object latent factor matrix. The initial candidate user behavior vector and the real user behavior vector are input into a predetermined objective function to obtain an output value. Then, based on the least squares method or the gradient descent method, the element values of the initial user latent factor matrix and the initial object latent factor matrix are adjusted according to the output value until a predetermined condition is met.
[0142] According to an embodiment of the present disclosure, a candidate user behavior vector is determined based on a user latent factor matrix and an object latent factor matrix obtained when predetermined conditions are met. For example, the user factor matrix and the object factor matrix obtained when predetermined conditions are met can be multiplied together to obtain a candidate user behavior matrix. Based on the candidate user behavior matrix, a candidate user behavior vector is determined.
[0143] For example, the user latent factor matrix can be expressed as P m*k Characterize, the object latent factor matrix can be used Q k*n Representation. The user behavior matrix can be represented by R m*n Characterization. The relationship between the three can be determined according to the following formula (1).
[0144] R m*n =P m*k Q k*n (1)
[0145] According to an embodiment of the present disclosure, m represents the number of candidate users. n represents the number of candidate objects. k represents the number of latent factors. m*k It is the user latent factor matrix with m rows and k columns. k*n It is the object latent factor matrix with k rows and n columns. m*nAccording to an embodiment of the present disclosure, m×n user behavior vectors are included. By processing a candidate user behavior data set based on a latent factor model to obtain a candidate user behavior vector set, the candidate user behavior data can be normalized when the candidate user behavior data is relatively sparse and scattered, thereby improving the accuracy of object recommendation.
[0146] Figure 4 A flowchart for determining a target object based on target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to another embodiment of the present disclosure is schematically shown.
[0147] like Figure 4 As shown, the method 400 includes operations S411 to S412.
[0148] In operation S411 , a similar user set is determined from the plurality of candidate users based on the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users.
[0149] In operation S412, a target object is determined from at least one candidate object corresponding to the similar user behavior dataset based on the similar user behavior dataset. The similar user behavior dataset includes at least one candidate user behavior data corresponding to the similar user set.
[0150] According to an embodiment of the present disclosure, the similar user set may include at least one similar user. A similar user may refer to a user whose similarity to the target user satisfies a predetermined similarity condition. The target object may include at least one.
[0151] According to an embodiment of the present disclosure, a set of similar users can be determined from multiple candidate users based on a predetermined selection strategy, based on a target user behavior vector and at least one candidate user behavior vector corresponding to the multiple candidate users. The predetermined selection strategy may include how to determine the content of the candidate user behavior vector set based on the target user behavior vector and the candidate user behavior vector set. The target user behavior vector can be obtained by processing the target user behavior data. Each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector.
[0152] According to an embodiment of the present disclosure, after determining a similar user set, a similar user behavior data set corresponding to the similar user set can be determined. At least one target object is determined from a plurality of candidate objects included in the similar user behavior data set. For example, an evaluation statistic corresponding to each candidate object in the plurality of candidate objects included in the similar user behavior data set can be determined to obtain a plurality of evaluation statistics. Based on the plurality of evaluation statistics, at least one target object is determined from the plurality of candidate objects. The evaluation statistic can be obtained by processing at least one evaluation value corresponding to the candidate object in at least one similar user behavior data set. The evaluation statistic can include an evaluation mean, an evaluation maximum, an evaluation median, or the like.
[0153] According to an embodiment of the present disclosure, determining at least one target object from a plurality of candidate objects based on a plurality of evaluation statistics may include: sorting the plurality of candidate objects based on the plurality of evaluation statistics to obtain a first sorting result. Based on the first sorting result, determining at least one target object from the plurality of candidate objects. The sorting may include sorting from large to small according to the evaluation statistics or sorting from small to large according to the periodic evaluation statistics. It may be configured according to actual business needs and is not limited here. For example, in the case of sorting from large to small according to the evaluation statistics, a first predetermined number of candidate objects that are ranked high or low may be determined from the plurality of candidate objects based on the first sorting result. The first predetermined number of candidate objects that are ranked high or low are determined as at least one target object. The ranking high or low may be determined based on the numerical value of the evaluation statistics corresponding to the candidate objects and the relationship with the possibility of the candidate objects being recommended. The numerical value of the first predetermined number may be configured according to actual business needs and is not limited here.
[0154] According to an embodiment of the present disclosure, determining at least one target object from a plurality of candidate objects based on a plurality of evaluation statistical values may include: determining at least one target object from a plurality of candidate objects based on a plurality of evaluation statistical sets and predetermined evaluation statistical thresholds corresponding to the plurality of evaluation statistical values. For example, for each candidate object among a plurality of candidate objects, if it is determined that the larger the numerical value of the evaluation statistical value corresponding to the candidate object, the higher the possibility of the candidate object being recommended, then the candidate object may be determined as the target object if it is determined that the evaluation statistical value corresponding to the candidate object is greater than or equal to the evaluation statistical threshold corresponding to the predetermined evaluation statistical value. If it is determined that the smaller the numerical value of the evaluation statistical value corresponding to the candidate object, the higher the possibility of the candidate object being recommended, then the candidate object may be determined as the target object if it is determined that the evaluation statistical value corresponding to the candidate object is less than or equal to the predetermined evaluation statistical threshold corresponding to the candidate object. The predetermined evaluation statistical threshold may be configured according to actual business needs and is not limited here.
[0155] According to an embodiment of the present disclosure, operation S411 may include the following operations.
[0156] Determine the similarity between the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users to obtain a plurality of similarities, and determine a similar user set from the plurality of candidate users based on the plurality of similarities.
[0157] According to an embodiment of the present disclosure, determining a similar user set from candidate users based on a target user behavior vector and a candidate user behavior vector set corresponding to the candidate user may include the following operations.
[0158] Determine the similarity between the target user behavior vector and each of the plurality of candidate user behavior vectors corresponding to the candidate user to obtain a plurality of similarities, and determine the similar user set from the candidate users based on the plurality of similarities.
[0159] According to an embodiment of the present disclosure, similarity can represent the degree of similarity between a candidate user and a target user. The relationship between similarity and similarity degree can be configured according to actual business needs and is not limited here. For example, the greater the similarity, the greater the similarity degree. Alternatively, the greater the similarity, the smaller the similarity degree. Similarity can include cosine similarity, Pearson correlation coefficient, Euclidean distance, or Jaccard distance.
[0160] According to an embodiment of the present disclosure, determining the similarity between the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and obtaining multiple similarities may include: determining the similarity between the target user behavior vector and at least one candidate user behavior vector corresponding to multiple candidate users, and obtaining multiple similarities.
[0161] According to an embodiment of the present disclosure, for each candidate user behavior vector in a plurality of candidate user behavior vectors, the similarity between the candidate user behavior vector and the target user behavior vector is determined to obtain a plurality of similarities. At least one target similarity can be determined from the plurality of similarities according to a similarity condition. Candidate users corresponding to each of the at least one target similarity are determined as similar users to obtain a set of similar users. The similarity condition may include content on how to determine at least one target similarity from the plurality of similarities. The target similarity may refer to a similarity that satisfies the similarity condition. For example, the similarity condition may include a similarity greater than or equal to a similarity threshold. Alternatively, the similarity condition may include a second predetermined number of similarities that are ranked higher or lower.
[0162] According to an embodiment of the present disclosure, determining a similar user set from a plurality of candidate users according to a plurality of similarities may include the following operations.
[0163] According to the plurality of similarities, the plurality of candidate users are sorted to obtain a sorting result. According to the sorting result, a predetermined number of candidate users are determined from the plurality of candidate users as a similar user set.
[0164] According to an embodiment of the present disclosure, candidate users corresponding to multiple similarities can be sorted according to multiple similarities to obtain a second sorting result. Based on the second sorting result, a second predetermined number of candidate users can be determined from the multiple candidate users. Sorting can include sorting in order of similarity from small to large or sorting in order of similarity from large to small. For example, when the similarity is greater and the degree of similarity is greater, if the similarity is sorted in order from small to large, the second predetermined number of candidate users at the back of the sort can be determined as similar users. The above-mentioned second predetermined number can refer to a predetermined number. The second sorting result can refer to a sorting result. The value of the second predetermined number can be configured according to actual business needs and is not limited here. For example, the second predetermined number can be 3.
[0165] According to an embodiment of the present disclosure, determining a similar user set from a plurality of candidate users according to a plurality of similarities may include the following operations.
[0166] A similar user set is determined from multiple candidate users according to a predetermined similarity threshold and multiple similarities.
[0167] According to embodiments of the present disclosure, a predetermined similarity threshold can be used as one of the bases for determining a set of similar users from multiple candidate users. The value of the predetermined similarity threshold can be configured based on actual business needs and is not limited here. For example, the predetermined similarity threshold can be 0.8.
[0168] According to an embodiment of the present disclosure, for each of the multiple similarities, if it is determined that the similarity is greater than or equal to a predetermined similarity threshold, the candidate user corresponding to the similarity may be determined as a similar user.
[0169] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0170] In response to receiving a data optimization request, the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users are optimized according to the data optimization method indicated by the data optimization request, so as to determine the target object recommended to the target user based on the optimized target behavior data and candidate user behavior data.
[0171] According to embodiments of the present disclosure, a data optimization request may refer to a request for optimizing user behavior data. A data optimization request may be generated by a client based on a data optimization method. The data optimization method may be determined by the client in response to detecting that a data on-chain operation has been triggered. The data on-chain operation may include clicking a confirmation control to agree to a target authorization agreement or selecting an agreement to agree to a target authorization agreement.
[0172] According to an embodiment of the present disclosure, a data optimization request may include a data optimization identifier. The data optimization identifier may indicate a data optimization method. For example, the data optimization identifier may include an identifier of a dimension for optimizing user behavior data. The data optimization identifier may include at least one of the following: an identifier of a dimension for adding user behavior data, an identifier of a dimension for merging user behavior data, and an identifier of a dimension for deleting user behavior data. The identifier of a dimension for adding user behavior data may be used to add a dimension of user behavior data. The identifier of a dimension for merging user behavior data may be used to merge a dimension of user behavior data. The identifier of a dimension for deleting user behavior data may be used to delete a dimension of user behavior data.
[0173] According to an embodiment of the present disclosure, a server may respond to receiving a data optimization request from a client corresponding to a blockchain node. Alternatively, the server may also respond to receiving a data optimization request from a client via a blockchain node corresponding to the client. The server may parse the data optimization request to obtain a data optimization identifier. A data optimization method is determined based on the data optimization identifier. Target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users are optimized based on the data optimization method to obtain optimized target user behavior data and candidate user behavior data. The server may recommend a target object to the target user based on the optimized target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users. That is, the server may determine an optimized target user behavior vector based on the optimized target user behavior data. Based on the optimized at least one candidate user behavior data corresponding to the multiple candidate users, the server may determine an optimized at least one candidate user behavior vector corresponding to the multiple candidate users. Based on the optimized target user behavior vector and at least one candidate user behavior vector corresponding to the multiple candidate users, a target object for recommendation to the target user is determined.
[0174] For example, when registering an application loaded on the client, the user corresponding to the client does not consent to a request to use user behavior data for object recommendations. After using the application for a period of time, the user becomes satisfied with the functionality provided by the application and wishes to learn more about other features. Some of these features require the user's consent to these requests. Therefore, the user consents to these requests. In this case, the user triggers a data upload operation. Upon detecting that the data upload operation has been triggered, the client determines that the data optimization identifier is an identifier for adding a dimension to the user behavior data. Specifically, it is an identifier for adding the dimension "time difference between authorization time and registration time" to the user behavior data. Based on the data optimization identifier, a data optimization method is generated. Based on the data optimization method, a data optimization request is generated. In response to receiving the data optimization request from the client, the server can optimize the target user behavior data and the behavior data of at least one candidate user corresponding to multiple candidate users according to the data optimization method indicated in the data optimization request. The "time difference between authorization time and registration time" can represent the user's preference for the application. The smaller the time difference, the higher the user's preference for the application.
[0175] According to the embodiments of the present disclosure, the server improves the data quality by optimizing the target user behavior data and the candidate user behavior data, thereby improving the accuracy of object recommendation.
[0176] Figure 5 The following schematically shows a flowchart of an object recommendation method according to another embodiment of the present disclosure.
[0177] According to an embodiment of the present disclosure, an object recommendation method can be applied to a blockchain network. The blockchain network includes multiple blockchain nodes. The multiple blockchain nodes include a blockchain node corresponding to at least one personal client and a blockchain node corresponding to at least one service client.
[0178] like Figure 5 As shown, the method 500 includes operations S510 to S530.
[0179] In operation S510, for each blockchain node among the multiple blockchain nodes, in response to receiving a data on-chain request of at least one candidate user from a client corresponding to the blockchain node, the at least one data on-chain request is parsed to obtain candidate user behavior data corresponding to the at least one candidate user.
[0180] In operation S520 , candidate user behavior data corresponding to at least one candidate user is processed to generate a block corresponding to the at least one candidate user behavior data.
[0181] In operation S530, at least one block is stored in a predetermined blockchain so that the server can send a target object recommended to a target user to a target client. The target object is determined by the server based on the target user behavior vector and at least one candidate user behavior vector corresponding to a plurality of candidate users. The target user behavior data is the user behavior data of the target user received by the server in response to the target client.
[0182] According to an embodiment of the present disclosure, a blockchain node in a blockchain network may be used to store candidate user behavior data of at least one candidate user from a client corresponding to the blockchain node in a respective predetermined blockchain.
[0183] According to an embodiment of the present disclosure, a blockchain node can obtain candidate user behavior data for at least one candidate user from a client corresponding to the blockchain node. The blockchain node can broadcast the candidate user behavior data for the at least one candidate user on the blockchain network so that a first other blockchain node in the blockchain network receives the candidate user behavior data for the at least one candidate user. The blockchain network uses a consensus algorithm to determine a first accounting blockchain node with accounting rights within the blockchain network. The first accounting blockchain node packages the candidate user behavior data for the at least one candidate user and creates a block corresponding to the at least one candidate user behavior data. The first accounting blockchain node broadcasts the block corresponding to the at least one candidate user behavior data for verification by a second other blockchain node in the blockchain network. If the verification result is determined to be passed, the second other blockchain node receives the block and links the block to the end of its respective predetermined blockchain. After confirming that all blockchain nodes have received the block, the candidate user behavior data is stored in the predetermined blockchain corresponding to each of the multiple blockchain nodes. Different blockchain nodes can be used to maintain the same predetermined blockchain.
[0184] According to an embodiment of the present disclosure, candidate user behavior data for each client corresponding to each blockchain node can be stored in a predetermined blockchain in the manner described above, so that a server can obtain at least one candidate user behavior data corresponding to multiple candidate users from the predetermined blockchain. Furthermore, the blockchain node corresponding to the target client is also a blockchain node in the blockchain network. The target user behavior data of the target client can also be stored in the predetermined blockchain of the blockchain node corresponding to the target client.
[0185] According to an embodiment of the present disclosure, the above operations S510 to S530 may be implemented using a smart contract related to storing user behavior data.
[0186] According to an embodiment of the present disclosure, operation S520 may further include the following operations.
[0187] For each candidate user among the at least one candidate user, when it is determined that a block corresponding to the user identification information exists in a predetermined blockchain based on the user identification information corresponding to the candidate user, candidate user behavior data corresponding to the candidate user is processed to generate a block corresponding to the candidate user behavior data.
[0188] According to an embodiment of the present disclosure, if it is determined that a block corresponding to the user identification information of a candidate user exists in a predetermined blockchain, the candidate user behavior data corresponding to the candidate user can be packaged and processed to generate a block corresponding to the candidate user behavior data. The candidate user behavior data of the candidate user before the current timestamp is no longer traced back.
[0189] According to the embodiments of the present disclosure, by simplifying the candidate user behavior data with the same user identification information, the data processing amount is reduced and the data processing efficiency is improved.
[0190] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0191] Determine a block of candidate users corresponding to the same user identification information. Generate a user portrait set corresponding to the user identification information based on the block of candidate users corresponding to the same user identification information. Send the user portrait set to the client corresponding to the user identification information so that the candidate user corresponding to the user identification information obtains the user portrait set.
[0192] According to an embodiment of the present disclosure, the user portrait set can be used to characterize the changes in preference for candidate objects in different time periods.
[0193] According to embodiments of the present disclosure, blocks of candidate users corresponding to the same user identification information can be determined. These blocks of candidate users corresponding to the same user identification information are processed to obtain candidate user behavior data for the candidate users corresponding to the same user identification information. The candidate behavior data can be used to characterize the candidate objects' respective preferences for at least one candidate object. Based on the candidate user behavior data for the candidate users corresponding to the same user identification information, a user profile set for the candidate users corresponding to the user identification information is generated.
[0194] According to an embodiment of the present disclosure, a user portrait set of candidate users corresponding to the user identification information is generated based on the candidate user behavior data of the candidate users corresponding to the same user identification information, so that the user can obtain the user's preference change process based on the user portrait set.
[0195] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0196] Visually display the user portrait set.
[0197] According to an embodiment of the present disclosure, the visual display method may include at least one of the following: a bar chart, a pie chart, a polygon chart, and a heat map.
[0198] According to an embodiment of the present disclosure, the user portrait set may be displayed in a visual form so that the user may obtain the user's preference change process based on the user portrait set.
[0199] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0200] Batch stores at least one block in a predetermined blockchain.
[0201] According to the embodiment of the present disclosure, the blockchain is connected in series with timestamps, and batch chaining can collaboratively process data more efficiently and quickly. In addition, batch chaining operations can be implemented using smart contracts related to the storage of user behavior data. Smart contracts are reproducible, so the object recommendation method of the embodiment of the present disclosure can achieve a more efficient expansion of clients participating in object recommendation, and can more quickly integrate clients with type functions. For example, a client that can support item transactions. The above-mentioned batch chaining operations are beneficial to clients that disclose their own tradable data in batches. According to the embodiment of the present disclosure, the above-mentioned object recommendation method can also include the following operations.
[0202] In response to receiving a data upload request for a new candidate user from a client corresponding to a blockchain node, the data upload request for the new candidate user is parsed to obtain candidate user behavior data corresponding to the new candidate user. The candidate user behavior data corresponding to the new candidate user is processed to generate a block corresponding to the candidate user behavior data of the new candidate user. The predetermined blockchain is updated based on the block corresponding to the candidate user behavior data of the new candidate user.
[0203] According to an embodiment of the present disclosure, a blockchain node can detect whether a data on-chain request is received from a client, so as to update a predetermined blockchain according to the data on-chain request, thereby realizing the management of the predetermined blockchain.
[0204] According to an embodiment of the present disclosure, a blockchain network blockchain node can obtain candidate user behavior data of a new candidate user from a client corresponding to the blockchain node. The blockchain node can broadcast the candidate user behavior data of the new candidate user on the blockchain network so that a third other blockchain node in the blockchain network receives the candidate user behavior data of at least one candidate user. The blockchain network uses a consensus algorithm to determine a second accounting blockchain node with accounting rights from the blockchain network. The second accounting blockchain node packages the candidate user behavior data of the new candidate user and creates a block corresponding to the candidate user behavior data of the new candidate user. The second accounting blockchain node broadcasts the block corresponding to the candidate user behavior data of the new candidate user for verification by a fourth other blockchain node in the blockchain network. If the verification result is determined to be passed, the fourth other blockchain node receives the block and links the block to the end of its respective predetermined blockchain.
[0205] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0206] In response to receiving the first public key from the target client, the blockchain node corresponding to the target client stores the first public key in a predetermined blockchain so that the server can encrypt the target object using the first public key to obtain a first encrypted target object. The first public key is generated by the target client using the first encryption algorithm to process the user identification information of the target user.
[0207] According to an embodiment of the present disclosure, the server may send a first encrypted target object to the target client, and the target client may decrypt the first encrypted target object using the first private key to obtain the target object.
[0208] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0209] In response to receiving the second encrypted target object from the server, the blockchain node corresponding to the target client decrypts the second encrypted target object using the second private key to obtain the target object. The second encrypted target object is obtained by the server encrypting the target object using the second public key. The target object is encrypted using the third public key to obtain a third encrypted target object. The third encrypted target object is sent to the target client so that the target client can decrypt the third encrypted target object using the third private key to obtain the target object recommended to the target user.
[0210] According to an embodiment of the present disclosure, the second public key and the second private key may be generated by the blockchain node using the second encryption algorithm to process the user identification information of the target user. The third public key and the third private key may be generated by the target client using the third encryption algorithm to process the user identification information of the target user.
[0211] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0212] The blockchain node corresponding to the target client sends the target user behavior data to the server in response to receiving the target user behavior data of the target user from the target client.
[0213] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0214] The blockchain node corresponding to the target client sets a feedback dimension in response to receiving the recommendation feedback data of the target user from the target client, so as to add the feedback dimension to the dimension of the candidate user behavior data.
[0215] According to an embodiment of the present disclosure, recommendation feedback data can be used to characterize a target user's response to a target object. For example, the recommendation feedback data may include at least one of the following: data characterizing that the target user purchased the recommended target object, data characterizing that the target user browsed but did not purchase the recommended target object, and data characterizing that the target user did not browse the recommended target object.
[0216] According to an embodiment of the present disclosure, a target client may, in response to detecting recommendation feedback data from a target user, send the recommendation feedback data to a blockchain node corresponding to the target client. The blockchain node corresponding to the target client may, in response to detecting the recommendation feedback data from the target client, set a feedback dimension. This dimension is added to the dimensions of the candidate user behavior data.
[0217] According to an embodiment of the present disclosure, by adding a feedback dimension to user behavior data when recommendation feedback data is received from a target user, the quality of the user behavior data can be improved and the user's enthusiasm for participating in object recommendation can be increased.
[0218] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0219] According to the recommendation feedback data, the data of the feedback dimension in the candidate user behavior data corresponding to the target object is determined.
[0220] According to an embodiment of the present disclosure, a candidate user corresponding to the target object can be determined based on the target object. Based on the recommendation feedback data, feedback dimension data in the candidate user behavior data of the candidate user corresponding to the target object can be determined. The feedback dimension data can be characterized by recognition.
[0221] For example, the recognition degree may be a numerical value greater than or equal to 0 and less than or equal to 1. If it is determined based on the recommendation feedback data that the target user purchased the recommended target object, the recognition degree may be set to 1, that is, the data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object may be 1. If it is determined based on the recommendation feedback data that the target user browsed but did not purchase the recommended target object, the recognition degree may be set to 0.5, that is, the data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object may be 0.5. If it is determined based on the recommendation feedback data that the target user did not browse the recommended target object, the recognition degree may be set to 0, that is, the data of the feedback dimension in the candidate user behavior data of the candidate user corresponding to the target object may be 0.
[0222] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0223] Based on the recommendation feedback data, the reward information of the candidate users corresponding to the target object is updated.
[0224] According to an embodiment of the present disclosure, the reward information may include at least one of the following: points, and preferential amounts.
[0225] For example, let's take reward information as points as an example. If it is determined based on the recommendation feedback data that the target user has purchased the recommended target object, 100 points can be added to the original reward information of the candidate user corresponding to the target object to update the reward information of the candidate user corresponding to the target object. If it is determined based on the recommendation feedback data that the target user has browsed but not purchased the recommended target object, 50 points can be added to the original reward information of the candidate user corresponding to the target object to update the reward information of the candidate user corresponding to the target object. If it is determined based on the recommendation feedback data that the target user has not browsed the recommended target object, 10 points can be reduced from the original reward information of the candidate user corresponding to the target object to update the reward information of the candidate user corresponding to the target object.
[0226] According to an embodiment of the present disclosure, by updating the reward information of the candidate users corresponding to the target object according to the recommendation feedback data, the enthusiasm of the users to participate in the object recommendation can be improved.
[0227] Figure 6 The following schematically shows a flowchart of an object recommendation method according to another embodiment of the present disclosure.
[0228] As shown in FIG6 , the method 600 includes operations S610 to S630 .
[0229] In operation S610, for each client corresponding to a plurality of blockchain nodes in a blockchain network, in response to detecting that a data on-chain operation for at least one candidate user corresponding to the client is triggered, candidate user behavior data corresponding to the at least one candidate user is obtained.
[0230] In operation S620, a data upload request corresponding to at least one candidate user is generated based on the candidate user behavior data corresponding to the at least one candidate user.
[0231] In operation S630, at least one data upload request is sent to the blockchain node corresponding to the client. The blockchain node generates a block corresponding to at least one candidate user behavior data using the at least one data upload request, and stores the at least one block in a predetermined blockchain, so that the server can send a target object recommended to the target client. The target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. The target user behavior data is the user behavior data of the target user received by the server in response to the target client.
[0232] According to embodiments of the present disclosure, a data on-chain operation may refer to an operation for triggering the storage of user behavior data on a predetermined blockchain. This data on-chain operation may include a click operation or a selection operation. For example, a client displays a page related to data on-chain, which includes an OK control. A candidate user clicks the OK control, triggering the OK control. In response to detecting that the OK control on the displayed page related to data on-chain has been triggered, the client obtains candidate user behavior data corresponding to the candidate user. The candidate user behavior data may be associated with a timestamp and a client identifier.
[0233] According to an embodiment of the present disclosure, a candidate user corresponding to a client can register a user account for an application or browser. Based on a unified agreement reached between the candidate user and the service provider, if the candidate user agrees to use user behavior data for object recommendation, the client can send the candidate user's candidate user behavior data to the blockchain node corresponding to the client to achieve data on-chain. This can effectively avoid the blockchain node from separately agreeing on an agreement with the candidate user, simplify the operation of on-chaining the candidate user behavior data, and ensure that the candidate user behavior data can be effectively protected.
[0234] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0235] For a target client corresponding to a target user, the user identification information of the target user is processed using a first encryption algorithm to generate a first public key and a first private key. The first public key is sent to a blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client stores the first public key in a predetermined blockchain. In response to receiving the first encrypted target object from the server, the first encrypted target object is decrypted using the first private key to obtain a target object recommended to the target client. The first encrypted target object is encrypted by the server using the first public key.
[0236] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0237] For the target client corresponding to the target user, the target user's user identification information is processed using a third encryption algorithm to generate a third public key and a third private key. The third public key is sent to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client encrypts the target object using the third public key, thereby obtaining a third encrypted target object. The target object is obtained by decrypting the second encrypted target object obtained by the server using the second public key using the second private key. In response to receiving the third encrypted target object from the blockchain node corresponding to the target client, the third encrypted target object is decrypted using the third private key to obtain a target object recommended to the target user.
[0238] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0239] In response to detecting that a data upload operation for a new candidate user corresponding to the client has been triggered, candidate user behavior data corresponding to the new candidate user is obtained. Based on the candidate user behavior data corresponding to the new candidate user, a data upload request for the new candidate user is generated. The data upload request for the new candidate user is sent to the blockchain node corresponding to the client, so that the blockchain node corresponding to the client updates the predetermined blockchain using the candidate user behavior data of the new candidate user obtained by processing the data upload request for the new candidate user.
[0240] According to an embodiment of the present disclosure, the client can detect whether the data on-chain request operation is triggered, so that the blockchain corresponding to the client can use the data on-chain request generated based on the data request operation to update the predetermined blockchain, thereby realizing the management of the predetermined blockchain.
[0241] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0242] In response to detecting that a data upload operation has been triggered, a data optimization method is determined. A data optimization request is generated based on the data optimization method. The data optimization request is sent to a server, so that the server optimizes the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users based on the data optimization method indicated in the data optimization request.
[0243] According to an embodiment of the present disclosure, a data optimization request may include a data optimization identifier. The data optimization identifier may indicate a data optimization method. For example, the data optimization identifier may include an identifier for a dimension used to optimize user behavior data. The data optimization identifier may include at least one of the following: an identifier for a dimension used to add user behavior data, an identifier for a dimension used to merge user behavior data, and an identifier for a dimension used to delete user behavior data.
[0244] According to an embodiment of the present disclosure, the client can detect whether the data on-chain request operation is triggered. If it is detected that the data on-chain request is triggered, the data optimization method can be determined according to the triggering moment. A data optimization identifier is generated according to the data optimization method. A data optimization request is generated according to the data optimization identifier. For example, if it is determined that the time difference between the triggering moment and the registration moment is greater than or equal to the time difference threshold, it can be determined that the data optimization method is to add a dimension of user behavior data. If it is determined that the triggering moment is a moment in a predetermined time period, it can be determined that the data optimization method is to add a dimension of user behavior data.
[0245] According to an embodiment of the present disclosure, the client can directly send a data optimization request to the server, or send a data optimization request to the server through the blockchain node corresponding to the client, so that the server can receive the data optimization request. The server can parse the data optimization request and obtain a data optimization identifier. The data optimization method is determined based on the data optimization identifier. The target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users are optimized according to the data optimization method to obtain the optimized target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. The server can recommend a target object to the target user based on the optimized target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users.
[0246] According to an embodiment of the present disclosure, the object recommendation method may further include the following operations.
[0247] The target client corresponding to the target user sends the recommendation feedback data to the blockchain node corresponding to the target client in response to receiving the recommendation feedback data from the target user, so that the blockchain node corresponding to the target client sets the feedback dimension according to the recommendation feedback data of the target user, so as to add the feedback dimension to the dimension of the candidate user behavior data.
[0248] Reference below Figure 7 , the object recommendation method according to the embodiment of the present disclosure is further explained in combination with specific embodiments.
[0249] Figure 7 An example diagram of an object recommendation process according to an embodiment of the present disclosure is schematically shown.
[0250] like Figure 7 As shown, 700 includes a client network 701, a blockchain network 702, and a server 703. Client network 701 may include L clients, namely, client 701_1, client 701_2, ..., client 701_1, ..., client 701_L-1, and client 701_L. Blockchain network 302 may include L blockchain nodes, namely, blockchain node 702_1, blockchain node 702_2, ..., blockchain node 702_1, ..., blockchain node 702_L-1, and blockchain node 702_L. The blockchain node corresponding to client 701_1 is blockchain node 702_1. The predetermined blockchain corresponding to blockchain node 702_1 is zone 704_1. The predetermined blockchain corresponding to blockchain node 702_2 is zone 704_2. The predetermined blockchain corresponding to blockchain node 702_1 is zone 704_1. The predetermined blockchain corresponding to blockchain node 702_L-1 is zone 704_L-1. The predetermined blockchain corresponding to blockchain node 702_L is zone 704_L. l∈{1, 2, ....., L-1, L}. L is an integer greater than 1. The target client is client 701_1.
[0251] In response to detecting that a data on-chain operation for at least one candidate user corresponding to client 701_1 has been triggered, client 701_1 may obtain candidate user behavior data corresponding to the at least one candidate user. Based on the candidate user behavior data corresponding to the at least one candidate user, client 701_1 may generate a data on-chain request corresponding to the at least one candidate user. At least one data on-chain request may be sent to blockchain node 702_1 corresponding to client 701_1.
[0252] In response to receiving a data upload request from a client 701_1 corresponding to the blockchain node for at least one candidate user, the blockchain node 702_1 can parse the at least one data upload request and obtain candidate user behavior data corresponding to the at least one candidate user. The blockchain node 702_1 can process the candidate user behavior data corresponding to the at least one candidate user and generate a block corresponding to the at least one candidate user behavior data. The at least one block can be stored in a predetermined blockchain 704_1.
[0253] In response to receiving target user behavior data 705 of a target user from target client 701_1, server 703 may process target user behavior data 705 to obtain a target user behavior vector. Based on the target user behavior vector and at least one candidate user behavior vector corresponding to the multiple candidate users, a similar user set 707 is determined from the multiple candidate users. Based on the similar user behavior dataset corresponding to similar user set 707, a target object 708 is determined from at least one candidate object corresponding to the similar user behavior dataset. Each candidate user behavior vector may be obtained by server 703 processing candidate user behavior data 706 corresponding to the candidate user behavior vector. Server 703 sends target object 708 to target client 701_1 to recommend target object 708 to the target user.
[0254] According to the embodiments of the present disclosure, it is possible to recommend target objects to target users based on the tradable data of the user's historical behavior habits. This is beneficial for users in different fields to select corresponding user behavior data for object recommendation, such as the financial field and the medical field.
[0255] By utilizing the solution of the embodiments of the present disclosure, valuable investment advice can be obtained.
[0256] Taking physician recommendations in the medical field as an example, the multiple candidate objects corresponding to the candidate user behavior data may include objects related to the user's medical history, objects related to the user's surgical history, objects related to the user's recovery history, and objects related to the physician. Physicians are related to users. Server 703 can determine a target object from the multiple candidate objects based on the target user behavior data 705 of the target user and at least one candidate user behavior data corresponding to the multiple candidate users. The target object may include a target physician.
[0257] By utilizing the solutions of the embodiments of the present disclosure, valuable medical information can be obtained, which is also of great value to social welfare.
[0258] Figure 8 The block diagram schematically shows a device for recommending objects according to an embodiment of the present disclosure.
[0259] like Figure 8 As shown, the object recommendation apparatus 800 may include a first determining module 810 and a first sending module 820 .
[0260] The first determination module 810 is configured to, in response to receiving target user behavior data of a target user from a target client, determine a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users.
[0261] The first sending module 820 is configured to send the target object to the target client so as to recommend the target object to the target user.
[0262] According to an embodiment of the present disclosure, each candidate user behavior data is stored in a predetermined blockchain. Each candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes included in a blockchain network. Each candidate user behavior data is used to represent the candidate user's preference for at least one candidate object.
[0263] According to an embodiment of the present disclosure, the target user behavior data includes target tradable data, and the target tradable data is stored in a predetermined blockchain, wherein the blockchain node corresponding to the target client stores the target tradable data in response to receiving a data on-chain request from the target user of the target client.
[0264] According to an embodiment of the present disclosure, the target tradability data includes a plurality of tradability levels.
[0265] According to an embodiment of the present disclosure, the first determining module 810 may include a first obtaining submodule and a first determining submodule.
[0266] The first obtaining submodule is configured to, in response to receiving target user behavior data of a target user from a target client, process the target user behavior data to obtain a target user behavior vector.
[0267] The first determination submodule is configured to determine a target object based on the target user behavior vector and at least one candidate user behavior vector corresponding to each of the plurality of candidate users. Each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector.
[0268] According to an embodiment of the present disclosure, each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector, which may include: each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector by a model-based recommendation algorithm.
[0269] According to an embodiment of the present disclosure, each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector using a model-based recommendation algorithm, which may include:
[0270] Each candidate user behavior vector is determined based on the user latent factor matrix and object latent factor matrix obtained when predetermined conditions are met. The user latent factor matrix and object latent factor matrix obtained when predetermined conditions are met are obtained by adjusting the element values of the initial user latent factor matrix and initial object latent factor matrix based on the output value. The output value is determined based on a predetermined objective function using the initial user latent factor matrix, initial object latent factor matrix, and the true user behavior vector. The true user behavior vector is determined based on the candidate user behavior data.
[0271] According to an embodiment of the present disclosure, the first determining module 810 may include a second determining submodule and a third determining submodule.
[0272] The second determining submodule is configured to determine a similar user set from the multiple candidate users based on the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users.
[0273] The third determination submodule is configured to determine a target object from at least one candidate object corresponding to the similar user behavior dataset based on the similar user behavior dataset, wherein the similar user behavior dataset includes at least one candidate user behavior data corresponding to the similar user set.
[0274] According to an embodiment of the present disclosure, the second determining submodule may include a first obtaining unit and a first determining unit.
[0275] The first obtaining unit is configured to determine a similarity between the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users, and obtain a plurality of similarities.
[0276] The first determining unit is configured to determine a similar user set from a plurality of candidate users according to a plurality of similarities.
[0277] According to an embodiment of the present disclosure, the first determining unit may include a first obtaining subunit and a first determining subunit.
[0278] The first obtaining subunit is configured to sort multiple candidate users according to multiple similarities to obtain a sorting result.
[0279] The first determining subunit is configured to determine a predetermined number of candidate users from the plurality of candidate users as a similar user set according to the ranking result.
[0280] According to an embodiment of the present disclosure, the first determining unit may include a second determining subunit.
[0281] The second determining subunit is configured to determine a similar user set from a plurality of candidate users according to a predetermined similarity threshold and a plurality of similarities.
[0282] According to an embodiment of the present disclosure, the object recommendation apparatus 800 may further include a first optimization module.
[0283] The first optimization module is configured to optimize the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users in response to receiving a data optimization request according to the data optimization method indicated by the data optimization request, so as to determine the target object to be recommended to the target user based on the optimized target behavior data and the candidate user behavior data.
[0284] According to an embodiment of the present disclosure, the first sending module 820 may include a first sending submodule or a second sending submodule.
[0285] The first sending submodule is configured to directly send the target object to the target client so as to recommend the target object to the target user.
[0286] The second sending submodule is configured to send the target object to the target client through the blockchain node corresponding to the target client, so as to recommend the target object to the target user.
[0287] According to an embodiment of the present disclosure, the object recommendation apparatus 800 may further include a third obtaining module.
[0288] The third obtaining module is configured to encrypt the target object using the first public key to obtain a first encrypted target object.
[0289] According to an embodiment of the present disclosure, the first sending submodule may include a first sending unit.
[0290] The first sending unit is configured to directly send the first encrypted target object to the target client, so that the target client decrypts the first encrypted target object using the first private key to obtain the target object recommended to the target user. The first public key and the first private key are generated by the target client processing the user identification information of the target user using the first encryption algorithm. The first public key is stored in a predetermined blockchain using a blockchain node corresponding to the target client.
[0291] According to an embodiment of the present disclosure, the object recommendation apparatus 800 may further include a fourth obtaining module.
[0292] The fourth obtaining module is configured to encrypt the target object using the second public key to obtain a second encrypted target object.
[0293] According to an embodiment of the present disclosure, the second sending submodule may include a second sending unit.
[0294] The second sending unit is configured to send the second encrypted target object to the target client via the blockchain node corresponding to the target client, so that the target client decrypts the third encrypted target object using the third private key to obtain the target object recommended to the target user. The third encrypted target object is encrypted by the blockchain node corresponding to the target client using the third public key and the second private key to decrypt the second encrypted target object. The second public key and the second private key are generated by the blockchain node corresponding to the target client using the second encryption algorithm to process the user identification information of the target user. The third public key and the third private key are generated by the target client using the third encryption algorithm to process the user identification information of the target user.
[0295] According to an embodiment of the present disclosure, the first determining module 810 may include a fourth determining submodule or a fifth determining submodule.
[0296] The fourth determination submodule is configured to determine a target object according to the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users in response to target user behavior data of the target user directly received from the target client.
[0297] The fifth determination submodule is configured to determine the target object based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users in response to receiving target user behavior data of the target user from the target client through the blockchain node corresponding to the target client.
[0298] According to an embodiment of the present disclosure, at least one candidate object corresponding to the candidate user behavior data includes at least one of the following: client attribute information, client function information and client credit information of the client corresponding to the candidate user behavior data and item attribute information of the item corresponding to the candidate user behavior data.
[0299] According to an embodiment of the present disclosure, the target object includes a plurality of candidate objects.
[0300] According to an embodiment of the present disclosure, the object recommendation apparatus 800 may further include a third generating module and a third sending module.
[0301] The third generating module is configured to generate an object recommendation graph according to the target objects corresponding to each of the multiple time periods.
[0302] The third sending module is configured to send the object recommendation graph to the target client, so as to recommend the object recommendation graph to the target user.
[0303] According to an embodiment of the present disclosure, the target user includes multiple users.
[0304] According to an embodiment of the present disclosure, the first determining module 810 may include a sixth determining submodule.
[0305] The sixth determination submodule is configured to, in response to receiving target user behavior data of multiple target users from at least one target client, batch process the multiple target behavior data and at least one candidate user behavior data corresponding to multiple candidate users to determine the target objects of each of the multiple target users.
[0306] According to an embodiment of the present disclosure, the first sending module 820 may include a third sending submodule.
[0307] The third sending submodule is configured to send target objects of respective multiple target users to at least one target client, so as to recommend respective target objects to the multiple target users.
[0308] According to an embodiment of the present disclosure, one of the target user and the candidate users includes an unregistered user.
[0309] Figure 9 The figure schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure.
[0310] According to an embodiment of the present disclosure, the object recommendation device may be provided in a blockchain network. The blockchain network may include multiple blockchain nodes. The multiple blockchain nodes may include a blockchain node corresponding to at least one personal client and a blockchain node corresponding to at least one service client.
[0311] like Figure 9 As shown, the object recommendation apparatus 900 may include a first obtaining module 910 , a first generating module 920 and a first storing module 930 .
[0312] The first obtaining module 910 is configured to, for each blockchain node among the multiple blockchain nodes, parse the at least one data on-chain request in response to receiving a data on-chain request from at least one candidate user from a client corresponding to the blockchain node, and obtain candidate user behavior data corresponding to the at least one candidate user.
[0313] The first generating module 920 is configured to process the candidate user behavior data corresponding to at least one candidate user and generate a block corresponding to the at least one candidate user behavior data.
[0314] The first storage module 930 is configured to store at least one block in a predetermined blockchain so that the server can send a target object recommended to a target user to a target client. The target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users. The target user behavior data is the target user behavior data received by the server in response to the target user from the target client.
[0315] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a fifth obtaining module, a fourth generating module, and a first updating module.
[0316] The fifth acquisition module is configured to parse the data on-chain request of a new candidate user received from a client corresponding to the blockchain node in response to obtaining candidate user behavior data corresponding to the new candidate user.
[0317] The fourth generating module is configured to process the candidate user behavior data corresponding to the new candidate user and generate a block corresponding to the candidate user behavior data of the new candidate user.
[0318] The first updating module is configured to update the predetermined blockchain according to the block corresponding to the candidate user behavior data of the new candidate user.
[0319] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a second storage module.
[0320] The second storage module is configured to, in response to receiving a first public key from the target client, store the first public key in a predetermined blockchain at a blockchain node corresponding to the target client, so that the server can encrypt the target object using the first public key to obtain a first encrypted target object. The first public key is generated by the target client processing user identification information of the target user using a first encryption algorithm.
[0321] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a sixth obtaining module, a seventh obtaining module, and a fourth sending module.
[0322] The sixth obtaining module is configured to, in response to receiving a second encrypted target object from the server, decrypt the second encrypted target object using the second private key to obtain the target object, wherein the second encrypted target object is obtained by encrypting the target object using the second public key.
[0323] The seventh obtaining module is configured to encrypt the target object using the third public key to obtain a third encrypted target object.
[0324] The fourth sending module is configured to send the third encrypted target object to the target client, so that the target client can decrypt the third encrypted target object using the third private key to obtain the target object recommended to the target user. The second public key and the second private key are generated by the blockchain node using the second encryption algorithm to process the user identification information of the target user. The third public key and the third private key are generated by the target client using the third encryption algorithm to process the user identification information of the target user.
[0325] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a fifth sending module.
[0326] The fifth sending module is configured to send the target user behavior data to the server in response to the blockchain node corresponding to the target client receiving the target user behavior data of the target user from the target client.
[0327] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a setting module.
[0328] The setting module is configured to set the feedback dimension of the blockchain node corresponding to the target client in response to receiving the recommendation feedback data of the target user of the target client, so as to add the feedback dimension to the dimension of the candidate user behavior data.
[0329] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a second determination module.
[0330] The second determining module is configured to determine data of feedback dimensions in the candidate user behavior data of the candidate user corresponding to the target object according to the recommendation feedback data.
[0331] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a second updating module.
[0332] The second updating module is configured to update the reward information of the candidate user corresponding to the target object according to the recommendation feedback data.
[0333] According to an embodiment of the present disclosure, the first generating module 920 may include a generating submodule.
[0334] The generation submodule is configured to, for each candidate user among the at least one candidate user, process candidate user behavior data corresponding to the candidate user and generate a block corresponding to the candidate user behavior data when it is determined that a block corresponding to the user identification information exists in a predetermined blockchain based on the user identification information corresponding to the candidate user.
[0335] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a third determining module, a fourth determining module, and a sixth sending module.
[0336] The third determining module is configured to determine the blocks of candidate users corresponding to the same user identification information.
[0337] The fourth determining module is configured to generate a user portrait set corresponding to the user identification information based on the blocks of candidate users corresponding to the same user identification information.
[0338] The sixth sending module is configured to send the user portrait set to the client corresponding to the user identification information, so that the candidate user corresponding to the user identification information obtains the user portrait set.
[0339] According to an embodiment of the present disclosure, the object recommendation apparatus 900 may further include a display module.
[0340] The display module is configured to visually display the user portrait set.
[0341] According to an embodiment of the present disclosure, the first storage module 930 may include a storage sub-module.
[0342] The storage submodule is configured to store at least one block in a predetermined blockchain in batches.
[0343] Figure 10 The figure schematically shows a block diagram of an object recommendation device according to another embodiment of the present disclosure.
[0344] like Figure 10 As shown, the object recommendation apparatus 1000 may further include a second obtaining module 1010 , a second generating module 1020 , and a second sending module 1030 .
[0345] The second obtaining module 1010 is configured to obtain candidate user behavior data corresponding to at least one candidate user corresponding to each client of multiple blockchain nodes in the blockchain network in response to detecting that a data on-chain operation for at least one candidate user corresponding to the client is triggered.
[0346] The second generating module 1020 is configured to generate a data uplink request corresponding to at least one candidate user based on the candidate user behavior data corresponding to the at least one candidate user.
[0347] The second sending module 1030 is configured to send at least one data upload request to the blockchain node corresponding to the client, so that the blockchain node generates a block corresponding to at least one candidate user behavior data using the at least one data upload request and stores the at least one block in a predetermined blockchain, so that the server can send a target object recommended to the target client. The target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users. The target user behavior data is the user behavior data of the target user received by the server from the target client.
[0348] According to an embodiment of the present disclosure, the object recommendation apparatus 1000 may further include a fifth generating module, a seventh sending module, and an eighth obtaining module.
[0349] The fifth generating module is configured to process the user identification information of the target user using the first encryption algorithm for the target client corresponding to the target user to generate a first public key and a first private key.
[0350] The seventh sending module is configured to send the first public key to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client stores the first public key in a predetermined blockchain.
[0351] The eighth obtaining module is configured to, in response to receiving a first encrypted target object from the server, decrypt the first encrypted target object using the first private key to obtain a target object recommended to the target client, wherein the first encrypted target object is obtained by the server encrypting the target object using the first public key.
[0352] According to an embodiment of the present disclosure, the object recommendation apparatus 1000 may further include a sixth generating module, an eighth sending module, and a ninth obtaining module.
[0353] The sixth generation module is configured to process the user identification information of the target user using a third encryption algorithm for the target client corresponding to the target user to generate a third public key and a third private key.
[0354] The eighth sending module is configured to send the third public key to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client encrypts the target object using the third public key to obtain a third encrypted target object. The target object is obtained by the blockchain node corresponding to the target client decrypting the second encrypted target object using the second private key. The second encrypted target object is obtained by the server encrypting the target object using the second public key.
[0355] The ninth obtaining module is configured to, in response to receiving a third encrypted target object from a blockchain node corresponding to a target client, decrypt the third encrypted target object using a third private key to obtain a target object recommended to a target user.
[0356] According to an embodiment of the present disclosure, the object recommendation apparatus 1000 may further include a tenth obtaining module, a seventh generating module, and a ninth sending module.
[0357] The tenth obtaining module is configured to obtain candidate user behavior data corresponding to the new candidate user in response to detecting that a data uplink operation for the new candidate user corresponding to the client is triggered.
[0358] The seventh generation module is configured to generate a data upload request for the new candidate user based on the candidate user behavior data corresponding to the new candidate user.
[0359] The ninth sending module is configured to send a data upload request of the new candidate user to the blockchain node corresponding to the client, so that the blockchain node corresponding to the client uses the candidate user behavior data of the new candidate user obtained by processing the data upload request of the new candidate user to update the predetermined blockchain.
[0360] According to an embodiment of the present disclosure, the object recommendation apparatus 1000 may further include a fifth determining module, an eighth generating module, and a tenth sending module.
[0361] The fifth determination module is configured to determine a data optimization method in response to detecting that a data uplink operation is triggered.
[0362] The eighth generation module is configured to generate a data optimization request according to the data optimization method.
[0363] The tenth sending module is configured to send a data optimization request to the server so that the server optimizes the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users according to the data optimization method indicated by the data optimization request.
[0364] According to an embodiment of the present disclosure, the object recommendation apparatus 1000 may further include an eleventh sending module.
[0365] The eleventh sending module is configured to send the recommendation feedback data to the blockchain node corresponding to the target client in response to receiving the recommendation feedback data from the target user, so that the blockchain node corresponding to the target client sets the feedback dimension according to the recommendation feedback data of the target user, so as to add the feedback dimension to the dimension of the candidate user behavior data.
[0366] According to the module of the embodiment of the present disclosure, submodule, unit, subunit, any multiple, or at least part of the function of any multiple thereof can be realized in one module. According to the module of the embodiment of the present disclosure, submodule, unit, subunit, any one or more can be split into multiple modules to realize. According to the module of the embodiment of the present disclosure, submodule, unit, subunit, any one or more can be at least partially realized as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be realized by hardware or firmware of any other reasonable way of integrating or encapsulating the circuit, or by any one of the three implementation modes of software, hardware and firmware or by a suitable combination of any of them. Or, according to the module of the embodiment of the present disclosure, submodule, unit, subunit, one or more can be at least partially realized as a computer program module, which can execute the corresponding function when the computer program module is run.
[0367] For example, any multiple of the first determination module 810 and the first sending module 820, the first acquisition module 910, the first generation module 920 and the first storage module 930, and the second acquisition module 1010, the second generation module 1020 and the second sending module 1030 can be combined into one module / unit / sub-unit for implementation, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functionality of one or more of these modules / units / sub-units can be combined with at least part of the functionality of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the first determination module 810 and the first sending module 820, the first acquisition module 910, the first generation module 920 and the first storage module 930, and the second acquisition module 1010, the second generation module 1020 and the second sending module 1030 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented by hardware or firmware in any other reasonable manner of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware and firmware, or in any appropriate combination of any of them. Alternatively, at least one of the first determination module 810 and the first sending module 820, the first acquisition module 910, the first generation module 920 and the first storage module 930, and the second acquisition module 1010, the second generation module 1020 and the second sending module 1030 can be at least partially implemented as a computer program module, which can perform the corresponding function when the computer program module is executed.
[0368] It should be noted that the data processing system part in the embodiment of the present disclosure corresponds to the object recommendation method part in the embodiment of the present disclosure. The description of the object recommendation device part specifically refers to the object processing method part and will not be repeated here.
[0369] The embodiment of the present disclosure also provides an object recommendation system.
[0370] According to an embodiment of the present disclosure, an object recommendation system may include a client corresponding to each of a plurality of blockchain nodes in a blockchain network, a blockchain network, and a server.
[0371] A client corresponding to each of multiple blockchain nodes in a blockchain network is configured to, in response to detecting that a data upload operation for at least one candidate user corresponding to the client has been triggered, obtain candidate user behavior data corresponding to the at least one candidate user. Each candidate user behavior data is used to represent the candidate user's preference for at least one candidate object. Based on the candidate user behavior data corresponding to the at least one candidate user, generate a data upload request corresponding to the at least one candidate user. Then, send the at least one data upload request to the blockchain node corresponding to the client.
[0372] Each of the plurality of blockchain nodes is configured to: in response to receiving a data upload request for at least one candidate user from a client corresponding to the blockchain node, parse the at least one data upload request to obtain candidate user behavior data corresponding to the at least one candidate user; process the candidate user behavior data corresponding to the at least one candidate user, and generate a block corresponding to the at least one candidate user behavior data.
[0373] Storing at least one block in a predetermined blockchain.
[0374] The server is configured to: in response to receiving target user behavior data of a target user from a target client, determine a target object based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users, and send the target object to the target client so as to recommend the target object to the target user.
[0375] According to an embodiment of the present disclosure, the client, blockchain node, and server included in the object recommendation system can be used to implement the object recommendation method described in the embodiment of the present disclosure. Please refer to the description of the corresponding part above and will not be repeated here.
[0376] FIG11 schematically shows a block diagram of an electronic device suitable for implementing the object recommendation method according to an embodiment of the present disclosure. The electronic device shown in FIG11 is only an example and should not bring any limitation to the functions and scope of use of the embodiment of the present disclosure.
[0377] like Figure 11As shown, the electronic device 1100 according to an embodiment of the present disclosure includes a processor 1101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1102 or a program loaded from a storage part 1108 into a random access memory (RAM) 1103. The processor 1101 may include, for example, a general-purpose microprocessor (such as a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (such as an application-specific integrated circuit (ASIC)), etc. The processor 1101 may also include an onboard memory for caching purposes. The processor 1101 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0378] Various programs and data required for the operation of the electronic device 1100 are stored in the RAM 1103. The processor 1101, the ROM 1102, and the RAM 1103 are connected to each other via a bus 1104. The processor 1101 performs various operations of the method flow according to the embodiment of the present disclosure by executing the programs in the ROM 1102 and / or the RAM 1103. It should be noted that the programs may also be stored in one or more memories other than the ROM 1102 and the RAM 1103. The processor 1101 may also perform various operations of the method flow according to the embodiment of the present disclosure by executing the programs stored in the one or more memories.
[0379] According to an embodiment of the present disclosure, electronic device 1100 may further include an input / output (I / O) interface 1105, which is also connected to bus 1104. System 1100 may also include one or more of the following components connected to I / O interface 1105: an input section 1106 including a keyboard, mouse, etc.; an output section 1107 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and speakers; a storage section 1108 including a hard disk; and a communication section 1109 including a network interface card such as a LAN card or a modem. Communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to I / O interface 1105 as needed. Removable media 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in drive 1110 as needed, so that computer programs read from the removable media can be installed into storage section 1108 as needed.
[0380] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1109, and / or installed from the removable medium 1111. When the computer program is executed by the processor 1101, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.
[0381] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments, or may exist independently and not be incorporated into the device / apparatus / system. The computer-readable storage medium carries one or more programs, and when executed, implements the method according to the embodiments of the present disclosure.
[0382] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM (Erasable Programmable Read Only Memory, EPROM) or flash memory), a portable compact disk read-only memory (Computer Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0383] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 1102 and / or the RAM 1103 described above and / or one or more memories other than the ROM 1102 and the RAM 1103 .
[0384] An embodiment of the present disclosure also includes a computer program product, which includes a computer program containing program code for executing the method provided by the embodiment of the present disclosure. When the computer program product is run on an electronic device, the program code is used to enable the electronic device to implement the object recommendation method provided by the embodiment of the present disclosure.
[0385] When the computer program is executed by the processor 1101, the above functions defined in the system / device of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.
[0386] In one embodiment, the computer program may be stored on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may be transmitted and distributed in the form of a signal on a network medium, downloaded and installed via the communication portion 1109, and / or installed from removable media 1111. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to wireless, wired, or any suitable combination thereof.
[0387] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computer programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, languages such as Java, C++, Python, "C" or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect via the Internet).
[0388] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of the systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, program segment, or portion of code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the boxes may occur in an order different from that marked in the accompanying drawings. For example, two boxes shown in succession may actually be executed substantially in parallel, or they may sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, as well as the combination of boxes in the block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or may be implemented using a combination of dedicated hardware and computer instructions. It will be understood by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or coupled in various ways, even if such combinations or couplings are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or coupled in various ways, and all such combinations and / or couplings fall within the scope of the present disclosure.
[0389] The embodiments of the present disclosure are described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although each embodiment has been described separately above, this does not mean that the measures in each embodiment cannot be used in combination to advantage. The scope of the present disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make various substitutions and modifications, which should all fall within the scope of the present disclosure.
Claims
1. An object recommendation method, comprising: In response to receiving target user behavior data of a target user from a target client, determining a target object based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users; as well as sending the target object to the target client so as to recommend the target object to the target user, Each candidate user behavior data is stored in a predetermined blockchain, each candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes included in the blockchain network, and each candidate user behavior data is used to represent the candidate user's preference for at least one candidate object; The method also includes: in response to receiving a data optimization request, optimizing the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users according to a data optimization method indicated by the data optimization request, so as to determine a target object to be recommended to the target user based on the optimized target behavior data and candidate user behavior data, wherein the data optimization method is determined by the target client in response to detecting that a data on-chain operation is triggered.
2. The method according to claim 1, wherein The target user behavior data includes target tradable data, and the target tradable data is stored in the predetermined blockchain, wherein the blockchain node corresponding to the target client stores the target tradable data in response to receiving a data on-chain request from the target user of the target client.
3. The method according to claim 2, wherein: The target tradability data includes a plurality of tradability levels.
4. The method according to any one of claims 1 to 3, wherein The step of determining a target object in response to receiving target user behavior data of a target user from a target client and based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users includes: In response to receiving target user behavior data of a target user from the target client, processing the target user behavior data to obtain a target user behavior vector; and The target object is determined based on the target user behavior vector and at least one candidate user behavior vector corresponding to each of the multiple candidate users, wherein each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector.
5. The method according to claim 4, wherein Each candidate user behavior vector is obtained by processing candidate user behavior data corresponding to the candidate user behavior vector, including: Each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector by a model-based recommendation algorithm.
6. The method according to claim 5, wherein: Each candidate user behavior vector is obtained by processing the candidate user behavior data corresponding to the candidate user behavior vector using a model-based recommendation algorithm, including: Each candidate user behavior vector is determined based on a user latent factor matrix and an object latent factor matrix obtained when predetermined conditions are met; The user latent factor matrix and the object latent factor matrix obtained when the predetermined conditions are met are obtained by adjusting the element values of the initial user latent factor matrix and the initial object latent factor matrix according to the output value; The output value is determined based on a predetermined objective function using the initial user latent factor matrix, the initial object latent factor matrix, and the real user behavior vector; The real user behavior vector is determined based on the candidate user behavior data.
7. The method according to any one of claims 1 to 3, wherein The determining of the target object according to the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users includes: determining a similar user set from the plurality of candidate users based on the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users; and According to a similar user behavior data set, a target object is determined from at least one candidate object corresponding to the similar user behavior data set, wherein the similar user behavior data set includes at least one candidate user behavior data corresponding to the similar user set.
8. The method according to claim 7, wherein: The determining a similar user set from the multiple candidate users based on the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users includes: Determining a similarity between the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users to obtain multiple similarities; and The similar user set is determined from the multiple candidate users according to the multiple similarities.
9. The method according to claim 8, wherein Determining the similar user set from the multiple candidate users based on the multiple similarities includes: Sorting the multiple candidate users according to the multiple similarities to obtain a sorting result; and According to the ranking result, a predetermined number of candidate users are determined from the multiple candidate users as the similar user set.
10. The method according to claim 9, wherein: Determining the similar user set from the multiple candidate users based on the multiple similarities includes: The similar user set is determined from the multiple candidate users according to a predetermined similarity threshold and the multiple similarities.
11. The method according to any one of claims 1 to 3, wherein The sending the target object to the target client so as to recommend the target object to the target user includes: directly sending the target object to the target client so as to recommend the target object to the target user; or The target object is sent to the target client through the blockchain node corresponding to the target client, so as to recommend the target object to the target user.
12. The method according to claim 11, further comprising: Encrypting the target object using the first public key to obtain a first encrypted target object; The directly sending the target object to the target client so as to recommend the target object to the target user includes: directly sending the first encrypted target object to the target client so that the target client decrypts the first encrypted target object using the first private key to obtain the target object recommended to the target user; The first public key and the first private key are generated by the target client using a first encryption algorithm to process the user identification information of the target user, and the first public key is stored in the predetermined blockchain by using a blockchain node corresponding to the target client.
13. The method according to claim 11, further comprising: Encrypting the target object using the second public key to obtain a second encrypted target object; The sending of the target object to the target client through the blockchain node corresponding to the target client so as to recommend the target object to the target user includes: The second encrypted target object is sent to the target client through the blockchain node corresponding to the target client, so that the target client decrypts the third encrypted target object using the third private key to obtain the target object recommended to the target user. Among them, the third encrypted target object is obtained by encrypting the target object obtained by decrypting the second encrypted target object using the third public key by the blockchain node corresponding to the target client using the second private key, the second public key and the second private key are generated by the blockchain node corresponding to the target client using the second encryption algorithm to process the user identification information of the target user, and the third public key and the third private key are generated by the target client using the third encryption algorithm to process the user identification information of the target user.
14. The method according to any one of claims 1 to 3, wherein The step of determining a target object in response to receiving target user behavior data of a target user from a target client and based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users includes: In response to directly receiving target user behavior data of a target user from the target client, determining the target object based on the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users; or In response to receiving target user behavior data of a target user of the target client from the target client through a blockchain node corresponding to the target client, the target object is determined according to the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users.
15. The method according to any one of claims 1 to 3, wherein The at least one candidate object corresponding to the candidate user behavior data includes at least one of the following: client attribute information, client function information and client credit information of the client corresponding to the candidate user behavior data and item attribute information of the item corresponding to the candidate user behavior data.
16. The method according to any one of claims 1 to 3, wherein The target object includes a plurality of candidate objects.
17. The method according to any one of claims 1 to 3, further comprising: Generate an object recommendation graph based on target objects corresponding to each of the multiple time periods; as well as The object recommendation graph is sent to the target client so as to recommend the object recommendation graph to the target user.
18. The method according to any one of claims 1 to 3, wherein The target users include multiple ones; The step of determining a target object in response to receiving target user behavior data of a target user from a target client and based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users includes: In response to receiving target user behavior data of multiple target users from at least one target client, batch processing the multiple target behavior data and at least one candidate user behavior data corresponding to the multiple candidate users to determine target objects for each of the multiple target users; The sending of the target object to the target client so as to recommend the target object to the target user includes: The target objects of the plurality of target users are sent to the at least one target client, so as to recommend the target objects to the plurality of target users.
19. The method according to any one of claims 1 to 3, wherein One of the target user and the candidate users includes an unregistered user.
20. An object recommendation method, applied to a blockchain network, the blockchain network comprising a plurality of blockchain nodes, the plurality of blockchain nodes comprising a blockchain node corresponding to at least one individual client and a blockchain node corresponding to at least one service client; The method comprises: For each of the plurality of blockchain nodes, in response to receiving a data upload request for at least one candidate user from a client corresponding to the blockchain node, parsing the at least one data upload request to obtain candidate user behavior data corresponding to the at least one candidate user; Processing candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data; as well as storing at least one of the blocks in a predetermined blockchain so that the server can send a target object recommended to the target user to the target client, wherein the target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users, and the target user behavior data is user behavior data of the target user received by the server from the target client; The method also includes: in response to receiving a data optimization request from a client corresponding to the blockchain node, sending the data optimization request to the server, so that the server optimizes the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users according to the data optimization method indicated by the data optimization request, wherein the data optimization method is determined by the client in response to detecting that the data on-chain operation is triggered.
21. The method according to claim 20, further comprising: In response to receiving a data upload request from a client corresponding to the blockchain node for a new candidate user, parsing the data upload request for the new candidate user to obtain candidate user behavior data corresponding to the new candidate user; Processing the candidate user behavior data corresponding to the new candidate user to generate a block corresponding to the candidate user behavior data of the new candidate user; as well as The predetermined blockchain is updated according to a block corresponding to the candidate user behavior data of the new candidate user.
22. The method according to claim 20 or 21, further comprising: The blockchain node corresponding to the target client stores the first public key in the predetermined blockchain in response to receiving the first public key from the target client, so that the server uses the first public key to encrypt the target object to obtain a first encrypted target object, wherein the first public key is generated by the target client using a first encryption algorithm to process the user identification information of the target user.
23. The method according to claim 20 or 21, further comprising: The blockchain node corresponding to the target client, in response to receiving a second encrypted target object from the server, decrypts the second encrypted target object using a second private key to obtain the target object, wherein the second encrypted target object is obtained by the server encrypting the target object using a second public key; encrypting the target object using a third public key to obtain a third encrypted target object; and Sending the third encrypted target object to the target client so that the target client decrypts the third encrypted target object using the third private key to obtain the target object recommended to the target user, Among them, the second public key and the second private key are generated by the blockchain node using the second encryption algorithm to process the user identification information of the target user, and the third public key and the third private key are generated by the target client using the third encryption algorithm to process the user identification information of the target user.
24. The method according to claim 20 or 21, further comprising: The blockchain node corresponding to the target client sends the target user behavior data to the server in response to receiving the target user behavior data of the target user from the target client.
25. The method according to claim 20 or 21, further comprising: The blockchain node corresponding to the target client sets a feedback dimension in response to receiving the recommendation feedback data of the target user of the target client, so as to add the feedback dimension to the dimension of the candidate user behavior data.
26. The method according to claim 25, further comprising: According to the recommendation feedback data, data of feedback dimensions in the candidate user behavior data of the candidate user corresponding to the target object is determined.
27. The method of claim 25, further comprising: Update reward information of candidate users corresponding to the target object according to the recommendation feedback data.
28. The method according to claim 20 or 21, wherein The processing of the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data includes: For each candidate user among the at least one candidate user, when it is determined that a block corresponding to the user identification information exists in the predetermined blockchain based on the user identification information corresponding to the candidate user, the candidate user behavior data corresponding to the candidate user is processed to generate a block corresponding to the candidate user behavior data.
29. The method according to claim 20 or 21, further comprising: Determine blocks of candidate users corresponding to the same user identification information; generating a user portrait set corresponding to the user identification information based on the blocks of candidate users corresponding to the same user identification information; as well as The user portrait set is sent to a client corresponding to the user identification information, so that the candidate user corresponding to the user identification information obtains the user portrait set.
30. The method of claim 29, further comprising: Visually display the user portrait set.
31. The method according to claim 20 or 21, wherein Storing at least one of the blocks in a predetermined blockchain includes: The at least one block is stored in a predetermined blockchain in batches.
32. An object recommendation method, comprising: For each client corresponding to a plurality of blockchain nodes in a blockchain network, in response to detecting that a data upload operation for at least one candidate user corresponding to the client is triggered, obtaining candidate user behavior data corresponding to the at least one candidate user; Generating a data upload request corresponding to the at least one candidate user based on the candidate user behavior data corresponding to the at least one candidate user; as well as Sending at least one data upload request to a blockchain node corresponding to the client, so that the blockchain node generates a block corresponding to at least one candidate user behavior data using the at least one data upload request, and stores the at least one block in a predetermined blockchain, so that the server sends a target object recommended to a target user to the target client, wherein the target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to multiple candidate users, and the target user behavior data is user behavior data of the target user received by the server from the target client; The method also includes: in response to detecting that a data on-chain operation is triggered, determining a data optimization method; generating a data optimization request based on the data optimization method; and sending the data optimization request to the server so that the server optimizes the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users according to the data optimization method indicated by the data optimization request.
33. The method of claim 33, further comprising: For a target client corresponding to the target user, use a first encryption algorithm to process the user identification information of the target user to generate a first public key and a first private key; Sending the first public key to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client stores the first public key in the predetermined blockchain; as well as In response to receiving a first encrypted target object from the server, the first encrypted target object is decrypted using the first private key to obtain a target object recommended to the target client, wherein the first encrypted target object is obtained by the server encrypting the target object using the first public key.
34. The method of claim 32, further comprising: For a target client corresponding to the target user, use a third encryption algorithm to process the user identification information of the target user to generate a third public key and a third private key; Sending the third public key to the blockchain node corresponding to the target client, so that the blockchain node corresponding to the target client encrypts the target object using the third public key to obtain a third encrypted target object, wherein the target object is obtained by the blockchain node corresponding to the target client decrypting the second encrypted target object using the second private key, and the second encrypted target object is obtained by the server encrypting the target object using the second public key; as well as In response to receiving a third encrypted target object from a blockchain node corresponding to the target client, the third encrypted target object is decrypted using the third private key to obtain a target object recommended to the target user.
35. The method according to any one of claims 32 to 34, further comprising: In response to detecting that a data upload operation for a new candidate user corresponding to the client is triggered, obtaining candidate user behavior data corresponding to the new candidate user; Generate a data upload request for the new candidate user based on the candidate user behavior data corresponding to the new candidate user; as well as A data on-chain request for the new candidate user is sent to a blockchain node corresponding to the client, so that the blockchain node corresponding to the client updates the predetermined blockchain using the candidate user behavior data of the new candidate user obtained by processing the data on-chain request for the new candidate user.
36. The method according to any one of claims 32 to 34, further comprising: The target client corresponding to the target user sends the recommendation feedback data to the blockchain node corresponding to the target client in response to receiving the recommendation feedback data from the target user, so that the blockchain node corresponding to the target client sets the feedback dimension according to the recommendation feedback data of the target user, so as to add the feedback dimension to the dimension of the candidate user behavior data.
37. An object recommendation device, comprising: a first determining module configured to, in response to receiving target user behavior data of a target user from a target client, determine a target object based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users; as well as a first sending module configured to send the target object to the target client so as to recommend the target object to the target user; Each candidate user behavior data is stored in a predetermined blockchain, each candidate user behavior data corresponds to at least one blockchain node among a plurality of blockchain nodes in a blockchain network, and each candidate user behavior data is used to represent a candidate user's preference for at least one candidate object; The object recommendation device also includes: a first optimization module, configured to, in response to receiving a data optimization request, optimize the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users according to a data optimization method indicated by the data optimization request, so as to determine the target object recommended to the target user based on the optimized target behavior data and candidate user behavior data, wherein the data optimization method is determined by the target client in response to detecting that a data on-chain operation is triggered.
38. A device for recommending an object, arranged in a blockchain network, the blockchain network comprising a plurality of blockchain nodes, the plurality of blockchain nodes comprising a blockchain node corresponding to at least one personal client and a blockchain node corresponding to at least one service client; The device comprises: A first obtaining module is configured to, for each of the plurality of blockchain nodes, parse at least one data upload request from a client corresponding to the blockchain node to obtain candidate user behavior data corresponding to the at least one candidate user in response to receiving the data upload request from the client corresponding to the blockchain node; A first generating module is configured to process the candidate user behavior data corresponding to the at least one candidate user to generate a block corresponding to the at least one candidate user behavior data; and a first storage module configured to store at least one of the blocks in a predetermined blockchain so that the server can send a target object recommended to the target user to the target client, wherein the target object is determined by the server based on target user behavior data and at least one candidate user behavior data corresponding to the plurality of candidate users, and the target user behavior data is user behavior data of the target user received by the server in response to the target client; The device is also used to: in response to receiving a data optimization request from a client corresponding to the blockchain node, send the data optimization request to the server, so that the server optimizes the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users according to the data optimization method indicated by the data optimization request, wherein the data optimization method is determined by the client in response to detecting that the data on-chain operation is triggered.
39. An object recommendation device, comprising: A second obtaining module is configured to, for each client corresponding to a plurality of blockchain nodes in the blockchain network, obtain candidate user behavior data corresponding to at least one candidate user corresponding to the client in response to detecting that a data upload operation for the at least one candidate user corresponding to the client is triggered; A second generating module is configured to generate a data upload request corresponding to the at least one candidate user based on the candidate user behavior data corresponding to the at least one candidate user; as well as a second sending module configured to send at least one data on-chain request to a blockchain node corresponding to the client, so that the blockchain node generates a block corresponding to at least one candidate user behavior data using the at least one data on-chain request, and stores the at least one block in a predetermined blockchain, so that the server sends a target object recommended to a target user to the target client, wherein the target object is determined by the server based on the target user behavior data and at least one candidate user behavior data corresponding to a plurality of candidate users, and the target user behavior data is user behavior data of the target user received by the server from the target client; The object recommendation device also includes: a fifth determination module, configured to determine a data optimization method in response to detecting that a data uplink operation is triggered; an eighth generation module, configured to generate a data optimization request based on the data optimization method; and a tenth sending module, configured to send a data optimization request to the server so that the server optimizes the target user behavior data and at least one candidate user behavior data corresponding to the multiple candidate users according to the data optimization method indicated by the data optimization request.
40. An electronic device comprising: one or more processors; a memory configured to store one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors are enabled to implement the method according to any one of claims 1 to 36.
41. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, causes the processor to implement the method according to any one of claims 1 to 36.
42. A computer program product, comprising a computer program, wherein the computer program is configured to implement the method according to any one of claims 1 to 36 when executed by a processor.