Method, device, electronic device and storage medium for pushing presentation object

By calculating the hash value of the target operation information of the user terminal, determining the similarity between users and pushing the present object, the problem of insufficient targetedness and accuracy of push in the prior art is solved, and a more accurate user experience is achieved.

CN113961805BActive Publication Date: 2025-01-14GREE ELECTRIC APPLIANCE INC OF ZHUHAI +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111214202.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-18
Publication Date
2025-01-14
Estimated Expiration
2041-10-18

AI Technical Summary

Technical Problem

In the prior art, the targetedness and accuracy of presentation object push is low, and it is impossible to effectively utilize the similarity information between users for accurate push.

Method used

By obtaining the target operation information of the user terminal, the similarity hash values ​​between users are calculated, and based on these hash values, determine whether to push the presentation object to the target user terminal, using methods such as hash similarity calculation and Hamming distance. Improve the pertinence and accuracy of push.

Benefits of technology

It improves the pertinence and accuracy of presentation object push, enhances the user experience, and can dynamically adjust the push strategy according to the similarity between users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113961805B_ABST
    Figure CN113961805B_ABST
Patent Text Reader

Abstract

The disclosed embodiments disclose a method, device, electronic device and storage medium for pushing a presentation object. The method for pushing a presentation object comprises: obtaining at least two target operation information, wherein at least two of the target operation information respectively indicate: a first operation on a first presentation object for a first user terminal, and a second operation on a second presentation object for a second user terminal; determining a first hash value of the first object information of the first presentation object, and a second hash value of the second object information of the second presentation object; calculating the similarity between a user using the first user terminal and a user using the second user terminal based on the first hash value and the second hash value; determining whether to push a third presentation object to the second user terminal based on the similarity. The disclosed embodiments implement the push of presentation objects based on the hash value of object information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of Internet technology, and in particular to a method, device, electronic device and storage medium for pushing a presentation object. Background Art

[0002] At present, the presentation objects of electronic devices are becoming increasingly diverse. For example, the presentation objects include messages, product information, etc. In the context of the increasing diversity of presentation objects, the push of presentation objects has received more and more attention.

[0003] In the prior art, mainstream push algorithms are divided into two categories: collaborative filtering-based push methods and content-based push algorithms.

[0004] Among them, the push method based on collaborative filtering is divided into a user-based push method and a presentation object-based push method. The user-based push method mainly considers the similarity between users and pushes the presentation objects operated by the user to users with high similarity to the user; the presentation object-based push method mainly considers the similarity between presentation objects and pushes the presentation objects with high similarity to the presentation objects preferred by the user to the user.

[0005] However, in the prior art, the pertinence and / or accuracy of presentation object push is often low. Summary of the invention

[0006] In view of this, in order to solve some or all of the above technical problems, the embodiments of the present disclosure provide a method, device, electronic device and storage medium for pushing a presentation object.

[0007] In a first aspect, an embodiment of the present disclosure provides a method for pushing a presentation object, the method comprising:

[0008] Acquire at least two target operation information, wherein the at least two target operation information respectively indicate: a first operation on a first presentation object of a first user terminal, and a second operation on a second presentation object of a second user terminal;

[0009] Determine a first hash value of first object information of the first presentation object and a second hash value of second object information of the second presentation object;

[0010] Based on the first hash value and the second hash value, calculating the similarity between the user using the first user terminal and the user using the second user terminal;

[0011] Based on the similarity, it is determined whether to push a third presentation object to the second user terminal, wherein the third presentation object is a presentation object for operation on the first user terminal.

[0012] Optionally, in the method of any embodiment of the present disclosure, when the number of the first presentation object and the number of the second presentation object are both 1, the calculating the similarity between the user using the first user terminal and the user using the second user terminal based on the first hash value and the second hash value includes:

[0013] The similarity between the first hash value and the second hash value is determined as the similarity between a user using the first user terminal and a user using the second user terminal.

[0014] Optionally, in the method of any embodiment of the present disclosure, when the number of target presentation objects is greater than 1, a target hash value of the target object information of each target presentation object is determined;

[0015] Wherein: the target presentation object is the first presentation object, the target object information is the first object information, and the target hash value is the first hash value; or the target presentation object is the second presentation object, the target object information is the second object information, and the target hash value is the second hash value; and

[0016] The calculating, based on the first hash value and the second hash value, the similarity between the user using the first user terminal and the user using the second user terminal includes:

[0017] Based on each determined target hash value and a target weight corresponding to each determined target hash value, a similarity between a user using the first user terminal and a user using the second user terminal is calculated, wherein the target weight corresponding to each target hash value is predetermined for a target operation corresponding to the target hash value.

[0018] Optionally, in the method of any embodiment of the present disclosure, each element in the target hash value is represented by a binary value; and

[0019] The calculating, based on each determined target hash value and the target weight corresponding to each determined target hash value, the similarity between the user using the first user terminal and the user using the second user terminal includes:

[0020] For each determined target hash value, update the element with a value of 0 in the target hash value to -1, calculate the product between the updated target hash value corresponding to the target hash value and the target weight corresponding to the target hash value, and obtain a target product vector corresponding to the target hash value;

[0021] Calculate the sum of the obtained target product vectors to obtain a sum vector corresponding to the target hash value;

[0022] Based on the calculated sum vectors, the similarity between the user using the first user terminal and the user using the second user terminal is calculated.

[0023] Optionally, in the method of any embodiment of the present disclosure, the calculating, based on the calculated sum vectors, the similarity between the user using the first user terminal and the user using the second user terminal includes:

[0024] For each element in each calculated sum vector, if the element is greater than a preset threshold, the element is updated to a first value; if the element is less than or equal to the preset threshold, the element is updated to a second value, to obtain an updated vector corresponding to the sum vector;

[0025] The Hamming distance between the updated vectors corresponding to at least two of the target operation information is used as the similarity between the user using the first user terminal and the user using the second user terminal.

[0026] Optionally, in the method of any embodiment of the present disclosure, the determining whether to push a third presentation object to the second user terminal based on the similarity, wherein the third presentation object is a presentation object for operation on the first user terminal, includes:

[0027] If the similarity is less than or equal to a predetermined distance value, determining to push the third presentation object to the second user terminal and increasing the distance value;

[0028] If the similarity is greater than the distance value, the third presentation object is not pushed to the second user terminal, and the distance value is reduced or maintained unchanged.

[0029] Optionally, in the method of any embodiment of the present disclosure, the method further includes:

[0030] If an operation on the third presentation object of the second user terminal is detected, target operation information of a second operation on a second presentation object of the second user terminal is updated.

[0031] In a second aspect, an embodiment of the present disclosure provides a device for pushing a presentation object, the device comprising:

