Information push method and device

By extracting preference attributes from user conversation information and using knowledge graphs to generate conversation paths, the consistency and targeting issues of information push in existing technologies are solved, and the training efficiency of the strategy prediction model is improved.

CN114119123BActive Publication Date: 2025-09-19BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110263534.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-11
Publication Date
2025-09-19
Estimated Expiration
2041-03-11

AI Technical Summary

Technical Problem

Existing product recommendation systems find it difficult to effectively utilize user conversation information to improve the consistency and pertinence of information push in conversational recommendations, and the training efficiency of strategy prediction models is low.

Method used

By extracting preference attributes from user conversation information, using the pre-built knowledge graph to generate conversation paths, determining candidate attributes and product sets, and using the pre-trained strategy prediction model to predict push strategies, the action categories are reduced to asking attributes or pushing products, and information is generated and pushed.

Benefits of technology

It improves the consistency and pertinence of information push, reduces the dimensionality of the candidate attribute space, and improves the training efficiency of the strategy prediction model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114119123B_ABST
    Figure CN114119123B_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure disclose a method and apparatus for information push. A specific implementation of the method includes: extracting user preference attributes from user conversation information in the current conversation scenario; determining valid attribute nodes corresponding to the preference attributes in a pre-constructed knowledge graph; arranging each valid attribute node according to the conversation time sequence to generate a conversation path; determining a candidate attribute set and a candidate product set based on the conversation path, wherein the candidate attribute set only includes adjacent attributes of the valid attribute node at the end of the conversation path, and the candidate product set includes product information represented by the product nodes connected to each valid attribute node; using a pre-trained strategy prediction model to predict the current push strategy based on the current state vector; based on the current push strategy, determining the object to be pushed from the candidate attribute set or the candidate product set, generating the information to be pushed based on the object to be pushed; and pushing the information to be pushed. This improves the pertinence and efficiency of the pushed information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of computer technology, specifically to the field of artificial intelligence, and more particularly to a method and apparatus for information push. Background Art

[0002] In the e-commerce field, product recommendation systems can recommend products to users based on their product preferences, which plays an important role in improving sales conversion rates.

[0003] There are two main types of product recommendation systems currently in use: one is the traditional recommendation model, which can determine user preferences based on historical user behavior (such as browsing, clicking, and ordering records) and proactively recommend products to users; the other is a conversational recommendation system, which can interact with users through natural language, extract user preferences from conversation information, and then recommend products to users.

[0004] In related technologies, a conversational recommendation system maps all user preferences obtained from a conversation into a vector space, then uses all attributes related to the user preferences as candidate attributes, and determines the recommended attributes from the candidate attributes. Summary of the Invention

[0005] The embodiments of the present disclosure provide a method and apparatus for information push.

[0006] In a first aspect, an embodiment of the present disclosure provides a method for information push, the method comprising: extracting a user's preference attributes for a product from user conversation information in a current conversation scenario; determining, in a pre-constructed knowledge graph, a valid attribute node corresponding to the preference attribute, the knowledge graph comprising attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, the edges representing the association between the product nodes and the attribute nodes; arranging each valid attribute node according to the conversation sequence to generate a conversation path; determining a candidate attribute set and a candidate product set based on the conversation path, wherein the candidate attribute set only includes adjacent attributes of the valid attribute node at the end of the conversation path in the knowledge graph, and the candidate product set includes product information represented by the product nodes connected to each valid attribute node; using a pre-trained strategy prediction model, predicting a current push strategy based on a current state vector, the current state vector being generated based on the conversation record in the current conversation scenario, the current push strategy representing pushing an inquiry attribute message or pushing product information; determining a current object to be pushed from the candidate attribute set or the candidate product set based on the push strategy, and generating information to be pushed based on the object to be pushed; and pushing the current information to be pushed.

[0007] In some embodiments, the current object to be pushed is determined through the following steps: based on the user embedding vector, the embedding vector of each product information in the candidate product set and the embedding vector of the attribute information represented by each valid attribute node, the recommendation score of each product information in the candidate product set is determined, wherein the user embedding vector is generated based on the user portrait; based on the recommendation score of each product information in the candidate product set and the embedding vector of each attribute information in the candidate attribute set, the recommendation score of each attribute information in the candidate attribute set is determined; and, if the push strategy is to push query attribute messages, the attribute information with the highest recommendation score in the candidate attribute set is determined as the current object to be pushed; if the current push strategy is to push product information, the product information with the highest recommendation score in the candidate product set is determined as the current object to be pushed.

[0008] In some embodiments, the method further includes: in response to the user's feedback information regarding the query attribute information being rejection, deleting the attribute in the query attribute information from the candidate attribute set.

[0009] In some embodiments, the method further includes: in response to a user's feedback information regarding the pushed product information being a rejection, deleting the product information from the candidate product set.

[0010] In some embodiments, extracting a user's preferred attributes for a product from user conversation information in a current conversation scenario includes: in response to an instruction requesting to open a conversation scenario, opening the current conversation scenario, and obtaining user conversation information in the current conversation scenario in real time; and, in response to information in which the user actively confirms product attributes, determining the product attributes in the information as preferred attributes; and in response to determining that the user's feedback information regarding the query attribute information is acceptance, determining the attributes in the query attribute information as preferred attributes.

