CN111461826A - Information pushing method and device, storage medium and electronic device - Google Patents

Information pushing method and device, storage medium and electronic device Download PDF

Info

Publication number
CN111461826A
CN111461826A CN202010240107.9A CN202010240107A CN111461826A CN 111461826 A CN111461826 A CN 111461826A CN 202010240107 A CN202010240107 A CN 202010240107A CN 111461826 A CN111461826 A CN 111461826A
Authority
CN
China
Prior art keywords
target
information
vertex
article
pushed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010240107.9A
Other languages
Chinese (zh)
Other versions
CN111461826B (en
Inventor
张国庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JD Digital Technology Holdings Co Ltd
Original Assignee
JD Digital Technology Holdings Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JD Digital Technology Holdings Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN202010240107.9A priority Critical patent/CN111461826B/en
Publication of CN111461826A publication Critical patent/CN111461826A/en
Application granted granted Critical
Publication of CN111461826B publication Critical patent/CN111461826B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Abstract

The application provides an information pushing method and device, a storage medium and an electronic device, wherein the method comprises the following steps: receiving an acquisition request sent by a client of a target object, wherein the acquisition request is used for acquiring push information pushed to the target object; acquiring target push information pushed to the target object, wherein the target push information comprises article information of an article browsed by an associated object having an association relation with the target object; and sending the target push information to the client to display the target push information through the client. Through the application, the problem that the user experience is poor due to the fact that the pushed article information is single in the article information pushing mode in the related technology is solved, the diversity of the pushed article information is improved, and the user experience is further improved.

Description

Information pushing method and device, storage medium and electronic device
Technical Field
The present application relates to the field of computers, and in particular, to an information pushing method and apparatus, a storage medium, and an electronic apparatus.
Background
In an electronic commerce system, personalized recommendation service can be provided to recommend interested articles to a user so as to solve the problems of information overload and no clear requirements of the user. When a user browses an article on a network (web) mall, a browsing record of the user can be saved to a Cookie (a text file saved to a user terminal) and transmitted to an interface of a recommendation server as requested by the user. The recommendation server can receive the basic information and browsing information of the user, and determine the recommended articles for the user by utilizing a collaborative filtering algorithm based on the user or articles.
At present, a collaborative filtering algorithm based on a user is mainly recommended based on articles purchased by the user, the articles purchased by the user can be recommended to other users, and for articles not purchased, the articles cannot be recommended to other users, so that the articles recommended to the user are too single, and the use experience of the user is influenced.
Therefore, the item information push method in the related art has a problem of poor user experience due to single pushed item information.
Disclosure of Invention
The embodiment of the application provides an information pushing method and device, a storage medium and an electronic device, and aims to at least solve the problem of poor user experience caused by single pushed article information in an article information pushing mode in related technologies.
According to an aspect of an embodiment of the present application, there is provided an information pushing method, including: receiving an acquisition request sent by a client of a target object, wherein the acquisition request is used for acquiring push information pushed to the target object; acquiring target pushing information pushed to a target object, wherein the target pushing information comprises article information of an article browsed by an associated object having an association relation with the target object; and sending the target push information to the client to display the target push information through the client.
According to another aspect of the embodiments of the present application, there is provided an information pushing apparatus, including: the system comprises a first receiving unit, a second receiving unit and a third receiving unit, wherein the first receiving unit is used for receiving an acquisition request sent by a client of a target object, and the acquisition request is used for acquiring push information pushed to the target object; the system comprises a first acquisition unit, a second acquisition unit and a third acquisition unit, wherein the first acquisition unit is used for acquiring target push information pushed to a target object, and the target push information comprises article information of an article browsed by an associated object having an association relation with the target object; and the first sending unit is used for sending the target push information to the client so as to display the target push information through the client.
Optionally, the apparatus further comprises: a second acquisition unit configured to acquire initial association information before acquiring target push information to be pushed to the target object, wherein the initial association information includes information indicating a similarity relationship between a plurality of objects and information indicating an operational relationship between the plurality of objects and a plurality of first items, the plurality of first items being items operated by the plurality of objects before a target time, the plurality of objects including the target object and the associated object; the third acquiring unit is used for periodically acquiring information to be updated, wherein the information to be updated is used for representing newly-added service data in a previous period of a current period, and the newly-added service data is a target operation record of a second object operation second object in the plurality of objects; and the updating unit is used for updating the initial associated information by using the information to be updated to obtain target associated information, wherein the target associated information is used for determining target pushing information pushed to the target object.
Optionally, in a case that the initial association information is an initial relationship graph, the second obtaining unit includes: the system comprises a first acquisition module, a second acquisition module and a third acquisition module, wherein the first acquisition module is used for acquiring initial business data, and the initial business data are operation records of a plurality of first articles on a plurality of object operation article exchange systems before a target moment; the building module is used for building an initial relation graph according to the initial service data, wherein the initial relation graph comprises: the object management system comprises a plurality of object vertexes corresponding to a plurality of objects, a plurality of article vertexes corresponding to a plurality of first articles, a first edge between two vertexes corresponding to two objects having a similar relation, and a second edge between two vertexes corresponding to an object having an operational relation and a first article, wherein the weight of the first edge corresponds to the similar relation, and the weight of the second edge corresponds to the operational relation.
Optionally, the third obtaining unit includes: the detection module is used for detecting that newly added service data exists in the message queue, wherein the newly added service data is a target operation record which is pushed to the message queue in real time and is generated by a second object operating a second article on the article exchange system; the determining module is used for determining a first vertex identifier and a second vertex identifier, wherein the first vertex identifier is used for identifying a vertex corresponding to the second object, and the second vertex identifier is used for identifying a vertex corresponding to the second object; and the generating module is used for generating information to be updated, wherein the information to be updated comprises a first vertex identifier, a second vertex identifier and weight information of target weight of a third edge, the third edge is an edge between a vertex corresponding to the second object and a vertex corresponding to the second object, and the target weight corresponds to the target operation record.
Optionally, the determining module includes: a first determining submodule, configured to determine a first vertex identifier corresponding to the second object; the second determining submodule is used for determining the maximum vertex identification in the vertex identifications which exist at present under the condition that the vertex identification corresponding to the second article does not exist; and the adding submodule is used for adding the target value to the maximum vertex identification to obtain a second vertex identification corresponding to the second article.
Optionally, in a case that the target related information is a target relationship graph, the updating unit includes: the adding module is used for adding a third edge between a vertex corresponding to the second object and a vertex corresponding to the second object on the initial relationship graph to obtain a target relationship graph under the condition that an edge between the vertex corresponding to the second object and the vertex corresponding to the second object does not exist on the initial relationship graph, wherein the weight of the third edge is the target weight corresponding to the target operation record; and the updating module is used for updating the weight of the third edge to the target weight corresponding to the target operation record to obtain the target relation graph under the condition that the third edge between the vertex corresponding to the second object and the vertex corresponding to the second object exists on the initial relation graph.
Optionally, the apparatus further comprises: the first determining unit is used for determining a pushed article vertex corresponding to a target object vertex from a target relation graph after the initial association information is updated by using the information to be updated to obtain target association information, wherein the target object vertex corresponds to a target object, the pushed article vertex corresponds to a pushed article, the pushed article is an article corresponding to article information to be pushed to the target object, the pushed article vertex is a vertex which is not connected with the target object vertex in a target article vertex set in a non-one-degree mode, and the target article vertex set is a set of a plurality of article vertices and vertices corresponding to a second article; and the second determining unit is used for determining the sequencing results of the vertexes of the plurality of recommended articles according to the length of the shortest path between the vertex of the target object and the vertexes of the plurality of recommended articles on the target relational graph under the condition that the vertexes of the recommended articles are a plurality of, wherein the sequencing results are used for determining the sequence of the recommended article information of the plurality of recommended articles.
Optionally, the apparatus further comprises: the client side of the target object detects a target operation executed on the client side before receiving an acquisition request sent by the client side of the target object, wherein the target operation is used for triggering acquisition of push information pushed to the target object; the second sending unit is used for responding to the target operation and sending an acquisition request to the server through the client; the second receiving unit is used for receiving the target push information returned by the server through the client after the target push information is sent to the client; and the display unit is used for displaying the target push information through the client.
According to a further aspect of an embodiment of the present application, there is also provided a computer-readable storage medium having a computer program stored thereon, wherein the computer program is configured to perform the steps of any of the above method embodiments when executed.
According to a further aspect of an embodiment of the present application, there is also provided an electronic apparatus, including a memory and a processor, the memory storing a computer program therein, the processor being configured to execute the computer program to perform the steps in any of the above method embodiments.
According to the method and the device, the acquisition request sent by the client side of the target object is received in a mode of pushing the article information of the article browsed by the associated object to the target object, wherein the acquisition request is used for acquiring the pushing information pushed to the target object; acquiring target pushing information pushed to a target object, wherein the target pushing information comprises article information of an article browsed by an associated object having an association relation with the target object; the target push information is sent to the client side, the target push information is displayed through the client side, the push information pushed to one user comprises the article information of the article browsed by the associated user, the push information is not only the article information of the article purchased by the associated user or the user, the diversity of the push information can be improved, the effect of user experience is further improved, the article information push mode in the related technology is achieved, and the problem that the user experience is poor due to the fact that the pushed article information is single is solved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
FIG. 1 is a block diagram of an alternative server hardware configuration according to an embodiment of the present application;
FIG. 2 is a schematic flow chart diagram illustrating an alternative information push method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an alternative information push method according to an embodiment of the present application;
FIG. 4 is a schematic diagram of another alternative information push method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of yet another alternative information pushing method according to an embodiment of the present application;
FIG. 6 is a schematic flow chart diagram illustrating an alternative information push method according to an embodiment of the present application;
fig. 7 is a block diagram of an alternative information pushing apparatus according to an embodiment of the present application.
Detailed Description
The present application will be described in detail below with reference to the accompanying drawings in conjunction with embodiments. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
According to an aspect of the embodiments of the present application, an information pushing method is provided. Alternatively, the method may be performed in a server or similar computing device. Taking an example of an application running on a server, fig. 1 is a block diagram of a hardware structure of an optional server according to an embodiment of the present application. As shown in fig. 1, the server 10 may include one or more processors 102 (only one is shown in fig. 1), wherein the processors 102 may include, but are not limited to, a processing device such as an MCU (micro controller Unit) or an FPGA (Field Programmable Gate Array) and a memory 104 for storing data, and optionally, the server may further include a transmission device 106 for communication function and an input/output device 108. It will be understood by those skilled in the art that the structure shown in fig. 1 is only an illustration, and is not intended to limit the structure of the server. For example, the server 10 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
The memory 104 may be used to store a computer program, for example, a software program and a module of application software, such as a computer program corresponding to the information pushing method in the embodiment of the present application, and the processor 102 executes the computer program stored in the memory 104 to execute various functional applications and data processing, that is, to implement the method described above. The memory 104 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, memory 104 may further include memory located remotely from processor 102, which may be connected to server 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the server 10. In one example, the transmission device 106 includes a NIC (Network Interface Controller) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be an RF (Radio Frequency) module, which is used for communicating with the internet in a wireless manner.
In this embodiment, an information pushing method operating on the above server is provided, and fig. 2 is a flowchart of an optional information pushing method according to an embodiment of the present application, and as shown in fig. 2, the flowchart includes the following steps:
step S202, receiving an acquisition request sent by a client of a target object, wherein the acquisition request is used for acquiring push information pushed to the target object;
step S204, acquiring target pushing information pushed to a target object, wherein the target pushing information comprises article information of an article browsed by an associated object having an association relation with the target object;
step S206, sending the target push information to the client to display the target push information through the client.
Optionally, the executing subject of the above steps may be a server, a terminal device, and the like, but is not limited thereto, and other devices capable of pushing information may be used to execute the method in the embodiment of the present application.
Through the embodiment, the mode of pushing the article information of the article browsed by the associated object to the target object is adopted, and the pushing information pushed to one user comprises the article information of the article browsed by the associated user, not only the article information of the article purchased by the associated user or the user, so that the problem of poor user experience caused by single pushed article information in the article information pushing mode in the related technology is solved, the diversity of the pushing information is improved, and the user experience is further improved.
The information pushing method in the embodiment of the present application is explained below with reference to fig. 2.
In step S202, an acquisition request sent by a client of a target object is received, where the acquisition request is used to acquire push information pushed to the target object.
The target object (user) may use a client of a target application, which may be an application capable of an item browsing, exchanging (e.g., purchasing) function, and the client is a client allowing an item browsing, exchanging function, for example, the target application may be an application capable of providing an online mall, through which the item browsed by the client is a commodity in the online mall, and the exchange may be an exchange of an object resource of the object with the commodity in the online mall, that is, purchasing the commodity in the online mall using an amount of money held by the object.
When a user browses and/or exchanges articles by using a client or at other time, the user can log in the client by using a target account, that is, the client is a client which logs in by using the target account, and the target account corresponds to the target object.
As an optional embodiment, a target operation performed on a client is detected by the client of a target object, where the target operation is used to trigger obtaining of push information pushed to the target object; and responding to the target operation, and sending an acquisition request to the server through the client.
The client may detect an operation performed by the target object on the client (e.g., content displayed by an interface of the client). If a target operation performed on the client is detected, the client may send a fetch request to the server. The target operation is used to trigger obtaining of push information pushed to the target object, for example, item information recommended to the target object, which may include but is not limited to at least one of the following: the method includes the following steps that an operation is executed on a swap item page of a client or a target area of the swap item page, and the target operation may be: click, double click, slide (up slide, down slide, left slide, right slide, or slide at any angle). The present embodiment is not particularly limited with respect to the specific manner of the target operation.
For example, user a opens an e-commerce (e-commerce) page, which may recommend goods to user a, and may send a request to a backend server to query for the recommended goods. For another example, after the user a opens the e-commerce page, the e-commerce page is pulled down, and then a request for querying recommended goods may be sent to the background server.
A server may have an item trading system (e.g., an online mall) running thereon, which may be connected to clients via a network (possibly via a plurality of intermediate nodes). The server may be a background server of the item transaction system, and may include: one or more servers, or, alternatively, cloud servers.
The server can push the object information in real time according to the current behavior of the user. The server may receive an acquisition request sent by the client, where the acquisition request is used to acquire push information pushed to the target object.
According to the embodiment, the push information pushed to the target object is acquired by triggering the target operation executed by the client, so that the timeliness of the information pushed to the user can be ensured, and the interaction between the client and the server is reduced, thereby reducing the resource occupation of the user equipment.
In step S204, target push information pushed to the target object is acquired, where the target push information includes item information of an item browsed by an associated object having an association relationship with the target object.
After or before the server receives the acquisition request sent by the client, the server can acquire the target push information pushed to the target object. The target push information may include: the item information of the item browsed by the associated object having an association relationship with the target object may be: a similar relationship.
The target push information may further include: exchange information of an item exchanged by the associated object, or item information of an item similar to the item exchanged by the associated object; item information of an item purchased by the target object, or item information of an item similar to an item exchanged with the target object (for example, an item having a short consumption cycle); the object information of the object browsed by the target object, or the object information of an object similar to the object browsed by the target object.
The target pushing information recommended to be pushed to the target object may be determined according to the target association information, and the target association information may include: information representing a similarity relationship between a plurality of objects and information for an operational relationship between the plurality of objects and a plurality of items, which may be: the predetermined time may be the time when the acquisition request is received or the time corresponding to the update information used for the latest information update. The object's manipulation of the item may include, but is not limited to, at least one of: browsing and exchanging.
As an alternative embodiment, initial association information may be obtained, where the initial association information includes information representing similarity relationships between the plurality of objects and information representing operational relationships between the plurality of objects and the plurality of first items; periodically acquiring information to be updated, wherein the information to be updated is used for representing newly added service data in a previous period of a current period; and updating the initial associated information by using the information to be updated to obtain the target associated information.
The server may obtain initial association information when starting up or obtaining the initialization instruction, where the initial association information may include: information indicating a similarity relationship between the plurality of objects, information indicating an operational relationship between the plurality of objects and the plurality of first items.
The initial association information may include information indicating a similarity relationship between a plurality of objects. The plurality of objects may be all objects using the commodity exchange system, or may be a plurality of objects belonging to the same object group (for example, objects belonging to the same community, objects divided into groups having a similar relationship with the objects in the same object group), or the like. The similarity relationship may be determined according to the similarity of the historically viewed items (viewed items) and/or the historically exchanged items (purchased items) of different objects, or may be determined according to the friend relationship, for example, the similarity of the first-degree friend (direct friend) is greater than the similarity of the second-degree friend (not friend, but having a common friend), and so on. The plurality of objects may include: a target object and an associated object.
The initial association information may also include information representing operational relationships between the plurality of objects and the plurality of first items. The plurality of first articles are articles operated by a plurality of objects before a target time, and the target time may be a time when the initial related information is acquired or a time before the initial related information is acquired. The target time may be determined according to the stored history data, and this embodiment is not particularly limited. The operation includes at least one of: and exchanging and browsing.
After the initial associated information is acquired, the information to be updated can be periodically acquired so as to update the initial associated information, and the real-time performance of the updated associated information can be ensured. For the current period, the information to be updated may be used to indicate new service data in a previous period of the current period, that is, a target operation record for a second object to operate a second item in the plurality of objects.
It should be noted that the period may be a period for updating the initial association information, and since the data amount of the newly added service data in each period is different, the time of each update period may be different, that is, after the update is completed, the newly added service data may be obtained again, and the association information is updated by using the obtained newly added service data.
After the information to be updated is obtained, the server may update the initial association information using the obtained information to be updated, so as to obtain the target association information. The manner of updating the initial association information using the information to be updated may be: and updating information for representing similarity relations between the plurality of objects and information for representing operational relations between the plurality of objects and the plurality of first items using the information to be updated. And the target associated information may be used to determine target push information to push to the target object.
It should be noted that the information to be updated is the associated information updated in the last cycle of the cycle, rather than the initial associated information obtained by initialization.
By the embodiment, the information to be updated is periodically acquired and the associated information is updated, so that the acquisition efficiency of the recommendation information can be ensured, the response speed of the acquisition request is improved, and the condition that the operation time of the recommendation algorithm depends on the input data is avoided.
The recommendation system in the related art may be implemented in combination with an algebraic correlation algorithm. In the example, a graph-based recommendation algorithm is adopted, so that the recommendation process can be ensured to be more intuitive, the interpretability is stronger, and the recommendation effect is easy to track. For the graph-based recommendation method, the association information may be a relationship graph, the relationship graph may include vertices and edges between the vertices, the vertices may correspond to the objects or the articles, and the weights of the edges may correspond to the strengths of the association relationships.
As an alternative embodiment, the obtaining of the initial association information includes: acquiring initial service data; and constructing an initial relation graph according to the initial service data.
The initial relationship graph may be determined from the initial traffic data. Many different types of items may be displayed on the item exchange system. Before the target time, the plurality of objects may manipulate a plurality of first items of the items displayed on the item exchange system, and different first items may be of different item types.
The operation of the plurality of objects on the plurality of first items on the item exchange system before the target time can be recorded as initial business data, and the operation record can include at least one of the following: browsing records, exchanging records. To avoid the complexity of the initialization process, the operation records may include only exchange records to avoid the storage burden due to excessive data recorded.
According to the recorded initial service data, an initial relation graph can be constructed. On the initial relationship diagram, the method can comprise the following steps:
(1) a plurality of object vertices corresponding to a plurality of objects;
(2) a plurality of article vertices corresponding to the first plurality of articles;
(3) a first edge between two vertexes corresponding to two objects with similar relation, wherein the weight of the first edge corresponds to the similar relation;
(4) and the object with the operational relationship and a second edge between two vertexes corresponding to the first article, wherein the weight of the second edge corresponds to the operational relationship.
It should be noted that, before the target time, in a plurality of objects, not any two objects have similar relationships, and for an object, the object may have operated on part of the first item or even none of the first item, so that in the initial relationship graph, not all object vertices may have edges therebetween, and not all object vertices may have edges therebetween.
According to the embodiment, the initial relationship graph is constructed according to the operation records of the plurality of objects for operating the plurality of first articles on the article exchange system, so that the interpretability of the recommendation result can be improved, and the tracking of the recommendation result is facilitated.
To be applied to the relationship graph, the information to be updated used for updating the initial relationship graph may be represented in the form of < object vertex identification, weight of edge >.
As an alternative embodiment, the periodically acquiring the information to be updated includes: detecting that newly added service data exists in the message queue; determining a first vertex identification for identifying a vertex corresponding to the second object and a second vertex identification for identifying a vertex corresponding to the second object; and generating information to be updated.
In the related art, a browsing record of a user is saved to a Cookie. Because the Cookie capacity is small, excessive use may affect the terminal performance, thereby affecting the user experience. In addition, the storage form of the Cookie is simple, and complex user behaviors cannot be recorded. Therefore, the item recommendation method can cache the current click stream log, behavior log and the like of the user in a third-party storage system of the server; the item recommendation system accesses the third-party storage system to obtain the behavior record of the user; and finally, calculating recommended commodities by combining an item recommendation algorithm, wherein the third-party storage system can be a Remote dictionary service (Redis).
However, since the business data of the user's browsing, clicking the stream log or other behaviors are cached through the third-party storage, when the calculation of the recommendation algorithm is needed, the business data needs to be converted to be used as the input of the algorithm to match the recommendation algorithm, and the processing process needs to consume a long processing time. Therefore, the article information pushing method in the related art has a problem of long time consumption. Moreover, when the recommendation algorithm is not completed, only preset default values can be returned, and the latest recommendation result cannot be queried in real time.
The item recommendation system (item information pushing system) in this embodiment may employ a real-time graph calculation engine, that is, an engine for calculating a relationship graph in real time, which may provide a real-time access (real-time data receiving) function, that is, receive user behavior data (for example, newly added service data) sent by an MQ (Message Queue) in real time, and automatically complete conversion of the service data into abstract data, and form a graph structure code (for example, information to be updated).
The server may detect that there is new service data in the message queue, where the new service data is a target operation record (browsing record, exchange record, etc.) generated by a second object operating a second item on the item exchange system, and the target operation record is pushed to the message queue in real time.
An object or an item may be uniquely identified by a vertex identification. According to the newly added service data, a first vertex identifier for identifying a vertex corresponding to the second object and a second vertex identifier for identifying a vertex corresponding to the second object may be determined, and information to be updated may be generated, where the information to be updated may include: the first vertex identification, the second vertex identification and the third edge are weight information of target weight, and the target weight corresponds to the target operation record.
The third edge is an edge between a vertex corresponding to the second object and a vertex corresponding to the second item. When the vertex corresponding to the second object and the vertex corresponding to the second item already exist on the initial relationship diagram, the third edge is an edge between the vertex corresponding to the second object and the vertex corresponding to the second item in the initial relationship diagram. In a case where there is no vertex corresponding to the second object and/or vertex corresponding to the second item on the initial relationship diagram, the third edge is an edge to be added to the initial relationship diagram between the vertex corresponding to the second object and the vertex corresponding to the second item.
Through the embodiment, the user behavior data sent through the message queue is received in real time, the conversion from the service data to the abstract data is automatically completed, the graph structure code is formed, and the timeliness of pushing the object information can be guaranteed.
The second item may or may not be one of the plurality of first items.
As an alternative embodiment, determining the first vertex identification and the second vertex identification comprises: determining a first vertex identification corresponding to the second object; under the condition that no vertex identification corresponding to the second article exists, determining the maximum vertex identification in the vertex identifications which exist at present; and adding the target value to the maximum vertex mark to obtain a second vertex mark corresponding to the second article.
If the second item does not belong to any of the plurality of first items, i.e., there is no vertex corresponding to the second item in the relationship graph at this time, a vertex identification corresponding to the second vertex may be generated.
The vertex identifications of the respective vertices may be sequentially numbered, and the manner of generating the vertex identification corresponding to the second vertex may be: and determining the maximum vertex identifier in the vertex identifiers which exist currently, and adding a target value (for example, 1, 2 and the like) to the maximum vertex identifier to obtain a second vertex identifier corresponding to the second article.
For example, the server may number the vertices sequentially, and the object nodes and the item nodes may be numbered identically or differently. The plurality of objects includes: object a, object B, object C, the plurality of first items comprising: oranges, apples, mobile phones and toilet paper, and the objects and the articles are numbered in sequence to obtain the numbering result shown in figure 3.
It should be noted that the vertex identifiers corresponding to the articles may also be numbered in other manners, for example, the vertices of the articles belonging to the same article type may be numbered sequentially, the vertices of the articles belonging to the same article type and the same level may be numbered sequentially, the vertices are numbered first by odd numbers and then by even numbers, and the vertices are randomly numbered within a predetermined identifier range, so long as the vertex identifiers uniquely identify the articles may be used in the present embodiment.
Through this embodiment, through carrying out the order serial number to the summit sign to for there is not the corresponding summit sign of article distribution that corresponds the summit sign, can guarantee the accuracy that the summit sign distributes, thereby the rationality of the article information of propelling movement.
If the initial association information is the initial relationship graph, the initial relationship graph can be updated according to the information to be updated, and the target relationship graph is obtained.
For example, the real-time graph computation engine may have a computation function that receives an incremental abstract graph (e.g., information to be updated) into a full-scale graph (e.g., an initial relationship graph), continuously runs a graph-based recommendation algorithm on the latest full-scale abstract graph, and outputs the latest graph computation result (target relationship graph).
As an alternative embodiment, updating the initial associated information by using the information to be updated, and obtaining the target associated information includes: adding a third edge between the vertex corresponding to the second object and the vertex corresponding to the second object on the initial relationship graph to obtain a target relationship graph under the condition that the edge between the vertex corresponding to the second object and the vertex corresponding to the second object does not exist on the initial relationship graph; and updating the weight of the third edge to the target weight corresponding to the target operation record to obtain the target relation graph when the third edge between the vertex corresponding to the second object and the vertex corresponding to the second object exists on the initial relation graph.
If the second object has not previously manipulated the second item, then there is no edge on the initial relationship graph between the vertex corresponding to the second object and the vertex corresponding to the second item. A third edge between the vertex corresponding to the second object and the vertex corresponding to the second item may be added to the initial relationship graph to obtain a target relationship graph, and a weight of the third edge corresponds to the target operation record, that is, the target weight.
If the second object previously manipulated the second item, then there is an edge on the initial relationship graph between the vertex corresponding to the second object and the vertex corresponding to the second item. The weight of the third edge may be updated to a target weight corresponding to the target operation record to obtain a target relationship graph, or the current weight of the third edge and the target weight may be compared, and a larger value or a smaller value of the current weight and the target weight is taken as the weight of the third edge, and the setting manner of the weight may be set as required, which is not specifically limited in this embodiment.
It should be noted that the weight of the edge between two object vertices corresponds to the similarity relationship, and the more similar the two objects are, the smaller the weight of the edge between their corresponding vertices may be, that is, the weight is inversely related to the similarity, for example, the weight is the inverse of the similarity. The weight of the edge between the object vertex and the object vertex corresponds to the operation relationship, and the weight of the corresponding edge may be different for different operation relationships, for example, the weight corresponding to the exchange relationship may be smaller than the weight corresponding to the browsing relationship. The magnitude of the weight may identify a degree of association between two vertices, the higher the degree of association, the less the weight of the edge between the two vertices.
In order to reduce the load on the server, the present embodiment does not give the similarity between items. The similarity value between users may be directly obtained, for example, determined by another server and then transmitted to the server, or may be calculated according to another offline algorithm, which is not specifically limited in this embodiment.
The updating of the relationship graph is described below in connection with an alternative example. The purchase weight between the user and the commodity may be set to 1/2, the browsing weight may be set to 1/1, the similarity weight between the user and the user is the inverse of the similarity, and the similarity weight between the commodity and the commodity may be added. Object a purchased orange, apple, cell phone and toilet paper, object B purchased orange, orange and apple, and object C purchased orange, apple and cell phone. If the similarity between the object a and the object B is 3 points, the similarity between the object a and the object C is 4 points, and the similarity between the object B and the object C is 3 points, the edge data shown in fig. 4 may be determined.
The server may run a real-time graph computing system, receiving behavioral data of a user. The e-commerce page collects "Action 1: object B browsed banana "and sent this business data record < object B, browse, banana > to the real-time graph computing system via MQ. The receiving and coding service of the real-time graph computing system operates at the moment, and once new data in a message queue is detected, the new data are immediately acquired, and then graph coding work is carried out according to service data: inquiring K/V, determining whether a mapping relation between the object B and the banana exists, wherein the ID of the vertex corresponding to the object B which can be checked is 2, the ID of the banana does not exist, and the ID of the banana code can be 9. Finally, the vertex map <9, banana > and abstract edge <2,9,1/1> are recorded in the system's K/V storage and sent to the graph computation service. Similarly, "Action 2: object a browses charge pal "vertex map <10, charge pal > and abstract edges <1,10,1/1> may be recorded in the K/V store of the system, as shown in phantom in fig. 3 and 4.
In the compute and query module of the real-time graph computing system, abstract edges <2,9,1/1> and <1,10,1/1> are temporarily cached if the graph computation engine is running the correlation graph algorithm. When the next round of graph computation begins, the newly added edges along with the stock edges are used as input to the graph-based recommendation algorithm. The graph computation engine is a framework that can efficiently run graph algorithms on ultra-large graph datasets, and can continuously run graph-based recommendation algorithms on the latest full-scale abstract edges. The information shown by the relationship diagram obtained by the operation can be shown in fig. 4.
By the embodiment, the weight of the edge between the object vertex and the object vertex is set or updated, so that the accuracy of the updating operation can be improved.
The server can also provide a push information query function, generate and store the latest push information of each object.
For example, the real-time graph computation engine may provide a query function, a query request may be queried based on the latest result set, and a K/V storage module of the real-time graph computation engine may store a mapping relationship between a business value and an abstract vertex, and return a business recommendation result (one type of pushed information) for the query request. If the online shopping mall initiates a recommendation request to the real-time graph computing system, the latest recommendation result can be immediately obtained, and the corresponding recommendation bit can be rendered without conversion.
As an optional embodiment, after the initial association information is updated by using the information to be updated to obtain the target association information, the vertex of the pushed article corresponding to the vertex of the target object may be determined from the target relationship diagram; and determining the sequencing result of the plurality of pushed article vertexes according to the length of the shortest path between the target object vertex and the plurality of pushed article vertexes on the target relational graph under the condition that the plurality of pushed article vertexes are provided.
After obtaining the target relationship graph, the server may automatically or triggered by a query request (query recent push information) determine push information for any object (e.g., target object, associated object, or any other object) in the plurality of objects. For a target object vertex (corresponding to a target object) of the object vertices, a pushed article vertex corresponding to the target object vertex may be determined from the target relationship graph, where the pushed article vertex corresponds to a pushed article, and the pushed article is an article corresponding to article information to be pushed to the target object, and may be an article to be recommended to the target object, that is, a recommended article.
The pushed article vertex is a vertex which is not connected with the vertex of the target object in a one-time mode in the vertex set of the target article, and the vertex set of the target article is a set of a plurality of article vertexes and vertexes corresponding to the second article. That is, all item vertices in the target relationship graph that are not connected to the target object vertex at one time. Non-once connected means: connected but not directly connected, e.g., by other object vertices. The item corresponding to the vertex of the pushed item may be an item recommended to the target object.
If there are multiple push item vertices, there may be multiple corresponding push items. The ranking result for the plurality of pushed item vertices may be determined based on a length of a shortest path between the target object vertex and the plurality of pushed item vertices on the target relationship graph. The shorter the path length, the earlier the ranking. The ranking results of the plurality of pushed item vertices may be used to determine an order of item information for the plurality of pushed items.
For example, the graph computation engine may be a framework that runs graph algorithms efficiently on very large graph datasets, may run graph-based recommendation algorithms continuously on the most recent full-scale abstract edges, and compute recommendations with the graph shortest-path algorithm. The shortest path length between each user and all the goods can be calculated, and the shorter the path, the higher the probability that the user purchases the goods.
The number of articles to be pushed may be set in advance, and for example, the number of articles to be pushed may be set in advance or may not be set. The pushed item may also be an item browsed by the associated object, or an item belonging to the same type as the item browsed by the associated object (the brand may be different), or an item of the same brand (the model may be different), or other similar pushing schemes, which is not limited in this embodiment.
According to the embodiment, the sequence of pushing the articles and the pushing the articles is determined through the connection relation between the object vertex and the article vertex and the shortest path between the object vertex and the article vertex, so that the accuracy of information pushing and the reasonability of the sequence of recommended articles can be improved, and the time consumption of searching the required articles by a user is reduced.
After determining the recommended item, the server may obtain item information (target push information) of the push item.
In step S206, the target push information is sent to the client to display the target push information through the client.
After the target push information is acquired, the target push information may be sent to a client of the target object, so that the target push information is displayed through the client.
As an alternative embodiment, after the target push information is sent to the client, the target push information returned by the server is received and displayed by the client.
The client can receive the target push information returned by the server and display the target push information on an interface of the client.
Optionally, in this embodiment, for the user terminal, a target operation performed on a client of the target object may be detected, where the target operation is used to trigger obtaining of push information pushed to the target object; responding to the target operation, and acquiring target pushing information, wherein the target pushing information comprises: item information of an item browsed by an associated object having an association relation with the target object; and displaying the target push information through the client.
For example, for the relationship diagram shown in FIG. 4, if "Action 3: the e-commerce page needs to recommend goods to the object C when the object C opens the e-commerce page. The server may send a request to the real-time graph computing system to query for recommended goods.
The inquiry service of the system firstly obtains the vertex ID corresponding to the object C from the K/V to be 3, then inquires that the shortest path of the 3 in the graph calculation result set is <3,1,10, d >, obtains the commodity corresponding to 10 from the vertex mapping of the K/V to be the charging treasure, obtains that the commodity corresponding to 10 is the object A corresponding to the middle relation person 1, namely the E-business recommends the charging treasure for the object C, and shows that the banana is recommended to the object C according to the similar path <3,2,9, e >. If the e-commerce needs to recommend goods for object B at this time, toilet paper and a charger can be recommended similarly. The recommended order may be adjusted according to the path length.
Through the embodiment, the client acquires and displays the item information of the item browsed by the associated object of the target object, so that the diversity of push information can be improved, and the capability of acquiring the required item by a user is improved.
In the following, an information pushing method in this embodiment is described with reference to an optional example, where the item exchange system is an online mall and pushes item information of recommended items recommended to a target object. The information pushing method in this example may operate in a system architecture as shown in fig. 5, and as shown in fig. 5, the system may be a real-time graph computing system, including: the system comprises a number receiving and coding module, a calculation and query module and a K/V (Key/Value) storage module.
In order to perform commodity recommendation immediately according to the latest behavior of the user, as shown in fig. 6, the information push method in this example may include the following steps:
step S602, before the real-time graph computing system runs, stock graph data is constructed according to historical purchase data.
Some user and historical purchase data already exists on the e-commerce platform. The real-time graph computing system (an item recommendation system, which may perform the relational graph computation in real time by a real-time graph computation engine) may construct inventory graph data from historical purchase data prior to operation. The server or real-time graph computing system may first perform a business value numbering: the users and the commodities are numbered by natural numbers in turn, and the mapping relation between the users and the business values (corresponding to the commodities or the users) is recorded in a K/V storage of a real-time graph computing system (as shown in figure 3).
An abstract edge is then created based on the associative relationship. The association relationship may be a relationship between a user and a commodity, or a relationship similar to the relationship between the user and the user.
Abstract edges can be created according to the occurred purchasing behavior, abstract edges between users with similar relations can be created, and corresponding weight can be added to each abstract edge and is also recorded in the K/V storage (as shown in fig. 4).
By carrying out the above-mentioned service value numbering and creating abstract edges based on the association relationship, the K/V storage holds:
(1) mapping relation between numbers and service values (corresponding to users or commodities);
(2) an abstract edge corresponding to the purchase that has occurred.
And step S604, operating the real-time graph computing system, receiving the behavior data of the user, and generating a newly added edge.
All users in the online mall generate a series of browsing records, click records and any activity information are pushed into the message queue in real time. The access and coding function of the real-time graph calculation engine can receive service data in real time through the MQ, an incremental abstract edge is generated according to a rule, and the mapping relation between a service value and an abstract vertex and a newly added abstract edge are stored in a K/V storage.
In step S606, the recommendation result is calculated using the added abstract edge and stock edge.
In the calculation and query module, if the graph calculation engine is running the correlation graph algorithm, the newly added abstract edges are temporarily cached. When the next round of graph calculation is started, the newly added edges and the stock edges are used as the input of a graph-based recommendation algorithm, the shortest path length between each user and all commodities (connected commodities) can be calculated by calculating a recommendation result through a graph shortest path algorithm, and the shorter the path, the higher the probability that the user purchases the commodities, the higher the recommendation is preferentially performed.
The calculation of the recommendation results is accomplished without controlling the timing of the algorithm operation, using the real-time map calculation function of the real-time map calculation engine, i.e., the map-based recommendation algorithm is run in real time.
Step S608, after the graph computation engine completes the graph-based recommendation algorithm, the recommendation result is cached in the result set for the query module to read at any time.
After the graph computation engine completes the graph-based recommendation algorithm (shortest path algorithm), the recommendation results can be cached in a result set for the query module to read at any time. The graph calculation result set of the system has two new and old graph calculation result sets, when the graph calculation engine finishes the algorithm of the current round, the latest result is filled into the old graph calculation result set, and the new and old relationships are immediately switched, so that the latest algorithm result is read by the query module. According to the algorithm theory of shortest path, as shown in fig. 4, the latest result set will be saved: abstract results of <2 lie four, 1 piece three, 10 charger, a >, <2 lie four, 3 king five, 8 toilet paper, b >, <1 piece three, 2 lie four, 9 banana, c > and <3 king five, 1 piece three, 10 charger, d >, <3 king five, 2 lie four, 9 banana, e > (a, b, c, d, e respectively represent concrete path length values, and edges directly connected once are not taken as recommendation results).
By utilizing the real-time query function of the real-time graph calculation engine, the recommendation system can query the latest calculation result at any time without waiting for the calculation process.
Step S610, sending a list of recommended goods to the user according to the request of the user to query the recommended goods.
And if the commodities need to be recommended to the user, sending a request for inquiring the recommended commodities to the real-time graph computing system. The query service of the system firstly obtains the vertex ID corresponding to the user from the K/V, then queries the shortest path of the vertex ID in the graph calculation result set to obtain the recommended commodity, and the recommendation sequence can be adjusted according to the path length.
And according to the path, the intermediate users who recommend the item for the user can be known. For example, for result <2,1,10, a >, the commodity corresponding to 10 obtained from the vertex map of K/V is the power bank, the intermediate relation person "1" corresponds to object a, that is, the power company recommends the power bank for object C, and the similar path <3,2,9, e > indicates that the banana is recommended for object C. If the e-commerce needs to recommend goods for object B at this time, toilet paper and a charger can be recommended similarly.
By the aid of the method and the device, real-time commodity recommendation service is provided for the user according to the latest behaviors of the user, not only can commodities purchased by the associated user be recommended to the user, but also commodities browsed by the associated user just now can be recommended, and the real-time display of recommendation results can be guaranteed.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present application.
According to another aspect of the embodiments of the present application, there is provided an information pushing apparatus for implementing the information pushing method in the above embodiments. Optionally, the apparatus is used to implement the above embodiments and preferred embodiments, and details are not repeated for what has been described. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Fig. 7 is a block diagram of an alternative information pushing apparatus according to an embodiment of the present application, and as shown in fig. 7, the apparatus includes:
(1) a first receiving unit 72, configured to receive an acquisition request sent by a client of a target object, where the acquisition request is used to acquire push information pushed to the target object;
(2) a first obtaining unit 74, connected to the first receiving unit 72, configured to obtain target push information to be pushed to a target object, where the target push information includes item information of an item browsed by an associated object having an association relationship with the target object;
(3) and the first sending unit 76 is connected to the first obtaining unit 74, and is configured to send the target push information to the client, so as to display the target push information through the client.
Alternatively, the first receiving unit 72 may be used in step S202 in the foregoing embodiment, the first acquiring unit 74 may be used in step S204 in the foregoing embodiment, and the first sending unit 76 may be used to execute step S206 in the foregoing embodiment.
Through the embodiment, the mode of pushing the article information of the article browsed by the associated object to the target object is adopted, and the pushing information pushed to one user comprises the article information of the article browsed by the associated user, not only the article information of the article purchased by the associated user or the user, so that the problem of poor user experience caused by single pushed article information in the article information pushing mode in the related technology is solved, the diversity of the pushing information is improved, and the user experience is further improved.
As an alternative embodiment, the apparatus further comprises:
(1) a second acquisition unit configured to acquire initial association information before acquiring target push information to be pushed to a target object, wherein the initial association information includes information indicating a similarity relationship between a plurality of objects and information indicating an operational relationship between the plurality of objects and a plurality of first items, the plurality of first items being items operated by the plurality of objects before a target time, the plurality of objects including the target object and the associated object;
(2) the third acquiring unit is used for periodically acquiring information to be updated, wherein the information to be updated is used for representing newly-added service data in a previous period of a current period, and the newly-added service data is a target operation record of a second object operation second object in the plurality of objects;
(3) and the updating unit is used for updating the initial associated information by using the information to be updated to obtain target associated information, wherein the target associated information is used for determining target pushing information pushed to the target object.
As an alternative embodiment, in the case that the initial association information is an initial relationship diagram, the second obtaining unit includes:
(1) the system comprises a first acquisition module, a second acquisition module and a third acquisition module, wherein the first acquisition module is used for acquiring initial business data, and the initial business data are operation records of a plurality of first articles on a plurality of object operation article exchange systems before a target moment;
(2) the building module is used for building an initial relation graph according to the initial service data, wherein the initial relation graph comprises: the object management system comprises a plurality of object vertexes corresponding to a plurality of objects, a plurality of article vertexes corresponding to a plurality of first articles, a first edge between two vertexes corresponding to two objects having a similar relation, and a second edge between two vertexes corresponding to an object having an operational relation and a first article, wherein the weight of the first edge corresponds to the similar relation, and the weight of the second edge corresponds to the operational relation.
As an alternative embodiment, the third obtaining unit includes:
(1) the detection module is used for detecting that newly added service data exists in the message queue, wherein the newly added service data is a target operation record which is pushed to the message queue in real time and is generated by a second object operating a second article on the article exchange system;
(2) the determining module is used for determining a first vertex identifier and a second vertex identifier, wherein the first vertex identifier is used for identifying a vertex corresponding to the second object, and the second vertex identifier is used for identifying a vertex corresponding to the second object;
(3) and the generating module is used for generating information to be updated, wherein the information to be updated comprises a first vertex identifier, a second vertex identifier and weight information of target weight of a third edge, the third edge is an edge between a vertex corresponding to the second object and a vertex corresponding to the second object, and the target weight corresponds to the target operation record.
As an alternative embodiment, the determining module includes:
(1) a first determining submodule, configured to determine a first vertex identifier corresponding to the second object;
(2) the second determining submodule is used for determining the maximum vertex identification in the vertex identifications which exist at present under the condition that the vertex identification corresponding to the second article does not exist;
(3) and the adding submodule is used for adding the target value to the maximum vertex identification to obtain a second vertex identification corresponding to the second article.
As an optional embodiment, in the case that the target association information is a target relationship graph, the updating unit includes:
(1) the adding module is used for adding a third edge between a vertex corresponding to the second object and a vertex corresponding to the second object on the initial relationship graph to obtain a target relationship graph under the condition that an edge between the vertex corresponding to the second object and the vertex corresponding to the second object does not exist on the initial relationship graph, wherein the weight of the third edge is the target weight corresponding to the target operation record;
(2) and the updating module is used for updating the weight of the third edge to the target weight corresponding to the target operation record to obtain the target relation graph under the condition that the third edge between the vertex corresponding to the second object and the vertex corresponding to the second object exists on the initial relation graph.
As an alternative embodiment, the apparatus further comprises:
(1) the first determining unit is used for determining a pushed article vertex corresponding to a target object vertex from a target relation graph after the initial association information is updated by using the information to be updated to obtain target association information, wherein the target object vertex corresponds to a target object, the pushed article vertex corresponds to a pushed article, the pushed article is an article corresponding to article information to be pushed to the target object, the pushed article vertex is a vertex which is not connected with the target object vertex in a target article vertex set in a non-one-degree mode, and the target article vertex set is a set of a plurality of article vertices and vertices corresponding to a second article;
(2) and the second determining unit is used for determining the sequencing result of the vertexes of the plurality of pushed articles according to the length of the shortest path between the vertex of the target object and the vertexes of the plurality of pushed articles on the target relation graph under the condition that the vertexes of the pushed articles are multiple, wherein the sequencing result is used for determining the sequence of the article information of the plurality of pushed articles.
As an alternative embodiment, the apparatus further comprises: a detection unit, a second sending unit, a second receiving unit and a display unit, wherein,
(1) the device comprises a detection unit, a processing unit and a processing unit, wherein the detection unit is used for detecting a target operation executed on a client through the client of a target object before receiving an acquisition request sent by the client of the target object, and the target operation is used for triggering acquisition of push information pushed to the target object;
(2) the second sending unit is used for responding to the target operation and sending an acquisition request to the server through the client;
(3) the second receiving unit is used for receiving the target push information returned by the server through the client after the target push information is sent to the client;
(4) and the display unit is used for displaying the target push information through the client.
The detecting unit, the second transmitting unit, the second receiving unit, and the displaying unit may be located on the user equipment side.
It should be noted that, the above modules may be implemented by software or hardware, and for the latter, the following may be implemented, but not limited to: the modules are all positioned in the same processor; alternatively, the modules are respectively located in different processors in any combination.
According to yet another aspect of embodiments herein, there is provided a computer-readable storage medium. Optionally, the storage medium has a computer program stored therein, where the computer program is configured to execute the steps in any one of the methods provided in the embodiments of the present application when the computer program is executed.
Alternatively, in the present embodiment, the storage medium may be configured to store a computer program for executing the steps of:
s1, receiving an acquisition request sent by a client of a target object, wherein the acquisition request is used for acquiring push information pushed to the target object;
s2, acquiring target pushing information pushed to the target object, wherein the target pushing information comprises article information of an article browsed by an associated object having an association relation with the target object;
and S3, sending the target push information to the client to display the target push information through the client.
Optionally, in this embodiment, the storage medium may include, but is not limited to: a variety of media that can store computer programs, such as a usb disk, a ROM (Read-only Memory), a RAM (Random Access Memory), a removable hard disk, a magnetic disk, or an optical disk.
According to still another aspect of an embodiment of the present application, there is provided an electronic apparatus including: a processor (which may be the processor 102 in fig. 1) and a memory (which may be the memory 104 in fig. 1) having a computer program stored therein, the processor being configured to execute the computer program to perform the steps of any of the above methods provided in embodiments of the present application.
Optionally, the electronic apparatus may further include a transmission device (the transmission device may be the transmission device 106 in fig. 1) and an input/output device (the input/output device may be the input/output device 108 in fig. 1), wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
Optionally, in this embodiment, the processor may be configured to execute the following steps by a computer program:
s1, receiving an acquisition request sent by a client of a target object, wherein the acquisition request is used for acquiring push information pushed to the target object;
s2, acquiring target pushing information pushed to the target object, wherein the target pushing information comprises article information of an article browsed by an associated object having an association relation with the target object;
and S3, sending the target push information to the client to display the target push information through the client.
Optionally, for an optional example in this embodiment, reference may be made to the examples described in the above embodiment and optional implementation, and this embodiment is not described herein again.
It will be apparent to those skilled in the art that the modules or steps of the present application described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and alternatively, they may be implemented by program code executable by a computing device, such that they may be stored in a storage device and executed by a computing device, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the principle of the present application shall be included in the protection scope of the present application.

Claims (11)

1. An information pushing method, comprising:
receiving an acquisition request sent by a client of a target object, wherein the acquisition request is used for acquiring push information pushed to the target object;
acquiring target push information pushed to the target object, wherein the target push information comprises article information of an article browsed by an associated object having an association relation with the target object;
and sending the target push information to the client to display the target push information through the client.
2. The method of claim 1, wherein prior to the obtaining target push information for pushing to the target object, the method further comprises:
acquiring initial association information, wherein the initial association information comprises information used for representing similarity relations among a plurality of objects and information used for representing operation relations among the plurality of objects and a plurality of first articles, the plurality of first articles are articles operated by the plurality of objects before a target moment, and the plurality of objects comprise the target object and the association object;
periodically acquiring information to be updated, wherein the information to be updated is used for representing newly-added service data in a previous period of a current period, and the newly-added service data is a target operation record of a second object operation second item in the plurality of objects;
and updating the initial associated information by using the information to be updated to obtain target associated information, wherein the target associated information is used for determining the target pushing information pushed to the target object.
3. The method according to claim 2, wherein, in the case that the initial association information is an initial relationship graph, acquiring the initial association information comprises:
acquiring initial service data, wherein the initial service data are operation records of the plurality of first articles on the article exchange system operated by the plurality of objects before the target time;
constructing the initial relation graph according to the initial service data, wherein the initial relation graph comprises: the object management system comprises a plurality of object vertexes corresponding to the plurality of objects, a plurality of article vertexes corresponding to the plurality of first articles, a first edge between two vertexes corresponding to two objects with a similar relation, and a second edge between two vertexes corresponding to an object with an operation relation and a first article, wherein the weight of the first edge corresponds to the similar relation, and the weight of the second edge corresponds to the operation relation.
4. The method of claim 3, wherein periodically obtaining the information to be updated comprises:
detecting that the newly added service data exists in a message queue, wherein the newly added service data is the target operation record which is pushed to the message queue in real time and is generated when the second object operates the second article on the article exchange system;
determining a first vertex identifier and a second vertex identifier, wherein the first vertex identifier is used for identifying a vertex corresponding to the second object, and the second vertex identifier is used for identifying a vertex corresponding to the second object;
and generating the information to be updated, wherein the information to be updated comprises the first vertex identifier, the second vertex identifier and weight information of a target weight of a third edge, the third edge is an edge between a vertex corresponding to the second object and a vertex corresponding to the second object, and the target weight corresponds to the target operation record.
5. The method of claim 4, wherein determining the first vertex identification and the second vertex identification comprises:
determining the first vertex identification corresponding to the second object;
under the condition that no vertex identification corresponding to the second article exists, determining the maximum vertex identification in the vertex identifications which exist at present;
and adding a target value to the maximum vertex identification to obtain a second vertex identification corresponding to the second article.
6. The method according to claim 3, wherein, in a case that the target associated information is a target relationship graph, updating the initial associated information by using the information to be updated to obtain the target associated information comprises:
when an edge between a vertex corresponding to the second object and a vertex corresponding to the second article does not exist on the initial relationship graph, adding a third edge between the vertex corresponding to the second object and the vertex corresponding to the second article on the initial relationship graph to obtain the target relationship graph, wherein the weight of the third edge is a target weight corresponding to the target operation record;
and updating the weight of the third edge to the target weight corresponding to the target operation record to obtain the target relation graph under the condition that the third edge between the vertex corresponding to the second object and the vertex corresponding to the second object exists on the initial relation graph.
7. The method according to claim 6, wherein after updating the initial correlation information using the information to be updated to obtain the target correlation information, the method further comprises:
determining a pushed article vertex corresponding to a target object vertex from the target relationship graph, wherein the target object vertex corresponds to the target object, the pushed article vertex corresponds to a pushed article, the pushed article is an article corresponding to article information to be pushed to the target object, the pushed article vertex is a vertex which is not connected with the target object vertex in a target article vertex set, and the target article vertex set is a set of the plurality of article vertices and vertices corresponding to the second article;
and when the number of the push item vertexes is multiple, determining a sequencing result of the multiple push item vertexes according to the length of the shortest path between the target object vertex and the multiple push item vertexes on the target relation graph, wherein the sequencing result is used for determining the sequence of the item information of the multiple push items.
8. The method according to any one of claims 1 to 7,
before receiving the obtaining request sent by the client of the target object, the method further includes: detecting, by the client of the target object, a target operation executed on the client, where the target operation is used to trigger acquisition of push information pushed to the target object; responding to the target operation, and sending the acquisition request to a server through the client;
after sending the target push information to the client, the method further comprises: and receiving and displaying the target push information returned by the server through the client.
9. An information pushing apparatus, comprising:
the device comprises a first receiving unit, a second receiving unit and a third receiving unit, wherein the first receiving unit is used for receiving an acquisition request sent by a client of a target object, and the acquisition request is used for acquiring push information pushed to the target object;
a first obtaining unit, configured to obtain target push information pushed to the target object, where the target push information includes article information of an article browsed by an associated object having an association relationship with the target object;
and the first sending unit is used for sending the target push information to the client so as to display the target push information through the client.
10. A computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to carry out the method of any one of claims 1 to 8 when executed.
11. An electronic device comprising a memory and a processor, characterized in that the memory has stored therein a computer program, the processor being arranged to execute the method of any of claims 1 to 8 by means of the computer program.
CN202010240107.9A 2020-03-30 2020-03-30 Information pushing method and device, storage medium and electronic device Active CN111461826B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010240107.9A CN111461826B (en) 2020-03-30 2020-03-30 Information pushing method and device, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010240107.9A CN111461826B (en) 2020-03-30 2020-03-30 Information pushing method and device, storage medium and electronic device

Publications (2)

Publication Number Publication Date
CN111461826A true CN111461826A (en) 2020-07-28
CN111461826B CN111461826B (en) 2024-04-09

Family

ID=71679327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010240107.9A Active CN111461826B (en) 2020-03-30 2020-03-30 Information pushing method and device, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN111461826B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231590A (en) * 2020-10-15 2021-01-15 中国联合网络通信集团有限公司 Content recommendation method, system, computer device and storage medium
CN115470397A (en) * 2021-06-10 2022-12-13 腾讯科技(深圳)有限公司 Content recommendation method and device, computer equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077357A (en) * 2014-05-31 2014-10-01 浙江工商大学 User based collaborative filtering hybrid recommendation method
US20150294284A1 (en) * 2011-11-21 2015-10-15 Nant Holdings Ip, Llc Subscription Bill Service, Systems and Methods
CN107463572A (en) * 2016-06-03 2017-12-12 阿里巴巴集团控股有限公司 A kind of data handling system, method and device
US20180096417A1 (en) * 2013-03-15 2018-04-05 Commerce Signals, Inc. Graphical user interface for object discovery and mapping in open systems
US20180225695A1 (en) * 2011-11-21 2018-08-09 Nant Holdings Ip, Llc Subscription bill service, systems and methods
CN109344295A (en) * 2018-08-24 2019-02-15 阿里巴巴集团控股有限公司 Distributed figure embedding grammar, device, equipment and system
CN110827129A (en) * 2019-11-27 2020-02-21 中国联合网络通信集团有限公司 Commodity recommendation method and device
US20200074371A1 (en) * 2018-06-23 2020-03-05 Simbe Robotics, Inc. Method for managing stock within a store

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150294284A1 (en) * 2011-11-21 2015-10-15 Nant Holdings Ip, Llc Subscription Bill Service, Systems and Methods
US20180225695A1 (en) * 2011-11-21 2018-08-09 Nant Holdings Ip, Llc Subscription bill service, systems and methods
US20180096417A1 (en) * 2013-03-15 2018-04-05 Commerce Signals, Inc. Graphical user interface for object discovery and mapping in open systems
CN104077357A (en) * 2014-05-31 2014-10-01 浙江工商大学 User based collaborative filtering hybrid recommendation method
CN107463572A (en) * 2016-06-03 2017-12-12 阿里巴巴集团控股有限公司 A kind of data handling system, method and device
US20200074371A1 (en) * 2018-06-23 2020-03-05 Simbe Robotics, Inc. Method for managing stock within a store
CN109344295A (en) * 2018-08-24 2019-02-15 阿里巴巴集团控股有限公司 Distributed figure embedding grammar, device, equipment and system
CN110827129A (en) * 2019-11-27 2020-02-21 中国联合网络通信集团有限公司 Commodity recommendation method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YONGQIANG ZHANG ET AL.: "Context-Aware Commodity Recommendation Information Service in E-commerce" *
孟桓羽: "LBSN中基于并行图的协同过滤位置推荐算法研究" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231590A (en) * 2020-10-15 2021-01-15 中国联合网络通信集团有限公司 Content recommendation method, system, computer device and storage medium
CN112231590B (en) * 2020-10-15 2023-06-27 中国联合网络通信集团有限公司 Content recommendation method, system, computer device and storage medium
CN115470397A (en) * 2021-06-10 2022-12-13 腾讯科技(深圳)有限公司 Content recommendation method and device, computer equipment and storage medium
CN115470397B (en) * 2021-06-10 2024-04-05 腾讯科技(深圳)有限公司 Content recommendation method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN111461826B (en) 2024-04-09

Similar Documents

Publication Publication Date Title
CN105701216B (en) A kind of information-pushing method and device
CN108280115B (en) Method and device for identifying user relationship
CN111079015B (en) Recommendation method and device, computer equipment and storage medium
US20130110915A1 (en) Correlated information recommendation
CN103559636A (en) Restaurant management system based on cloud computing and intelligent analysis
US9489638B2 (en) Method and apparatus for propagating user preference information in a communications network
CN111008335B (en) Information processing method, device, equipment and storage medium
US20130110754A1 (en) Factor-graph based matching systems and methods
CN110570279A (en) Strategic recommendation method and device based on real-time user behavior
CN111461826A (en) Information pushing method and device, storage medium and electronic device
Mashal et al. Analysis of recommendation algorithms for Internet of Things
CN110191183A (en) Accurate intelligent method for pushing, system, device and computer readable storage medium
CN111340522B (en) Resource recommendation method, device, server and storage medium
CN110399564B (en) Account classification method and device, storage medium and electronic device
CN110427574B (en) Route similarity determination method, device, equipment and medium
CN111652451B (en) Social relationship obtaining method and device and storage medium
US8825698B1 (en) Showing prominent users for information retrieval requests
Özsoy et al. Multi-objective optimization based location and social network aware recommendation
CN113554400A (en) Inventory data updating method, device, equipment and storage medium
Becchetti et al. Recommending items in pervasive scenarios: models and experimental analysis
CN116485503A (en) Commodity combination recommendation method, device, equipment and medium thereof
CN115423555A (en) Commodity recommendation method and device, electronic equipment and storage medium
US20170031918A1 (en) Techniques for graph-based recommendations
CN115222483A (en) Financial product recommendation method and device, electronic equipment and storage medium
CN110347923B (en) Traceable fast fission type user portrait construction method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

GR01 Patent grant