[0032] an acquisition unit, configured to acquire at least two pieces of target operation information, wherein the at least two pieces of target operation information respectively indicate: a first operation on a first presentation object of a first user terminal, and a second operation on a second presentation object of a second user terminal;

[0033] A first determining unit is configured to determine a first hash value of first object information of the first presentation object and a second hash value of second object information of the second presentation object;

[0034] a calculation unit configured to calculate a similarity between a user using the first user terminal and a user using the second user terminal based on the first hash value and the second hash value;

[0035] The second determination unit is configured to determine whether to push a third presentation object to the second user terminal based on the similarity, wherein the third presentation object is a presentation object operated for the first user terminal.

[0036] Optionally, in the device of any embodiment of the present disclosure, when the number of the first presentation object and the number of the second presentation object are both 1, the calculation unit includes:

[0037] The first determining subunit is configured to determine the similarity between the first hash value and the second hash value as the similarity between a user using the first user terminal and a user using the second user terminal.

[0038] Optionally, in the device of any embodiment of the present disclosure, when the number of target presentation objects is greater than 1, a target hash value of the target object information of each target presentation object is determined; wherein: the target presentation object is the first presentation object, the target object information is the first object information, and the target hash value is the first hash value; or, the target presentation object is the second presentation object, the target object information is the second object information, and the target hash value is the second hash value; and

[0039] The above-mentioned computing unit includes:

[0040] A calculation subunit is configured to calculate the similarity between a user using the first user terminal and a user using the second user terminal based on each determined target hash value and a target weight corresponding to each determined target hash value, wherein the target weight corresponding to each target hash value is predetermined for a target operation corresponding to the target hash value.

[0041] Optionally, in the device of any embodiment of the present disclosure, each element in the target hash value is represented by a binary value; and

[0042] The above-mentioned computing subunit includes:

[0043] A first calculation module is configured to update, for each determined target hash value, an element whose value is 0 in the target hash value to -1, calculate a product between an updated target hash value corresponding to the target hash value and a target weight corresponding to the target hash value, and obtain a target product vector corresponding to the target hash value;

[0044] A second calculation module is configured to calculate the sum of the obtained target product vectors to obtain a sum vector corresponding to the target Hash value;

[0045] The third calculation module is configured to calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the calculated sum vectors.

[0046] Optionally, in the device of any embodiment of the present disclosure, the third calculation module includes:

[0047] an updating submodule, configured to update each element in each calculated sum vector to a first value if the element is greater than a preset threshold, and to update the element to a second value if the element is less than or equal to the preset threshold, so as to obtain an updated vector corresponding to the sum vector;

[0048] The determination submodule is configured to use the Hamming distance between the updated vectors corresponding to at least two of the target operation information as the similarity between the user using the first user terminal and the user using the second user terminal.

[0049] Optionally, in the device of any embodiment of the present disclosure, the second determining unit includes:

[0050] a second determining subunit configured to determine to push the third presentation object to the second user terminal and increase the distance value if the similarity is less than or equal to a predetermined distance value;

[0051] The third determining subunit is configured to not push the third presentation object to the second user terminal if the similarity is greater than the distance value, and to reduce the distance value or keep the distance value unchanged.

[0052] Optionally, in the device of any embodiment of the present disclosure, the device further includes:

[0053] The updating unit is configured to update target operation information of a second operation on a second presentation object of the second user terminal if an operation on the third presentation object of the second user terminal is detected.

[0054] In a third aspect, an embodiment of the present disclosure provides an electronic device, including:

[0055] Memory for storing computer programs;

[0056] The processor is used to execute the computer program stored in the memory, and when the computer program is executed, the method of any embodiment of the method for pushing a presentation object in the first aspect of the present disclosure is implemented.

[0057] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable medium, and when the computer program is executed by a processor, the method of any embodiment of the method for pushing a presentation object as described in the first aspect above is implemented.

[0058] In a fifth aspect, an embodiment of the present disclosure provides a computer program comprising a computer-readable code, which, when executed on a device, enables a processor in the device to execute instructions for implementing each step of a method in any embodiment of a method for pushing a presentation object as described in the first aspect above.

[0059] Based on the push method of the presentation object provided by the above embodiment of the present disclosure, at least two target operation information can be obtained, wherein at least two of the above target operation information respectively indicate: a first operation of the first presentation object for the first user terminal, and a second operation of the second presentation object for the second user terminal, then, determine the first hash value of the first object information of the above first presentation object, and the second hash value of the second object information of the above second presentation object, then, based on the above first hash value and the above second hash value, calculate the similarity between the user using the above first user terminal and the user using the above second user terminal, and finally, based on the above similarity, determine whether to push the third presentation object to the above second user terminal, wherein the above third presentation object is a presentation object for the above first user terminal operation. In this way, the embodiment of the present disclosure can calculate the similarity between the two users based on the first hash value and the second hash value, and then determine whether to push the first presentation object presented by the above first user terminal to the second user terminal. Thus, the presentation object can be pushed based on the hash value of the object information, enriching the push method of the presentation object, and helping to improve the pertinence and accuracy of the presentation object push.

[0060] The technical solution of the present disclosure is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] Other features, objects and advantages of the present disclosure will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:

[0062] Figure 1It is an exemplary system architecture diagram of a method for pushing a presentation object or a device for pushing a presentation object provided in an embodiment of the present disclosure;

[0063] Figure 2 is a flowchart of a method for pushing a presentation object provided by an embodiment of the present disclosure;

[0064] Figure 3 It is for Figure 2 A schematic diagram of an application scenario of an embodiment of the present invention;

[0065] Figure 4 is a flowchart of another method for pushing a presentation object provided by an embodiment of the present disclosure;

[0066] Figure 5 It is a structural diagram of a pushing device for presenting an object provided by an embodiment of the present disclosure;

[0067] Figure 6 It is a structural schematic diagram of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0068] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present disclosure unless otherwise specifically stated.

[0069] Those skilled in the art will understand that the terms "first" and "second" in the embodiments of the present disclosure are only used to distinguish objects such as different steps, devices or modules, and do not represent any specific technical meanings, nor do they indicate the logical order between them.

[0070] It should also be understood that in the embodiments of the present disclosure, “plurality” may refer to two or more than two, and “at least one” may refer to one, two, or more than two.

[0071] It should also be understood that any component, data or structure mentioned in the embodiments of the present disclosure can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.

[0072] In addition, the term "and / or" in the present disclosure is only a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in the present disclosure generally indicates that the associated objects before and after are in an "or" relationship.

[0073] It should also be understood that the description of the various embodiments in the present disclosure focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced to each other, and for the sake of brevity, they will not be described one by one.

[0074] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.

[0075] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered as part of the specification.

[0076] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0077] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present disclosure may be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0078] Figure 1 It is an exemplary system architecture diagram of a method for pushing a presentation object or a device for pushing a presentation object provided in an embodiment of the present disclosure.