[0011] In some embodiments, a conversation path is generated through the following steps: in response to the user confirming the product attribute information for the first time, determining the product attribute indicated by the information as the initial preference attribute; determining the attribute node corresponding to the initial preference attribute in the knowledge graph as the initial node of the conversation path; taking the initial node as the starting point, arranging each attribute node according to the conversation sequence to obtain the conversation path.

[0012] In some embodiments, the current state vector is generated based on the following steps: extracting user feedback information regarding each pushed query attribute information from the conversation record, and encoding the results of each feedback information according to a preset strategy; arranging the encoded results of each feedback information according to the conversation time sequence to obtain a first sub-vector; determining the number of product information in the candidate product set corresponding to each valid attribute node in the conversation path, and arranging the number of product information in each candidate product set according to the conversation time sequence to obtain a second sub-vector; and concatenating the first sub-vector and the second sub-vector to obtain the current state vector.

[0013] In a second aspect, an embodiment of the present disclosure provides an information push device, which includes: a preference extraction unit, configured to extract the user's preference attributes for products from the user conversation information in the current conversation scene; an attribute mapping unit, configured to determine the valid attribute nodes corresponding to the preference attributes in a pre-built knowledge graph, the knowledge graph including attribute nodes, product nodes and edges connecting attribute nodes and product nodes, the edges representing the association relationship between product nodes and attribute nodes; a path generation unit, configured to arrange each valid attribute node according to the conversation time sequence to generate a conversation path; a path parsing unit, configured to determine a candidate attribute set and a candidate product set based on the conversation path, wherein the candidate attributes The attribute set only includes the adjacent attributes of the valid attribute node at the end of the dialogue path in the knowledge graph, and the candidate product set includes the product information represented by the product nodes connected to each valid attribute node; the strategy prediction unit is configured to use a pre-trained strategy prediction model to predict the current push strategy based on the current state vector. The current state vector is generated based on the dialogue record in the current dialogue scene. The current push strategy represents pushing the query attribute message or pushing product information to the user at the current moment; the information generation unit is configured to determine the object to be pushed from the candidate attribute set or the candidate product set based on the push strategy, and generate the information to be pushed based on the object to be pushed; the information push unit is configured to push the information to be pushed.

[0014] In some embodiments, the information generation unit includes an object determination module, which is configured to: determine the recommendation score of each product information in the candidate product set based on the user embedding vector, the embedding vector of each product information in the candidate product set, and the embedding vector of the attribute information represented by each valid attribute node, wherein the user embedding vector is generated based on the user portrait; determine the recommendation score of each attribute information in the candidate attribute set based on the recommendation score of each product information in the candidate product set and the embedding vector of each attribute information in the candidate attribute set; and, if the push strategy is to push query attribute messages, determine the attribute information with the highest recommendation score in the candidate attribute set as the current object to be pushed; if the push strategy is to push product information, determine the product information with the highest recommendation score in the candidate product set as the current object to be pushed.

[0015] In some embodiments, the apparatus further includes a candidate attribute updating unit configured to: in response to user feedback information regarding the query attribute information being rejection, delete the attribute in the query attribute information from the candidate attribute set.

[0016] In some embodiments, the apparatus further includes a candidate product updating unit configured to: in response to a user's feedback information of rejection regarding the pushed product information, delete the product information from the candidate product set.

[0017] In some embodiments, the preference extraction unit further includes: an information acquisition module, configured to respond to an instruction requesting to start a conversation scene, start the current conversation scene, and obtain user conversation information in the current conversation scene in real time; an attribute determination module, configured to: respond to information on the user's active confirmation of product attributes, determine the product attributes in the information as preference attributes; respond to information on the user's active confirmation of product attributes, determine the product attributes in the information as preference attributes; respond to determining that the user's feedback information on the inquiry attribute information is acceptance, determine the attributes in the inquiry attribute information as preference attributes.

[0018] In some embodiments, the path generation unit further includes: an initial attribute determination module, configured to determine the product attribute indicated by the information as the initial preference attribute in response to the user's first confirmation of the product attribute; an initial node determination module, configured to determine the attribute node corresponding to the initial preference attribute in the knowledge graph as the initial node of the dialogue path; and a path generation module, configured to take the initial node as the starting point, arrange each attribute node according to the dialogue sequence, and obtain the dialogue path.

[0019] In some embodiments, the device also includes a state vector generation unit, which is configured to: extract user feedback information for each pushed query attribute information from the conversation record, and encode the results of each feedback information according to a preset strategy; arrange the encoded results of each feedback information according to the conversation time sequence to obtain a first sub-vector; determine the number of product information in the candidate product set corresponding to each valid attribute node in the conversation path, and arrange the number of product information in each candidate product set according to the conversation time sequence to obtain a second sub-vector; concatenate the first sub-vector and the second sub-vector to obtain the current state vector.

[0020] In a third aspect, an embodiment of the present disclosure provides an electronic device comprising: one or more processors; a storage device storing one or more programs, wherein when the one or more programs are executed by one or more processors, the one or more processors implement the method in any of the above embodiments.

[0021] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method in any of the above embodiments is implemented.

[0022] The information push method and apparatus provided by the embodiments of the present disclosure extract user preference attributes from their conversation information and map them to attribute nodes in a knowledge graph. A conversation path is then generated based on the conversation sequence and each attribute node. The adjacent attributes of the attribute node at the end of the conversation path are identified as candidate attributes. This method improves the coherence of information pushed to users and effectively reduces the dimensionality of the candidate attribute space, thereby increasing the relevance and efficiency of information push. Furthermore, by reducing the action categories of the policy prediction model to two, the training efficiency of the policy prediction model can be effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0024] Figure 1 is an exemplary system architecture diagram in which some embodiments of the present disclosure may be applied;

[0025] Figure 2 is a flowchart of an embodiment of a method for information push according to the present disclosure;

[0026] Figure 3(a) and Figure 3(b) are Figure 2 Schematic diagrams of some scenarios of the information push method shown;

[0027] Figure 4 is a flowchart of a method for determining an object to be pushed in one embodiment of the information push method disclosed herein;

[0028] Figure 5 is a structural diagram of an embodiment of an apparatus for information push according to the present disclosure;

[0029] Figure 6 It is a schematic structural diagram of an electronic device suitable for implementing the embodiments of the present disclosure. DETAILED DESCRIPTION

[0030] The present disclosure will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are intended only to illustrate the relevant invention and are not intended to limit the invention. It should also be noted that, for ease of description, only portions relevant to the relevant invention are shown in the accompanying drawings.

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

[0032] Figure 1An exemplary system architecture 100 is shown to which the information push method or apparatus according to an embodiment of the present disclosure may be applied.

[0033] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is a medium for providing communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables.

[0034] Users can use terminal devices 101, 102, 103 to push through network 104 and server 105 to receive or send messages, etc. For example, user preference information for products can be sent to the server, and push information can also be received from the server, such as query attribute information or product information.

[0035] Terminal devices 101, 102, 103 can be hardware or software. When terminal devices 101, 102, 103 are hardware, they can be electronic devices with communication functions, including but not limited to smart phones, tablet computers, e-book readers, laptop computers and desktop computers, etc. When terminal devices 101, 102, 103 are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software or software modules for providing distributed services, or as a single software or software module. For example, the client of an e-commerce platform, the user can communicate with the server 105 through the client of the e-commerce platform. This is not specifically limited in this disclosure.

[0036] Server 105 may be a server that provides various services, such as a backend data server that processes user conversation information data uploaded by terminal devices 101, 102, and 103 (e.g., to determine user preferences). The backend data server may analyze and identify the received user conversation information data and provide feedback (e.g., generated push information) to the terminal device.

[0037] It should be noted that the information push method provided in the embodiments of the present disclosure may be executed by the server 105. Accordingly, the information push device may be provided in the server 105.

[0038] It should be noted that the server can be either hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software programs or software modules, for example, to provide distributed services, or as a single software program or software module. This is not specifically limited here.

[0039] Continue to refer Figure 2 , shows a process 200 of an embodiment of a method for information push according to the present disclosure. The method for information push includes the following steps:

[0040] Step 201: extract the user's preference attributes for products from the user conversation information in the current conversation scene.

[0041] In this embodiment, the user's preference attributes for the product represent the user's expected parameters for the product. Figure 1 After the server (shown in ) receives the conversation information sent by the user, it can use semantic analysis or keyword extraction algorithm to extract the user's preference attributes for the product from the user conversation information.