[0079] like Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0080] The user can use the terminal devices 101, 102, 103 to interact with the server 105 through the network 104 to receive or send data (such as target operation information), etc. Various client applications can be installed on the terminal devices 101, 102, 103, such as video playback software, news information applications, image processing applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.

[0081] Terminal devices 101, 102, 103 can be hardware or software. When terminal devices 101, 102, 103 are hardware, they can be various electronic devices with display screens, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, Moving Picture Experts Group Audio Layer 3), MP4 (Moving Picture Experts Group Audio Layer IV, Moving Picture Experts Group Audio Layer 4) players, laptop computers and desktop computers, etc. When terminal devices 101, 102, 103 are software, they can be installed in the electronic devices listed above. It can be implemented as multiple software or software modules (for example, software or software modules used to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.

[0082] The server 105 may be a server that provides various services, such as a background server that provides support for presentation objects on the terminal devices 101, 102, and 103. The background server may feed back the presentation objects to the terminal device. As an example, the server 105 may be a cloud server.

[0083] It should be noted that the server can be hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or it can be implemented as a single server. When the server is software, it can be implemented as multiple software or software modules (for example, software or software modules used to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.

[0084] It should also be noted that the push method for presentation objects provided in the embodiments of the present disclosure can be executed by a server, or by a terminal device, or by a server and a terminal device in cooperation with each other. Accordingly, the various parts (such as various units, sub-units, modules, and sub-modules) included in the push device for presentation objects can be all arranged in the server, or all arranged in the terminal device, or respectively arranged in the server and the terminal device.

[0085] It should be understood that Figure 1 The number of terminal devices, networks, and servers in the system is only illustrative. Any number of terminal devices, networks, and servers may be provided as required. When the electronic device on which the push method for presenting an object is executed does not need to perform data transmission with other electronic devices, the system architecture may only include the electronic device (e.g., server or terminal device) on which the push method for presenting an object is executed.

[0086] Continue to refer Figure 2 , shows a process 200 of an embodiment of a method for pushing a presentation object according to the present disclosure. The method for pushing a presentation object comprises the following steps:

[0087] Step 201, obtaining at least two target operation information.

[0088] In this embodiment, the execution subject of the push method of the presentation object (for example Figure 1 The server, terminal device, or push device for presenting the object shown) can obtain at least two target operation information from other electronic devices or locally through a wired connection or a wireless connection.

[0089] The at least two target operation information respectively indicate: a first operation on a first presentation object of a first user terminal, and a second operation on a second presentation object of a second user terminal.

[0090] The first user terminal and the second user terminal may be two independent user terminals. The user terminal (including the first user terminal and the second user terminal) may present the presentation object. The presentation object may be an object for presentation in the user terminal (including the first user terminal and the second user terminal). As an example, the presentation object may include but is not limited to at least one of the following: a message (such as an information stream), product information (such as a product logo), a video, an image, and the like.

[0091] The first presentation object may be a presentation object that is being presented by the first user terminal or that has been presented.

[0092] The second presentation object may be a presentation object that is being presented by the second user terminal or that has been presented.

[0093] The first operation may be an operation performed by a user using the first user terminal on the first presentation object.

[0094] The second operation may be an operation performed by a user using the second user terminal on the second presentation object.

[0095] Here, the number of first operations or second operations indicated by a single target operation information may be one or more. For example, the target operation information may indicate a collection operation for a mobile phone of the first user terminal and a purchase operation for a refrigerator of the first user terminal.

[0096] Step 202: Determine a first Hash value of the first object information of the first presentation object and a second Hash value of the second object information of the second presentation object.

[0097] In this embodiment, the execution subject may determine a first hash value of the first object information of the first presentation object and a second hash value of the second object information of the second presentation object.

[0098] The first Hash value may be a Hash value of first object information of a first presentation object, and the second Hash value may be a Hash value of second object information of a second presentation object.

[0099] There may be a one-to-one correspondence between the first presentation object, the first object information, the first hash value, and the first operation; there may be a one-to-one correspondence between the second presentation object, the second object information, the second hash value, and the second operation.

[0100] Here, if the first object information of the first presentation object is included in the structured data, the first hash value of the first object information can be directly determined. If the first object information of the first presentation object is included in the unstructured data, the unstructured data can be first processed into structured data, and then the hash value of the first object information in the structured data can be determined, and the calculated hash value of the first object information in the structured data can be determined as the first hash value of the first object information.

[0101] Similarly, if the second object information of the second presentation object is included in the structured data, the second hash value of the second object information can be directly determined. If the second object information of the second presentation object is included in the unstructured data, the unstructured data can be first processed into structured data, and then the hash value of the second object information in the structured data can be determined, and the calculated hash value of the second object information in the structured data can be determined as the second hash value of the second object information.

[0102] As an example, structured data can be represented as shown in the following table:

[0103] user Object score A a 4 A b 9 B c 1 B b 8

[0104] Among them, "a", "b", and "c" in the above structured data can represent object information (such as first object information, second object information, and target object information).

[0105] There are many unstructured data formats. Here we use JSON (JavaScript Object Notation) format as an example. Unstructured data can be represented as: {"user": "A", "object": "B", "operation weight": "9"}.

[0106] Among them, "B" in the above structured data can represent object information (such as first object information, second object information, target object information).

[0107] Exemplarily, the object information in the structured data and / or unstructured data may include, but is not limited to, at least one of the following: products, news, videos for push, and the like.

[0108] When processing unstructured data, you can first extract the three values ​​​​A, B, and 9 based on the three keys of user, product, and operation weight, and then convert the unstructured data into structured data.

[0109] In practice, since unstructured data cannot be directly used in computations, it can be first converted into structured data. Typically, structured data can be stored in a relational database.

[0110] In addition, the first hash value and the second hash value can be calculated using a hash algorithm such as MD5 (Message-Digest Algorithm) and SHA (Secure Hash Algorithm).

[0111] Step 203: Calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the first hash value and the second hash value.

[0112] In this embodiment, the execution entity may calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the first hash value and the second hash value.

[0113] In some optional implementations of this embodiment, when the number of the first presentation object and the number of the second presentation object are both 1, the execution subject may perform step 203 in the following manner, so as to calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the first hash value and the second hash value:

[0114] The similarity between the first hash value and the second hash value is determined as the similarity between a user using the first user terminal and a user using the second user terminal.

[0115] Here, the similarity between the first Hash value and the second Hash value can be calculated in a variety of ways. As an example, the Hamming distance or the Euclidean distance between the first Hash value and the second Hash value can be used as the similarity between the first Hash value and the second Hash value.

[0116] Optionally, the similarity between the first hash value and the second hash value may be calculated in the following manner:

[0117] First, the first hash value and the second hash value are converted into binary values ​​respectively.

[0118] Then, for each bit in the binary value obtained by converting the first hash value, if the bit is 1, the value of the bit is kept unchanged; if the bit is 0, the value of the bit is updated to -1, and an updated binary value vector corresponding to the first hash value is obtained, and each element of the vector is 1 or -1. The first hash value is replaced by the second hash value to obtain an updated binary value vector corresponding to the second hash value, and each element of the vector is 1 or -1.

[0119] Afterwards, the product of the updated binary numerical vector corresponding to the first hash value and the weight set for the first operation corresponding to the first hash value is calculated to obtain a product vector corresponding to the first hash value. For the obtained product vector, the elements greater than 0 in the product vector are updated to 1, and the elements less than 0 in the product vector are updated to 0, to obtain a fingerprint signature corresponding to the first hash value. Similarly, by replacing the above-mentioned first hash value with the second hash value and the first operation with the second operation, a fingerprint signature corresponding to the second hash value can be obtained.

[0120] Finally, the Hamming distance between the fingerprint signature corresponding to the first hash value and the fingerprint signature corresponding to the second hash value is used as the similarity between the first hash value and the second hash value.

[0121] It can be understood that in the above optional implementation, the similarity between users can be obtained by calculating the similarity between the above first hash value and the above second hash value, which enriches the similarity calculation method and helps to improve the accuracy of similarity determination.

[0122] In some optional implementations of this embodiment, when the number of target presentation objects is greater than 1, it is necessary to determine a target hash value of the target object information of each target presentation object.

[0123] Wherein: the target presentation object is the first presentation object, the target object information is the first object information, and the target hash value is the first hash value. Alternatively, the target presentation object is the second presentation object, the target object information is the second object information, and the target hash value is the second hash value.

[0124] Here, the number of the first presentation objects and / or the number of the second presentation objects may be greater than 1. In other words, the number of the first presentation objects may be 1, and the number of the second presentation objects may be greater than 1; or, the number of the first presentation objects may be greater than 1, and the number of the second presentation objects may be 1; or, the number of the first presentation objects and the number of the second presentation objects may both be greater than 1.

[0125] On this basis, the execution subject may perform step 203 in the following manner, so as to calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the first hash value and the second hash value:

[0126] Based on each determined target hash value and the target weight corresponding to each determined target hash value, a similarity between a user using the first user terminal and a user using the second user terminal is calculated.

[0127] The target weight corresponding to each target Hash value is predetermined for the target operation corresponding to the target Hash value. The target weight corresponding to each target Hash value can be a fixed value or a value that changes according to a certain rule.

[0128] As an example, for each target hash value (including the first hash value and the second hash value), the product of the target hash value and the target weight (including the first weight and the second weight) corresponding to the target hash value can be calculated to obtain a product set (hereinafter referred to as the first vector) calculated based on multiple first hash values ​​and multiple first weights, and a product set (hereinafter referred to as the second vector) calculated based on multiple second hash values ​​and multiple second weights. Then, the similarity between the first vector and the second vector is used as the similarity between the user using the first user terminal and the user using the second user terminal.

[0129] It can be understood that in the above optional implementation, the similarity between users is calculated based on each determined target hash value and the target weight corresponding to each determined target hash value, which enriches the similarity calculation method and helps to improve the accuracy of similarity determination.

[0130] In some application scenarios of the above optional implementations, each element in the above target hash value is represented by a binary value. On this basis, the above execution subject can calculate the similarity between the user using the above first user terminal and the user using the above second user terminal based on each determined target hash value and the target weight corresponding to each determined target hash value in the following manner:

[0131] Step 1: for each determined target hash value, update the element with a value of 0 in the target hash value to -1, calculate the product between the updated target hash value corresponding to the target hash value and the target weight corresponding to the target hash value, and obtain a target product vector corresponding to the target hash value.

[0132] Step 2: Calculate the sum of the target product vectors to obtain a sum vector corresponding to the target hash value.

[0133] Step three: based on the calculated sum vectors, calculate the similarity between the user using the first user terminal and the user using the second user terminal.

[0134] As an example, the execution subject may perform step 3 in the following manner, so as to calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the calculated sum vectors:

[0135] determining the similarity between an average vector of a plurality of sum vectors calculated based on the first hash value and the first weight and an average vector of a plurality of sum vectors calculated based on the second hash value and the second weight as the similarity between a user using the first user terminal and a user using the second user terminal,

[0136] It can be understood that in the above optional implementation, the elements with values ​​of 0 in the target hash value are updated to -1, so that the different values ​​of each element in the target hash value can be distinguished, and the influence of each element in the target hash value on the target weight is consistent, thereby enriching the similarity calculation method and improving the accuracy of similarity determination.

[0137] In some cases of the above application scenarios, the above execution subject may perform the above step 3 in the following manner, so as to calculate the similarity between the user using the above first user terminal and the user using the above second user terminal based on the calculated sum vectors:

[0138] First, for each element in each calculated sum vector, if the element is greater than a preset threshold (for example, 0), the element is updated to a first value (for example, 1); if the element is less than or equal to the above preset threshold, the element is updated to a second value (for example, 0) to obtain an updated vector corresponding to the sum vector.

[0139] Afterwards, the Hamming distance between the updated vectors corresponding to at least two of the target operation information is used as the similarity between the user using the first user terminal and the user using the second user terminal.

[0140] It can be understood that in the above case, the accuracy of similarity calculation is further improved by performing normalization processing.

[0141] Step 204: Based on the similarity, determine whether to push the third presentation object to the second user terminal.

[0142] In this embodiment, the execution subject can determine whether to push the third presentation object to the second user terminal based on the similarity, wherein the third presentation object is a presentation object for the operation of the first user terminal. Here, the third presentation object and the first presentation object can both be presentation objects for the operation of the first user terminal. However, as described above, the first presentation object is used to calculate the similarity between the two users, that is, the determination of the first presentation object can only be before the similarity between the two users is calculated. The determination of the third presentation object can be after the similarity between the two users is calculated. In other words, the third presentation object can be any first presentation object, that is, a presentation object for the operation of the first user terminal that has been determined at a predetermined time, or a presentation object for the operation of the first user terminal that is determined at a future time after the predetermined time. The third presentation object can be the first presentation object or other presentation objects other than the first presentation object.

[0143] As an example, if the similarity is greater than a preset similarity threshold, it may be determined that the third presentation object is pushed to the second user terminal; otherwise, the third presentation object is not pushed to the second user terminal.

[0144] In some optional implementations of this embodiment, when the similarity is expressed by the Hamming distance table, the execution subject may perform step 204 in the following manner to determine whether to push the third presentation object to the second user terminal based on the similarity, wherein the third presentation object is a presentation object operated on the first user terminal:

[0145] If the similarity is less than or equal to a predetermined distance value, it is determined to push the third presentation object to the second user terminal.

[0146] Optionally, if the similarity is less than or equal to a predetermined distance value, the execution entity may also increase the distance value (for example, increase the distance value by 1).

[0147] If the similarity is greater than the distance value, the third presentation object is not pushed to the second user terminal.

[0148] Optionally, if the similarity is greater than the distance value, the execution entity may further reduce the distance value (for example, reduce the distance value by 1) or keep the distance value unchanged.

[0149] For different user terminals (eg, the first user terminal or the second user terminal), the distance values ​​may be equal or different, and the distance values ​​for different user terminals may be updated synchronously (including increase and decrease) or independently.

[0150] It can be understood that in the above optional implementation, the smaller the predetermined distance value (Hamming distance), the greater the similarity between users. In addition, in the above optional implementation, dynamic adjustment of the distance value can be implemented to dynamically adjust the push strategy according to the similarity of users.

[0151] In some optional implementations of this embodiment, if an operation on the third presentation object of the second user terminal is detected, the execution subject may update target operation information of the second operation on the second presentation object of the second user terminal.

[0152] As an example, if an operation is detected for the third presentation object of the second user terminal, such as a click operation on product information A, the execution subject may add the operation information of the click operation to the target operation information (including one or more operation information), or replace one or more operation information in the target operation information with the operation information of the click operation. In this way, new target operation information may be obtained, thereby determining the target hash value of the target object information of the new target presentation object, and then calculating the new similarity between users, recommending new presentation objects to users, and iterating continuously.

[0153] It can be understood that after the user performs a new operation, the operation information of the operation can be included in the corresponding target operation information, thereby affecting the similarity between the user and other users, forming a feedback mechanism for the push process, and the push strategy can be dynamically adjusted to improve the pertinence and accuracy of the push.

[0154] Continue to see Figure 3 , Figure 3 FIG. 1 is a schematic diagram of an application scenario of the method for pushing a presentation object according to this embodiment. Figure 3 In the application scenario, taking the execution subject as the server 310 as an example, the push method of the presentation object is exemplarily described.

[0155] exist Figure 3In the example, the server 310 obtains target operation information 301 from the first user terminal 320. The server 310 obtains target operation information 302 from the second user terminal 330. The target operation information 301 indicates a first operation on a first presentation object 303 of the first user terminal 320. The target operation information 302 indicates a second operation on a second presentation object 304 of the second user terminal 330. Afterwards, the server 310 determines a first hash value 305 of the first object information of the first presentation object 303 and a second hash value 306 of the second object information of the second presentation object 304. Then, based on the first hash value 305 and the second hash value 306, the server 310 calculates a similarity 307 between a user using the first user terminal and a user using the second user terminal. Finally, based on the similarity 307, the server 310 determines to push a third presentation object 308 to the second user terminal 330, wherein the third presentation object is a presentation object operated on the first user terminal.

[0156] The method provided by the above embodiment of the present disclosure can obtain at least two target operation information, wherein at least two of the above target operation information respectively indicate: a first operation for a first presentation object of a first user terminal, and a second operation for a second presentation object of a second user terminal, and then determine the first hash value of the first object information of the above first presentation object, and the second hash value of the second object information of the above second presentation object, and then, based on the above first hash value and the above second hash value, calculate the similarity between the user using the above first user terminal and the user using the above second user terminal, and finally, based on the above similarity, determine whether to push the third presentation object to the above second user terminal, wherein the above third presentation object is a presentation object for the above first user terminal operation. In this way, the embodiment of the present disclosure can calculate the similarity between the two users based on the first hash value and the second hash value, and then determine whether to push the first presentation object presented by the above first user terminal to the second user terminal. Thus, the presentation object can be pushed based on the hash value of the object information, which enriches the push method of the presentation object and helps to improve the pertinence and accuracy of the presentation object push.

[0157] Further references Figure 4 , which shows a process 400 of another embodiment of a method for pushing a presentation object. The process 400 of the method for pushing a presentation object includes the following steps:

[0158] Step 401: Acquire at least two pieces of target operation information, wherein the at least two pieces of target operation information respectively indicate: a first operation on a first presentation object of a first user terminal, and a second operation on a second presentation object of a second user terminal.

[0159] Step 402: Determine a first Hash value of the first object information of the first presentation object and a second Hash value of the second object information of the second presentation object.

[0160] Step 403, based on each determined target hash value and the target weight corresponding to each determined target hash value, calculate the similarity between the user using the first user terminal and the user using the second user terminal, wherein the target weight corresponding to each target hash value is predetermined for the target operation corresponding to the target hash value.

[0161] Step 404: Based on the similarity, determine whether to push the third presentation object to the second user terminal.

[0162] As an example, the following is an example of a presentation object (including the first presentation object and the second presentation object) being product information, and the push method of the presentation object is described as follows. However, it should be noted that the following description is only an example and should not limit the scope of protection of this embodiment. For example, in addition to product information, the presentation object can also be news, video, etc.

[0163] First, user data can be collected and stored.

[0164] Specifically, user data may include business data and behavior data.

[0165] The business data may be the identity information filled in by the user when registering the system, which is generally structured data and can be stored in a relational database. Here, the business data may also include operation information (such as the target operation information mentioned above).

[0166] Behavioral data may include: clicks, dwell time, attention, favorites, purchases, orders, and other data. These data are usually generated when users perform the above behaviors. In practice, developers can collect data by embedding points in the page and store them in the system's operation log file. Behavioral data is usually unstructured data. Due to the huge amount of data, it is usually necessary to use a distributed system HDFS (Hadoop Distributed File System) or Kafka (a high-throughput distributed publish-subscribe messaging system) for storage.

[0167] The above-mentioned business data and behavior data may include operation information (such as the above-mentioned target operation information).

[0168] Here, user behavior can be explained as follows: users can generate some behaviors on product information, and these behaviors can generally generate some data, such as attention, purchase, collection, etc. can all be called user behavior. Based on these data, through the push method of the presentation object in this embodiment, it can be determined whether to push the presentation object operated by other users to the user.

[0169] Usually, unstructured data cannot be directly calculated and needs to be processed before it can be calculated, which is actually to process it into a format similar to structured data. Structured data can be stored in a relational database and can be queried and calculated using SQL (Structured Query Language) statements.

[0170] There are many unstructured data formats. As an example, unstructured data can be data in json format, such as {"user":"A","product":"product H","operation weight":"9"}. In this way, when processing, the three values ​​of A, product H, and 9 can be extracted according to the three keys of user (for example, a user using the first user terminal, a user using the second user terminal), product (for example, the product indicated by the first presentation object, the product indicated by the second presentation object), and operation weight (for example, the target weight), and then converted into a format similar to structured data.

[0171] Afterwards, user data processing can be performed.

[0172] Specifically, after the above steps, the business data has been stored in the database, and the user's behavior data has been stored in HDFS. Next, the unstructured data needs to be processed uniformly into a form that can be calculated. Also, due to the huge amount of data, it is necessary to use big data computing frameworks such as spark or flink to clean the user's behavior data and merge it with the user's business data.

[0173] Among them, if the structured data is stored in a big data component (such as a relational database), then after the unstructured data is converted into formatted data, it can also be stored together with the formatted data, that is, merged.

[0174] Then, similarity calculation can be performed.

[0175] Specifically, based on the processed user data (including business data and behavior data), the simhash algorithm is used to obtain the user's similarity vector, that is, to map the user data from a high-dimensional vector into a low-dimensional bit fingerprint composed of 0 and 1. The premise of this process is that the user has generated some behaviors (i.e. operations) and the target operation information for these behaviors is obtained. The detailed algorithm process is as follows:

[0176] Step 1: Calculate the weight (such as the target weight mentioned above).

[0177] The target operation information in the user data is classified, and a predetermined weight is determined for the target operation indicated by each target operation information, that is, the target weight. For example, the weight of the stay operation is 1, the weight of the click operation is 2, the weight of the follow operation is 3, the weight of the purchase operation is 4, and the weight of the favorite operation is 5.

[0178] Step 2: Calculate the hash value.

[0179] For each user, hash the product information (i.e. the above-mentioned presentation object) of the product that the user has operated, and convert the string (hash value) into bits represented by 01. In this process, it is necessary to ensure that the number of bits of each hash result is the same. For example:

[0180] Mobile phone: 011000100

[0181] Bread – 100101011

[0182] Step three: weighted calculation.

[0183] According to the operation weight corresponding to each product, the hash value is weighted (if the bit is 1, it is multiplied by 1, and if the bit is 0, it is multiplied by -1), such as:

[0184] The purchase operation weight is 4, and the mobile phone hash value is 011000100, then:

[0185] Buy a mobile phone: [-4,4,4,-4,-4,-4,-4,-4,-4]

[0186] The collection operation weight is 5, and the bread hash value is 100101011, then:

[0187] Collection bread: [5,-5,-5,5,-5,5,-5,5,5]

[0188] Step 4: Add vertically.

[0189] Add the weighted vector results vertically to achieve dimensionality reduction:

[0190] Buy a mobile phone and collect bread to get: [1,-1,-1,1,-9,1,-1,1,1]

[0191] Step 5: Normalization processing.

[0192] Operate each bit of the reduced dimensionality vector. If it is greater than 0, set it to 1, otherwise it is set to 0, and get the final simhash fingerprint signature: [1,0,0,1,0,1,0,1,1].

[0193] Step 6: Similarity calculation.

[0194] Through the calculations in steps 1 to 5, a vector fingerprint (i.e., fingerprint signature) is generated for each user, and the Hamming distance between the vector fingerprints of two users is calculated to determine the similarity between the two users. For example, if the vector fingerprints of the two users are A = [1, 0, 0, 1, 0, 1, 1] and B = [0, 1, 1, 1, 0, 1, 0, 1, 1], the similarity between the two users is 3.

[0195] Subsequently, the similarity between each user can be calculated, and the Hamming distance h between each user can be calculated. Each user maintains a threshold k (the default is 3). If h is less than or equal to k, products that have been operated by similar users will be pushed to the user.

[0196] Next, the push validity can be judged: after pushing the product to the user, determine whether the push is valid and update the threshold k. If the user performs an operation (such as clicking, purchasing, or collecting) based on the push link, the push is considered valid and the threshold is increased, k=k+1; if the user does not perform an operation on the push link within the preset time range, the push is invalid and the threshold remains unchanged.

[0197] Finally, for the user's repeated behavior, these behavior data will be collected and stored again to improve the push strategy and make the push more accurate. Among them, improving the push strategy mainly includes: updating the threshold, updating the user fingerprint vector, etc.

[0198] It should be noted that, in addition to the above contents, the embodiments of the present disclosure may also include Figure 2 The same or similar features and effects as those in the corresponding embodiments will not be described in detail here.

[0199] In the prior art, the simhash algorithm is an algorithm used to calculate the text similarity of two articles, and is currently widely used in natural language processing. In addition, in the field of message and product push, push messages and purchase presentation objects are generally subscribed manually by users, and cannot be recommended, resulting in users only paying attention to content they are already interested in, and unable to push potential messages of interest.

[0200] Generally speaking, some recommendation systems based on collaborative filtering will go through the following calculation process when calculating user similarity: first, obtain each user's rating table for the product; then, obtain the user-product matrix based on the rating table; then, prevent the matrix from being too large and compress the dimension; then, calculate the user similarity for the user-product matrix. Here, there are many formulas for calculating similarity, the common ones are cosine similarity, Euclidean distance, Manhattan distance, etc.

[0201] The push method for presenting objects described in the above embodiment of the present disclosure does not require tedious conversion and compression of the user matrix; in comparison, the user similarity calculation method is simpler, and all calculations can be implemented using SQL statements in a relational database, which is also very consistent with the calculation method of big data components. The user similarity calculation method does not rely on a certain product, but aggregates all products operated by a certain user and then calculates the similarity, so it is more accurate.

[0202] Further references Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a push device for presenting an object. The device embodiment corresponds to the method embodiment described above. In addition to the features described below, the device embodiment may also include the same or corresponding features as the method embodiment described above, and produce the same or corresponding effects as the method embodiment described above. The device can be specifically applied to various electronic devices.

[0203] like Figure 5 As shown, a device 500 for pushing a presentation object in this embodiment. The device 500 includes: an acquisition unit 501, a first determination unit 502, a calculation unit 503, and a second determination unit 504. The acquisition unit 501 is configured to acquire at least two target operation information, wherein the at least two target operation information respectively indicate: a first operation on a first presentation object for a first user terminal, and a second operation on a second presentation object for a second user terminal; the first determination unit 502 is configured to determine a first hash value of the first object information of the first presentation object, and a second hash value of the second object information of the second presentation object; the calculation unit 503 is configured to calculate the similarity between a user using the first user terminal and a user using the second user terminal based on the first hash value and the second hash value; the second determination unit 504 is configured to determine whether to push a third presentation object to the second user terminal based on the similarity, wherein the third presentation object is a presentation object operated on the first user terminal.

[0204] In this embodiment, the acquisition unit 501 of the presentation object push device 500 can acquire at least two target operation information, wherein the at least two target operation information respectively indicate: a first operation on the first presentation object for the first user terminal, and a second operation on the second presentation object for the second user terminal.

[0205] In this embodiment, the first determining unit 502 may determine a first hash value of the first object information of the first presentation object and a second hash value of the second object information of the second presentation object.

[0206] In this embodiment, the calculation unit 503 may calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the first hash value and the second hash value.

[0207] In this embodiment, the second determining unit 504 may determine whether to push a third presentation object to the second user terminal based on the similarity, wherein the third presentation object is a presentation object for operation on the first user terminal.

[0208] In some optional implementations of this embodiment, when the number of the first presentation object and the number of the second presentation object are both 1, the calculation unit 503 includes:

[0209] The first determining subunit (not shown in the figure) is configured to determine the similarity between the first hash value and the second hash value as the similarity between the user using the first user terminal and the user using the second user terminal.

[0210] In some optional implementations of this embodiment, when the number of target presentation objects is greater than 1, a target hash value of the target object information of each target presentation object is determined; wherein: the target presentation object is the first presentation object, the target object information is the first object information, and the target hash value is the first hash value; or, the target presentation object is the second presentation object, the target object information is the second object information, and the target hash value is the second hash value; and

[0211] The calculation unit 503 includes:

[0212] A calculation subunit (not shown in the figure) is configured to calculate the similarity between a user using the first user terminal and a user using the second user terminal based on each determined target hash value and a target weight corresponding to each determined target hash value, wherein the target weight corresponding to each target hash value is predetermined for a target operation corresponding to the target hash value.

[0213] In some optional implementations of this embodiment, each element in the target hash value is represented by a binary value; and

[0214] The above-mentioned computing subunit includes:

[0215] A first calculation module (not shown in the figure) is configured to update the element with a value of 0 in the target hash value to -1 for each determined target hash value, calculate the product between the updated target hash value corresponding to the target hash value and the target weight corresponding to the target hash value, and obtain a target product vector corresponding to the target hash value;

[0216] A second calculation module (not shown in the figure) is configured to calculate the sum of each obtained target product vector to obtain a sum vector corresponding to the target hash value;

[0217] The third calculation module (not shown in the figure) is configured to calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the calculated sum vectors.

[0218] In some optional implementations of this embodiment, the third calculation module includes:

[0219] An updating submodule (not shown in the figure) is configured to update each element in each calculated sum vector to a first value if the element is greater than a preset threshold, and to update the element to a second value if the element is less than or equal to the preset threshold, so as to obtain an updated vector corresponding to the sum vector;

[0220] The determination submodule (not shown in the figure) is configured to use the Hamming distance between the updated vectors corresponding to at least two of the above target operation information as the similarity between the user using the above first user terminal and the user using the above second user terminal.

[0221] In some optional implementations of this embodiment, the second determining unit 504 includes:

[0222] A second determining subunit (not shown in the figure) is configured to determine to push the third presentation object to the second user terminal and increase the distance value if the similarity is less than or equal to a predetermined distance value;

[0223] The third determining subunit (not shown in the figure) is configured to not push the third presentation object to the second user terminal if the similarity is greater than the distance value, and to reduce the distance value or keep the distance value unchanged.

[0224] In some optional implementations of this embodiment, the apparatus 500 further includes:

[0225] The updating unit (not shown in the figure) is configured to update the target operation information of the second operation on the second presentation object of the second user terminal if an operation on the third presentation object of the second user terminal is detected.

[0226] In the device 500 provided by the above embodiment of the present disclosure, the acquisition unit 501 can acquire at least two target operation information, wherein the at least two target operation information respectively indicate: a first operation for a first presentation object of a first user terminal, and a second operation for a second presentation object of a second user terminal, and then, the first determination unit 502 can determine the first hash value of the first object information of the above first presentation object, and the second hash value of the second object information of the above second presentation object, and then, the calculation unit 503 can calculate the similarity between the user using the above first user terminal and the user using the above second user terminal based on the above first hash value and the above second hash value, and finally, the second determination unit 504 can determine whether to push the third presentation object to the above second user terminal based on the above similarity, wherein the above third presentation object is a presentation object for the above first user terminal operation. In this way, the embodiment of the present disclosure can calculate the similarity between the two users based on the first hash value and the second hash value, and then determine whether to push the first presentation object presented by the above first user terminal to the second user terminal. Therefore, the presentation object can be pushed based on the hash value of the object information, which enriches the push mode of the presentation object and helps to improve the pertinence and accuracy of the presentation object push.

[0227] Figure 6 A schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure is provided. Figure 6 The electronic device 600 shown includes: at least one processor 601, a memory 602, and at least one network interface 604 and other user interfaces 603. The various components in the electronic device 600 are coupled together via a bus system 605. It is understood that the bus system 605 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 605 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, the bus system 605 is not shown in FIG. Figure 6 Various buses are labeled as bus system 605 .

[0228] The user interface 603 may include a display, a keyboard, or a pointing device (eg, a mouse, a trackball, a touch pad, or a touch screen).

[0229] It can be understood that the memory 602 in the embodiment of the present disclosure can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The memory 602 described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0230] In some implementations, the memory 602 stores the following elements, executable units or data structures, or a subset thereof, or an extended set thereof: an operating system 6021 and an application 6022 .

[0231] The operating system 6021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application 6022 includes various application programs, such as a media player (Media Player), a browser (Browser), etc., which are used to implement various application services. The program for implementing the method of the embodiment of the present disclosure can be included in the application 6022.

[0232] In an embodiment of the present disclosure, by calling a program or instruction stored in the memory 602, specifically, a program or instruction stored in the application 6022, the processor 601 is used to execute the method steps provided by each method embodiment, for example, including: obtaining at least two target operation information, wherein the at least two target operation information respectively indicate: a first operation on a first presentation object of a first user terminal, and a second operation on a second presentation object of a second user terminal; determining a first hash value of the first object information of the first presentation object, and a second hash value of the second object information of the second presentation object; based on the first hash value and the second hash value, calculating the similarity between a user using the first user terminal and a user using the second user terminal; based on the similarity, determining whether to push a third presentation object to the second user terminal, wherein the third presentation object is a presentation object operated on the first user terminal.

[0233] The method disclosed in the above embodiment of the present disclosure can be applied to the processor 601, or implemented by the processor 601. The processor 601 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 601 or the instruction in the form of software. The above processor 601 can be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present disclosure can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present disclosure can be directly embodied as a hardware decoding processor to execute, or the hardware and software units in the decoding processor can be executed. The software unit can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 602, and the processor 601 reads the information in the memory 602 and completes the steps of the above method in combination with its hardware.

[0234] It is understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application specific integrated circuits (ASIC), digital signal processors (DSP), digital signal processing devices (DSPDevice, DSPD), programmable logic devices (PLD), field programmable gate arrays (FPGA), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application, or a combination thereof.

[0235] For software implementation, the technology described herein can be implemented by a unit that performs the functions described herein. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.

[0236] The electronic device provided in this embodiment may be Figure 6 The electronic device shown in FIG. 1 may perform the following steps: Figure 2 All steps of the push method of the presentation object are implemented Figure 2 For details, please refer to the technical effect of the push method of the presented object. Figure 2 For the sake of brevity, the relevant description is not repeated here.

[0237] The embodiments of the present disclosure also provide a storage medium (computer-readable storage medium). The storage medium here stores one or more programs. The storage medium may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a read-only memory, a flash memory, a hard disk or a solid-state drive; the memory may also include a combination of the above-mentioned types of memory.

[0238] When one or more programs in the storage medium can be executed by one or more processors, the above-mentioned method for pushing the presentation object executed on the electronic device side can be implemented.

[0239] The processor is used to execute a communication program stored in a memory to implement the following steps of a method for pushing a presentation object performed on an electronic device side: obtaining at least two target operation information, wherein at least two of the above target operation information respectively indicate: a first operation on a first presentation object for a first user terminal, and a second operation on a second presentation object for a second user terminal; determining a first hash value of the first object information of the above first presentation object, and a second hash value of the second object information of the above second presentation object; based on the above first hash value and the above second hash value, calculating the similarity between a user using the above first user terminal and a user using the above second user terminal; based on the above similarity, determining whether to push a third presentation object to the above second user terminal, wherein the above third presentation object is a presentation object operated on the above first user terminal.

[0240] The professionals should further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this disclosure.

[0241] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0242] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present disclosure in detail. It should be understood that the above description is only the specific implementation methods of the present disclosure and is not intended to limit the protection scope of the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure should be included in the protection scope of the present disclosure.