[0042] In a specific application scenario, users can use a terminal (such as Figure 1 The client of the e-commerce platform installed on the smartphone (as shown in the figure) interacts with the execution entity (the cloud of the e-commerce platform). For example, if a user sends the message "I want to buy a basketball equipment" to the execution entity through the terminal, the execution entity can determine that the user's preference attribute is "basketball".

[0043] In some further implementations of this embodiment, the user's preference attributes for the product are extracted from the user conversation information in the current conversation scene, including: responding to an instruction requesting to open a conversation scene, opening the current conversation scene, and obtaining the user conversation information in the current conversation scene in real time; responding to information in which the user actively confirms the product attributes, determining the product attributes in the information as preference attributes; if the latest pushed information is inquiry attribute information and the user's feedback information for the information is confirmation, determining the attributes in the inquiry attribute information as preference attributes.

[0044] In this implementation, when the execution entity receives an instruction from the user requesting to start a conversation scene (for example, it may be the first message sent by the user), the execution entity obtains the user's conversation information in real time to extract the user's preference attributes for the product.

[0045] Typically, a conversation scenario includes multiple rounds of conversations, and user conversation information includes information about the user's active confirmation of product attributes and feedback from the user in each round of conversation regarding the pushed information. A conversation round occurs when the executing entity pushes information to the user once and receives feedback from the user regarding the information. For example, at a certain moment, the executing entity pushes the message "Do you like white?" to the user, and the user's reply to the message is the feedback information. For example, if the user replies "yes," it means that the user accepts the feedback information regarding the information, and "white" can be determined as the user's preferred attribute. If the user replies "no," it means that the user rejects the feedback information regarding the information, and "white" should not be considered as the user's preferred attribute.

[0046] Step 202: Determine the valid attribute nodes corresponding to the preferred attributes in the pre-built knowledge graph.

[0047] In this embodiment, the knowledge graph includes attribute nodes, product nodes, and edges connecting attribute nodes and product nodes, with edges representing the association between product nodes and attribute nodes. The knowledge graph is used to represent the association between products and attributes. It can be pre-built based on the raw data provided by the business party and stored in the execution entity. As an example, the execution entity can accept the raw data provided by the business party, then extract product information, attribute information, and the association between the two from the raw data. The execution entity can then use the product information as a product node and the attribute information as an attribute node. Finally, the nodes corresponding to the associated product information and attribute information can be connected with edges.

[0048] In this embodiment, the valid attribute node represents the attribute node corresponding to the preference attribute confirmed by the user in the knowledge graph. For example, it can be the preference attribute actively confirmed by the user, or it can be the preference attribute accepted by the user during the conversation process.

[0049] Step 203: Arrange the valid attribute nodes according to the dialogue time sequence to generate a dialogue path.

[0050] In this embodiment, each valid attribute node in the conversation path represents the user's confirmed preference attributes in the current conversation scenario, according to the conversation sequence. This represents the process by which the execution entity gradually acquires the user's desired product parameters. As the number of conversation turns increases, the execution entity can continuously acquire new preference attributes from user information through steps 202 and 203, thereby continuously updating the conversation path.

[0051] It can be understood that when the execution subject obtains enough preference attributes, the product desired by the user can be determined according to each preference attribute.

[0052] In some further implementations of this embodiment, the dialogue path is generated through the following steps: in response to the user's first confirmation of the product attributes, the product attributes indicated by the information are determined as the initial preference attributes; the attribute node corresponding to the initial preference attributes in the knowledge graph is determined as the initial node of the dialogue path; with the initial node as the starting point, each attribute node is arranged according to the dialogue time sequence to obtain the dialogue path.

[0053] Step 204: Determine a candidate attribute set and a candidate product set based on the dialogue path.

[0054] In this embodiment, the candidate attribute set includes only the adjacent attributes of the valid attribute node at the end of the conversation path in the knowledge graph, and the candidate product set includes the product information represented by the product nodes connected to each valid attribute node. The valid attribute node at the end of the conversation path represents the user's most recently determined preference attribute for the product by the executing entity.

[0055] If there is only one product node between two attribute nodes, the attribute information represented by these two attribute nodes is adjacent attributes.

[0056] As an example, the knowledge graph includes attribute nodes: A, B, C, and D. The commodity nodes connected to A are A1, A2, and A3, the commodity nodes connected to B are B1 and B2, the commodity nodes connected to C are A3 and B1, and the commodity nodes connected to D are A1 and B2. If the dialogue path obtained by the execution subject based on step 203 is: ACD, then the commodity nodes connected to node D are A1 and B2, and the attribute nodes directly connected to A1 and B2 are A and B, then the execution subject can determine that the candidate attribute set at the current moment includes the attribute information represented by nodes A and B, wherein the commodity nodes A1 and A3 are included between node D and node C, and therefore the attribute represented by node C is not an adjacent attribute of node D. The candidate commodity set includes a collection of commodity information represented by the commodity nodes connected to nodes A, C, and D, respectively, specifically including commodities A1, A2, A3, B1, and B2.

[0057] Step 205: Use the pre-trained strategy prediction model to predict the current push strategy based on the current state vector.

[0058] In this embodiment, the current state vector is generated based on the conversation log in the current conversation scenario. The current push strategy represents the push of query attribute messages or product information. The strategy prediction model represents the correspondence between the current state vector and the push strategy. The current state vector can represent all information related to the push strategy at the current moment, such as the global conversation log, attribute information in the candidate attribute set, or product information in the candidate product set.

[0059] As an example, a reinforcement learning model can be used as a policy prediction model. Based on the state at the previous moment, it predicts the current action (push policy). The execution entity then pushes information to the user based on the predicted push policy and receives user feedback. The execution entity then updates the state of the reinforcement learning model based on the user feedback, and the reinforcement learning model predicts the next action (push policy) based on the updated state. In this way, the push policy for each round of conversation can be determined based on user conversation information.

[0060] In related technologies, reinforcement learning models are used to directly predict the objects to be pushed. During the decision-making phase, the number of action categories in the reinforcement learning model is greater than the sum of the number of candidate product information and candidate attribute information. The strategy prediction model in this embodiment reduces the number of action categories to two (pushing information about query attributes and pushing product information). This speeds up the model's convergence and significantly improves training efficiency.

[0061] In some optional implementations of this embodiment, the current state vector is generated based on the following steps: extracting user feedback information regarding each pushed query attribute information from the conversation record, and encoding the results of each feedback information according to a preset strategy; arranging the encoded results of each feedback information according to the conversation time sequence to obtain a first sub-vector; determining the number of product information in the candidate product set corresponding to each valid attribute node in the conversation path, and arranging the number of product information in each candidate product set according to the conversation time sequence to obtain a second sub-vector; and concatenating the first sub-vector and the second sub-vector to obtain the current state vector.

[0062] In this implementation, the first sub-vector represents the user's feedback on the pushed attribute information. For example, attribute information accepted by the user can be coded as 1, and attribute information rejected by the user can be coded as 0. By arranging the numbers according to the time sequence of the attribute information, a first sub-vector consisting of 1s and 0s can be obtained. In this way, the execution entity can determine the push strategy for the current moment based on the first sub-vector. For example, if the number of 1s in the first sub-vector is small, the attribute-inquiring information should continue to be pushed to the user; if the number of 1s in the first sub-vector is large, product information can be pushed to the user.

[0063] For example, consider a conversation path with attribute nodes ACD. Node A corresponds to 3 product information in the candidate set, 2 product information in the candidate set, and 5 product information in the candidate set corresponding to node D. The second subvector obtained by the execution entity is (3, 2, 5). This allows us to estimate the probability of a user accepting a pushed product based on the number of candidate products.

[0064] In this implementation, the current state vector obtained by connecting the first sub-vector and the second sub-vector in series helps to improve the accuracy of the policy prediction model in predicting the push policy.

[0065] Step 206 : Based on the push strategy, determine the current object to be pushed from the candidate attribute set or the candidate product set, and generate information to be pushed based on the object to be pushed.

[0066] In this embodiment, the execution entity may determine whether to inquire about attributes or push product information to the user based on the push strategy predicted in step 205 .

[0067] For example, if the push strategy is to push information about query attributes, the execution entity can randomly select an attribute from the candidate attribute set as the target to be pushed. If the push strategy is to push product information, the execution entity can randomly select a product from the candidate product set as the target to be pushed. The target is then used as a keyword and a preset text generation algorithm is used to generate the information to be pushed.

[0068] Step 207: Push the current information to be pushed.

[0069] Continuing to refer to FIG3 (a) and FIG3 (b), FIG3 (a) and FIG3 (b) are as follows Figure 2 Schematic diagrams of some scenarios for the information push method shown. In the interactive scenario shown in Figure 3(a), the execution entity 301 can be the cloud server of the e-commerce platform. The terminal device 302 can be the user's smartphone. The user can interact with the execution entity through the e-commerce platform client installed on the smartphone, for example, sending the message "I want to buy basketball equipment" to the execution entity and responding with "yes" in response to the pushed information. The execution entity extracts the user's preferred attributes for products from the received user information, such as "basketball" and "white". Figure 3(b) shows a schematic diagram of mapping user preferences to attribute nodes in the knowledge graph and generating a conversation path. The execution entity extracts the preferred attributes "Brand A", "170cm", and "white" from the conversation 303 between the user and the execution entity. The preferred attributes are then mapped to the knowledge graph 304, resulting in valid attribute nodes "Brand A", "Medium", and "White". The resulting conversation path is "Brand A" - "Medium" - "White". Next, the execution entity determines a candidate attribute set (e.g., including attribute A and attribute B) and a candidate product set (e.g., including product information A and product information B) based on the conversation path. It then uses the policy prediction model to predict the current push policy. For example, if the current push policy is to push product information, the execution entity identifies product information A from the candidate product set as the target to be pushed and generates the push message "Recommending a medium-sized white basketball jersey." The execution entity then sends this message to the smartphone.

[0070] The information push method and device provided by the embodiments of the present disclosure extract the user's preference attributes from the user's conversation information, and map the user's preference attributes to attribute nodes in the knowledge graph. Then, a conversation path is generated based on the conversation sequence and each attribute node, and the adjacent attributes of the attribute node at the end of the conversation path are determined as candidate attributes. This can not only improve the coherence of information pushed to the user, but also effectively reduce the dimension of the candidate attribute space, thereby improving the pertinence and efficiency of the pushed information, and reducing the action categories of the strategy prediction model to two, which can effectively improve the training efficiency of the strategy prediction model.

[0071] In some optional implementations of the above embodiment, the method may further include: in response to the user's feedback information regarding the query attribute information being a rejection, deleting the attribute in the query attribute information from the candidate attribute set.

[0072] It is understandable that different attribute nodes may have the same adjacent attributes. If one of the adjacent attributes has been rejected by the user, the attribute information will be deleted from the candidate attribute set. On the one hand, this can avoid pushing the attribute information again, and on the other hand, it can reduce the number of candidate attribute information, thereby further reducing the amount of computation.

[0073] In some optional implementations of the above embodiment, the method may further include: in response to a user's feedback information regarding a pushed product information being a rejection, deleting the product information from the candidate product set. This can reduce the number of candidate product information, thereby further reducing the computational complexity.

[0074] Next reference Figure 4 , which shows a process 400 of determining an object to be pushed in one embodiment of a method for information push. The process 400 includes the following steps:

[0075] Step 401 : Determine a recommendation score for each product information in the candidate product set based on the user embedding vector, the embedding vector of each product information in the candidate product set, and the embedding vector of the attribute information represented by each valid attribute node.

[0076] In this embodiment, the user embedding vector is generated based on the user portrait and is used to represent the user's feature information, for example, it may include the user's height, weight, occupation, interests, etc.

[0077] As an example, the execution entity may use the following formulas (1) and (2) to determine the recommendation score of each product information in the candidate product set.

[0078] (1)

[0079] (2)

[0080] in, Sv It indicates the candidate product v The recommended score, Pu Represents a valid attribute node. u represents the user's embedding vector, v Indicates candidate products v The embedding vector of p Indicates attribute information p The embedding vector of .

[0081] Step 402 : Determine the recommendation score of each attribute information in the candidate attribute set based on the recommendation score of each product information in the candidate product set and the embedding vector of each attribute information in the candidate attribute set.

[0082] In this embodiment, the execution subject can determine the recommendation score of each attribute information in the candidate attribute set based on the embedding vector of each attribute information in the candidate attribute set and the recommendation score of each product information in the candidate product set obtained in step 401. As an example, the execution subject can obtain the recommendation score of each attribute information in the candidate attribute set through formula (3), formula (4) and formula (5).

[0083] (1)

[0084] (2)

[0085] (3)

[0086] in, σ Indicates the recommendation score of product information Sv Normalized to the Sigmoid function between 0 and 1, Vcand represents the candidate attribute set, Vp Indicates that attribute information is included p product information.

[0087] Step 403: If the push strategy is to push the query attribute message, the attribute information with the highest recommendation score in the candidate attribute set is determined as the current object to be pushed.

[0088] Step 404: If the current push strategy is to push product information, the product information with the highest recommendation score in the candidate product set is determined as the current object to be pushed.

[0089] In some optional implementations of this embodiment, the execution entity can select a preset number of product information with the highest recommendation scores from the candidate products as the current objects to be pushed, and then push multiple product information to the user at one time, or push each product information in order of recommendation scores from high to low.

[0090] from Figure 4 As can be seen, process 400 for determining the objects to be pushed in this embodiment highlights the steps of determining the recommendation scores of each candidate product information and each candidate attribute information based on the product information in the candidate product set and the attribute information in the candidate attribute set, and then determining the current object to be pushed based on the recommendation scores. Because the recommendation scores of the product information and the attribute information are interdependent, the targeted nature of the objects to be pushed is improved, thereby improving the accuracy of information push.

[0091] Some optional implementations of this embodiment determine the user's community affiliation information based on a voting mechanism, which can reduce the generalization error of the topic model. Both of these contribute to improving the accuracy of determining the user's community information.

[0092] Further references Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of an information push device, which is similar to Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.

[0093] like Figure 5 As shown, the information push device 500 of this embodiment includes: a preference extraction unit 501, which is configured to extract the user's preference attributes for products from the user conversation information in the current conversation scene; an attribute mapping unit 502, which is configured to determine the valid attribute nodes corresponding to the preference attributes in the pre-built knowledge graph, and the knowledge graph includes attribute nodes, product nodes and edges connecting attribute nodes and product nodes, and the edges represent the association relationship between product nodes and attribute nodes; a path generation unit 503, which is configured to arrange each valid attribute node according to the conversation time sequence and generate a conversation path; a path parsing unit 504, which is configured to determine the candidate attribute set and the candidate product set based on the conversation path, wherein the candidate attribute set only Including the adjacent attributes of the valid attribute node at the end of the dialogue path in the knowledge graph, the candidate product set includes the product information represented by the product nodes connected to each valid attribute node; the strategy prediction unit 505 is configured to use a pre-trained strategy prediction model to predict the current push strategy based on the current state vector, the current state vector is generated based on the dialogue record in the current dialogue scene, and the current push strategy represents pushing the query attribute message or pushing product information to the user at the current moment; the information generation unit 506 is configured to determine the object to be pushed from the candidate attribute set or the candidate product set based on the push strategy, and generate the information to be pushed based on the object to be pushed; the information push unit 507 is configured to push the information to be pushed.

[0094] In this embodiment, the information generation unit 506 includes an object determination module, which is configured to: determine the recommendation score of each product information in the candidate product set based on the user embedding vector, the embedding vector of each product information in the candidate product set, and the embedding vector of the attribute information represented by each valid attribute node, wherein the user embedding vector is generated based on the user portrait; determine the recommendation score of each attribute information in the candidate attribute set based on the recommendation score of each product information in the candidate product set and the embedding vector of each attribute information in the candidate attribute set; and, if the push strategy is to push the query attribute message, determine the attribute information with the highest recommendation score in the candidate attribute set as the current object to be pushed; if the push strategy is to push product information, determine the product information with the highest recommendation score in the candidate product set as the current object to be pushed.

[0095] In this embodiment, the apparatus 500 further includes a candidate attribute updating unit configured to: in response to a user's feedback information regarding the query attribute information being a rejection, delete the attribute in the query attribute information from the candidate attribute set.

[0096] In this embodiment, the apparatus 500 further includes a candidate product updating unit configured to: in response to a user's feedback information of rejection regarding the pushed product information, delete the product information from the candidate product set.

[0097] In this embodiment, the preference extraction unit 501 further includes: an information acquisition module, configured to respond to an instruction requesting to start a conversation scene, start the current conversation scene, and obtain user conversation information in the current conversation scene in real time; an attribute determination module, configured to: respond to information on the user's active confirmation of product attributes, determine the product attributes in the information as preference attributes; respond to information on the user's active confirmation of product attributes, determine the product attributes in the information as preference attributes; respond to determining that the user's feedback information on the query attribute information is acceptance, determine the attributes in the query attribute information as preference attributes.

[0098] In this embodiment, the path generation unit 503 further includes: an initial attribute determination module, configured to, in response to the user's first confirmation of the product attribute information, determine the product attribute indicated by the information as the initial preference attribute; an initial node determination module, configured to determine the attribute node corresponding to the initial preference attribute in the knowledge graph as the initial node of the dialogue path; and a path generation module, configured to take the initial node as the starting point, arrange each attribute node according to the dialogue sequence, and obtain the dialogue path.

[0099] In this embodiment, the device 500 also includes a state vector generation unit, which is configured to: extract user feedback information regarding each pushed query attribute information from the conversation record, and encode the results of each feedback information according to a preset strategy; arrange the encoded results of each feedback information according to the conversation time sequence to obtain a first sub-vector; determine the number of product information in the candidate product set corresponding to each valid attribute node in the conversation path, and arrange the number of product information in each candidate product set according to the conversation time sequence to obtain a second sub-vector; and concatenate the first sub-vector and the second sub-vector to obtain the current state vector.

[0100] Reference below Figure 6 , which shows an electronic device (eg, Figure 1 The terminal device in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), and tablet computers, as well as fixed terminals such as digital TVs and desktop computers. Figure 6 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0101] like Figure 6 As shown, electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 602 or programs loaded from a storage device 608 into a random access memory (RAM) 603. RAM 603 also stores various programs and data required for the operation of electronic device 600. Processing device 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to bus 604.

[0102] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Figure 6 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead. Figure 6 Each block shown in the figure may represent one device, or may represent multiple devices as needed.

[0103] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed. It should be noted that the computer-readable medium described in the embodiment of the present disclosure can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program for use by or in conjunction with an instruction execution system, apparatus, or device. Furthermore, in embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such a propagated data signal may take various forms, including, but not limited to, an electromagnetic signal, an optical signal, or any suitable combination of the foregoing. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wire, optical cable, RF (radio frequency), etc., or any suitable combination thereof.

[0104] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: extracts the user's preference attributes for products from the user conversation information in the current conversation scenario; determines the valid attribute nodes corresponding to the preference attributes in a pre-constructed knowledge graph, where the knowledge graph includes attribute nodes, product nodes, and edges connecting attribute nodes and product nodes, where the edges represent the association between product nodes and attribute nodes; arranges each valid attribute node according to the conversation time sequence to generate a conversation path; determines a candidate attribute set and a candidate product set based on the conversation path, where the candidate attribute set only includes the adjacent attributes of the valid attribute node at the end of the conversation path in the knowledge graph, and the candidate product set includes product information represented by the product nodes connected by each valid attribute node; uses a pre-trained strategy prediction model to predict the current push strategy based on the current state vector, where the current state vector is generated based on the conversation record in the current conversation scenario, and the current push strategy represents pushing query attribute messages or pushing product information; determines the current object to be pushed from the candidate attribute set or the candidate product set based on the push strategy, and generates information to be pushed based on the object to be pushed; and pushes the current information to be pushed.