Claims

1. A method for pushing a presentation object, characterized in that: The method comprises: Acquire at least two pieces of target operation information, wherein the at least two pieces of target operation information respectively indicate: a first operation on a first presentation object of a first user terminal, and a second operation on a second presentation object of a second user terminal; Determine a first hash value of first object information of the first presentation object, and a second hash value of second object information of the second presentation object; Calculating a similarity between a user using the first user terminal and a user using the second user terminal based on the first hash value and the second hash value; Based on the similarity, determining whether to push a third presentation object to the second user terminal, wherein the third presentation object is a presentation object operated for the first user terminal; Wherein, when the number of target presentation objects is greater than 1, a target hash value of the target object information of each target presentation object is determined; wherein: the target presentation object is the first presentation object, the target object information is the first object information, and the target hash value is the first hash value; or, the target presentation object is the second presentation object, the target object information is the second object information, and the target hash value is the second hash value, and each element in the target hash value is represented by a binary value; and The calculating, based on the first hash value and the second hash value, the similarity between a user using the first user terminal and a user using the second user terminal includes: Calculating the similarity between a user using the first user terminal and a user using the second user terminal based on each determined target hash value and a target weight corresponding to each determined target hash value, wherein the target weight corresponding to each target hash value is predetermined for a target operation corresponding to the target hash value; The calculating, based on each determined target hash value and a target weight corresponding to each determined target hash value, a similarity between a user using the first user terminal and a user using the second user terminal includes: For each determined target hash value, update the element with a value of 0 in the target hash value to -1, calculate the product between the updated target hash value corresponding to the target hash value and the target weight corresponding to the target hash value, and obtain a target product vector corresponding to the target hash value; Calculate the sum of the obtained target product vectors to obtain a sum vector corresponding to the target hash value; Based on the calculated sum vectors, the similarity between the user using the first user terminal and the user using the second user terminal is calculated.

2. The method according to claim 1, characterized in that The calculating, based on the calculated sum vectors, the similarity between the user using the first user terminal and the user using the second user terminal includes: For each element in each calculated sum vector, if the element is greater than a preset threshold, the element is updated to a first value; if the element is less than or equal to the preset threshold, the element is updated to a second value, to obtain an updated vector corresponding to the sum vector; The Hamming distance between the updated vectors corresponding to at least two of the target operation information is used as the similarity between the user using the first user terminal and the user using the second user terminal.

3. The method according to claim 2, characterized in that The determining, based on the similarity, whether to push the third presentation object to the second user terminal includes: If the similarity is less than or equal to a predetermined distance value, determine to push the third presentation object to the second user terminal, and increase the distance value; If the similarity is greater than the distance value, the third presentation object is not pushed to the second user terminal, and the distance value is reduced or maintained unchanged.

4. The method according to claim 1, characterized in that: When the number of the first presentation object and the number of the second presentation object are both 1, the calculating, based on the first hash value and the second hash value, the similarity between the user using the first user terminal and the user using the second user terminal includes: The similarity between the first hash value and the second hash value is determined as the similarity between a user using the first user terminal and a user using the second user terminal.

5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: If an operation on the third presentation object of the second user terminal is detected, target operation information of a second operation on a second presentation object of the second user terminal is updated.