[0105] Computer program code for performing the operations of embodiments of the present disclosure may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0106] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0107] The units involved in the embodiments described in the present disclosure may be implemented by software or by hardware. The described units may also be provided in a processor. For example, they may be described as follows: a processor including a preference extraction unit, an attribute mapping unit, a path generation unit, a path parsing unit, a strategy prediction unit, an information generation unit, and an information push unit. The names of these units do not, in some cases, constitute limitations on the units themselves. For example, the preference extraction unit may also be described as a "unit that extracts the user's preference attributes for a product from the user conversation information in the current conversation scenario."

[0108] The above description is merely an illustration of the preferred embodiments of the present disclosure and the technical principles employed. Those skilled in the art should understand that the scope of the invention encompassed by the embodiments of the present disclosure is not limited to technical solutions formed by specific combinations of the aforementioned technical features. It also encompasses other technical solutions formed by any combination of the aforementioned technical features or their equivalents, without departing from the aforementioned inventive concept. For example, a technical solution formed by replacing the aforementioned features with (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure.

Claims

1. A method for information push, wherein: include: Extract the user's preference attributes for products from the user conversation information in the current conversation scene; Determining a valid attribute node corresponding to the preferred attribute in a pre-constructed knowledge graph, wherein the knowledge graph includes attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, wherein the edges represent associations between the product nodes and the attribute nodes; Arrange the valid attribute nodes according to the dialogue time sequence to generate a dialogue path; Determine a candidate attribute set and a candidate product set based on the dialogue path, wherein the candidate attribute set includes only adjacent attributes of the valid attribute node at the end of the dialogue path in the knowledge graph. If there is only one product node between two attribute nodes, the attribute information represented by the two attribute nodes is an adjacent attribute, and the candidate product set includes the product information represented by the product nodes connected by each of the valid attribute nodes. A pre-trained strategy prediction model is used to predict the current push strategy based on the current state vector. The push strategy represents pushing query attribute messages or product information to the user at the current moment. The current state vector is obtained by concatenating a first subvector and a second subvector. The first subvector represents the user's feedback on each query attribute message pushed in the conversation record of the current conversation scenario. The second subvector is obtained by arranging the number of product information in the candidate product set corresponding to each valid attribute node in the conversation path according to the conversation time sequence. Based on the current push strategy, determine the object to be pushed from the candidate attribute set or the candidate product set, and generate current information to be pushed based on the object to be pushed; Push the current information to be pushed.

2. The method according to claim 1, wherein The object to be pushed is determined through the following steps: Determining a recommendation score for each product information in the candidate product set based on a user embedding vector, an embedding vector for each product information in the candidate product set, and an embedding vector for the attribute information represented by each valid attribute node, wherein the user embedding vector is generated based on the user profile; Determining the recommendation score of each attribute information in the candidate attribute set based on the recommendation score of each item of product information in the candidate product set and the embedding vector of each attribute information in the candidate attribute set; and If the push strategy is to push an inquiry attribute message, the attribute information with the highest recommendation score in the candidate attribute set is determined as the current object to be pushed; If the current push strategy is to push product information, the product information with the highest recommendation score in the candidate product set is determined as the current object to be pushed.

3. The method according to claim 1, further comprising: In response to the user's feedback information of rejection regarding the query attribute information, the attributes in the query attribute information are deleted from the candidate attribute set.

4. The method according to claim 1, further comprising: In response to the user's feedback information of rejection regarding the pushed product information, the product information is deleted from the candidate product set.

5. The method according to claim 1, wherein Extract the user's product preference attributes from the user conversation information in the current conversation scenario, including: In response to an instruction requesting to open a conversation scene, opening a current conversation scene and acquiring user conversation information in the current conversation scene in real time; and In response to the user actively confirming the product attribute information, the product attribute in the information is determined as the preferred attribute; in response to determining that the user's feedback information on the query attribute information is acceptance, the attribute in the query attribute information is determined as the preferred attribute.

6. The method according to claim 1, wherein The dialogue path is generated through the following steps: In response to the user confirming the information of the commodity attribute for the first time, determining the commodity attribute indicated by the information as the initial preferred attribute; Determining the attribute node corresponding to the initial preference attribute in the knowledge graph as the initial node of the dialogue path; Taking the initial node as the starting point, the attribute nodes are arranged according to the dialogue time sequence to obtain the dialogue path.

7. The method according to any one of claims 1 to 6, wherein: The first sub-vector is generated based on the following steps: Extracting user feedback information regarding each pushed query attribute information from the conversation record, and encoding the result of each feedback information according to a preset strategy; Arrange the encoded feedback information according to the dialogue time sequence to obtain the first sub-vector.

8. A device for information push, wherein: include: a preference extraction unit configured to extract the user's preference attributes for the product from the user conversation information in the current conversation scene; an attribute mapping unit configured to determine a valid attribute node corresponding to the preferred attribute in a pre-constructed knowledge graph, wherein the knowledge graph includes attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, wherein the edges represent an association relationship between the product nodes and the attribute nodes; a path generating unit configured to arrange the valid attribute nodes according to a dialogue time sequence to generate a dialogue path; A path parsing unit is configured to determine a candidate attribute set and a candidate product set based on the dialogue path, wherein the candidate attribute set only includes adjacent attributes of the valid attribute node at the end of the dialogue path in the knowledge graph, and if there is only one product node between two attribute nodes, the attribute information represented by the two attribute nodes is adjacent attributes; the candidate product set includes product information represented by the product nodes connected by each of the valid attribute nodes; A strategy prediction unit is configured to use a pre-trained strategy prediction model to predict a current push strategy based on a current state vector, wherein the current push strategy represents pushing a query attribute message or product information to the user at the current moment. The current state vector is obtained by concatenating a first subvector and a second subvector, wherein the first subvector represents the user's feedback on each query attribute message pushed in the conversation record in the current conversation scenario, and the second subvector is obtained by arranging the number of product information in the candidate product set corresponding to each valid attribute node in the conversation path according to the conversation time sequence; an information generating unit configured to determine a current object to be pushed from the candidate attribute set or the candidate product set based on the push strategy, and generate current information to be pushed based on the object to be pushed; The information pushing unit is configured to push the information to be pushed.

9. The apparatus according to claim 8, wherein the information generating unit comprises an object determining module configured to: Based on the user embedding vector, the embedding vector of each product information in the candidate product set, and the embedding vector of the attribute information represented by each valid attribute node, the recommendation score of each product information in the candidate product set is determined, wherein: The user embedding vector is generated based on the user portrait; Determining a recommendation score for each attribute information in the candidate attribute set based on the recommendation score for each item of product information in the candidate product set and the embedding vector for each attribute information in the candidate attribute set; as well as, If the push strategy is to push an inquiry attribute message, the attribute information with the highest recommendation score in the candidate attribute set is determined as the current object to be pushed; If the push strategy is to push product information, the product information with the highest recommendation score in the candidate product set is determined as the current object to be pushed. 10 . The apparatus according to claim 8 , further comprising a candidate attribute updating unit configured to: in response to user feedback information regarding the query attribute information being rejection, delete the attribute in the query attribute information from the candidate attribute set. 11 . The apparatus according to claim 8 , further comprising a candidate product updating unit configured to: in response to a user's feedback information of rejection regarding the pushed product information, delete the product information from the candidate product set.

12. The device according to claim 9, wherein The preference extraction unit further comprises: An information acquisition module is configured to, in response to an instruction requesting to open a conversation scene, open a current conversation scene and acquire user conversation information in the current conversation scene in real time; The attribute determination module is configured to: in response to the user actively confirming the information of the product attributes, determine the product attributes in the information as preferred attributes; in response to determining that the user's feedback information on the query attribute information is acceptance, determine the attributes in the query attribute information as preferred attributes.

13. The device according to claim 8, wherein The path generation unit further comprises: an initial attribute determination module configured to, in response to the user confirming the information of the commodity attribute for the first time, determine the commodity attribute indicated by the information as the initial preferred attribute; an initial node determination module, configured to determine an attribute node corresponding to the initial preference attribute in the knowledge graph as an initial node of the dialogue path; The path generation module is configured to take the initial node as a starting point, arrange the attribute nodes according to the dialogue time sequence, and obtain the dialogue path.

14. The apparatus according to any one of claims 8 to 13, further comprising a state vector generating unit configured to: Extracting user feedback information regarding each pushed query attribute information from the conversation record, and encoding the result of each feedback information according to a preset strategy; Arrange the encoded feedback information according to the dialogue time sequence to obtain the first sub-vector.

15. An electronic device comprising: one or more processors; a storage device having one or more programs stored thereon, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.

16. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Session recommendation method based on space-time sequence diagram convolutional network

    CN112035746A

  • Dialogue-based content recommendation method and device, computer equipment and storage medium

    CN112115246A