6. A push device for presenting an object, characterized in that: The device comprises: An acquiring unit is configured to acquire at least two pieces of target operation information, wherein the at least two pieces of target operation information respectively indicate: a first operation on a first presentation object of a first user terminal, and a second operation on a second presentation object of a second user terminal; a first determining unit configured to determine a first hash value of first object information of the first presentation object and a second hash value of second object information of the second presentation object; a calculation unit configured to calculate a similarity between a user using the first user terminal and a user using the second user terminal based on the first hash value and the second hash value; a second determining unit configured to determine whether to push a third presentation object to the second user terminal based on the similarity, wherein the third presentation object is a presentation object operated for the first user terminal; Wherein, when the number of target presentation objects is greater than 1, a target hash value of the target object information of each target presentation object is determined; wherein: the target presentation object is the first presentation object, the target object information is the first object information, and the target hash value is the first hash value; or, the target presentation object is the second presentation object, the target object information is the second object information, and the target hash value is the second hash value, and each element in the target hash value is represented by a binary value; and The computing unit comprises: a calculation subunit configured to calculate a similarity between a user using the first user terminal and a user using the second user terminal based on each determined target hash value and a target weight corresponding to each determined target hash value, wherein the target weight corresponding to each target hash value is predetermined for a target operation corresponding to the target hash value; The computing subunit comprises: A first calculation module is configured to update, for each determined target hash value, an element whose value is 0 in the target hash value to -1, calculate a product between an updated target hash value corresponding to the target hash value and a target weight corresponding to the target hash value, and obtain a target product vector corresponding to the target hash value; A second calculation module is configured to calculate the sum of the obtained target product vectors to obtain a sum vector corresponding to the target Hash value; The third calculation module is configured to calculate the similarity between the user using the first user terminal and the user using the second user terminal based on the calculated sum vectors.

7. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute a computer program stored in the memory, and when the computer program is executed, implement the method described in any one of claims 1 to 5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method described in any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Similar image retrieval method and device, computer equipment and storage medium

    CN112925940A

  • Intelligent terminal and object recommendation method

    CN113469773A