Method and apparatus for pushing information - Patents.com
Patent Information
- Application Number
- JP2023552541
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-11
- Filing Date
- 2022-01-05
- Publication Date
- 2025-03-27
- Estimated Expiration
- 2042-01-05
Smart Images

Figure 0007652916000003 
Figure 0007652916000004 
Figure 0007652916000005
Abstract
Description
[Technical field]
[0001] <CROSS REFERENCE TO RELATED APPLICATIONS> This disclosure claims priority to a Chinese patent application filed on March 11, 2021, bearing application number 202110263534.3 and entitled "Method and Apparatus for Pushing Information," the entire text of which is incorporated herein by reference.
[0002] TECHNICAL FIELD Embodiments of the present disclosure relate to the field of computer technology, specifically to the field of artificial intelligence, and in particular to a method and apparatus for pushing information. [Background technology]
[0003] In the field of electronic commerce, a product recommendation system can recommend products to a user based on the user's product preference information, and thus plays an important role in increasing sales conversion rates.
[0004] In the related art, product recommendation systems mainly include two types. One is a traditional recommendation model, which can determine a user's preferences based on the user's historical behavior (e.g., browsing, clicking, ordering records, etc.) and actively recommend products to the user. The other is an interactive recommendation system, which can interact with the user in natural language, extract user preference information from the user's interactive information, and then recommend products to the user.
[0005] Conventionally, a dialogue-based recommendation system maps all user preferences obtained from a dialogue into a vector space, sets all attributes related to the user preferences as candidate attributes, and determines attributes to be recommended from among the candidate attributes. Summary of the Invention
[0006] SUMMARY OF THE DISCLOSURE The embodiments of the present disclosure provide a method and apparatus for pushing information.
[0007] In a first aspect, an embodiment of the present disclosure provides a method for pushing information, the method including the steps of: extracting a user's preference attribute for a product from the user's dialogue information in a current dialogue scene; determining an effective attribute node corresponding to the preference attribute in a pre-constructed knowledge graph, the knowledge graph including an attribute node, a product node, and an edge connecting the attribute node and the product node, the edge representing an association relationship between the product node and the attribute node; arranging each effective attribute node based on a dialogue time series to generate a dialogue path; and determining a candidate attribute set and a candidate product set based on the dialogue path, the candidate attribute set being an adjacent attribute in the knowledge graph of the effective attribute node at the end of the dialogue path. the candidate product set includes only valid attribute nodes, and the candidate product set includes product information represented by product nodes connected to each valid attribute node; predicting a current push policy based on a current state vector using the pre-trained policy prediction model, where the current state vector is generated based on a dialogue record of a current dialogue scene, and the push policy represents pushing an attribute query message or pushing product information to a user at a current time; determining a current push target object from the candidate attribute set or the candidate product set based on the push policy, generating push target information by the push target object, and pushing the current push target information.
[0008] In some embodiments, the current pushed object is determined by the following steps: determining a recommendation score for each product information in the candidate product set based on a user embedding vector generated based on a user profile, the embedding vector for each product information in the candidate product set, and the embedding vector for attribute information represented by each valid attribute node; determining a recommendation score for each attribute information in the candidate attribute set based on the recommendation score for each product information in the candidate product set and the embedding vector for each attribute information in the candidate attribute set; if the push policy is to push an attribute query message, determining the attribute information with the highest recommendation score in the candidate attribute set as the current pushed object; and if the current push policy is to push product information, determining the product information with the highest recommendation score in the candidate product set as the current pushed object.
[0009] In some embodiments, the method further comprises: message In response to the user's feedback information being "rejected", message The method further includes removing the attribute in from the set of candidate attributes.
[0010] In some embodiments, the method further includes removing the pushed product information from the candidate product set in response to the user's feedback information being "rejected" for the pushed product information.
[0011] In some embodiments, the step of extracting the user's preferred attributes for the product from the user's dialogue information in the current dialogue scene includes the steps of opening the current dialogue scene in response to a command requesting to open the dialogue scene, acquiring the user's dialogue information in the current dialogue scene in real time, and determining the product attributes in the information as preferred attributes in response to the user actively checking the information of the product attributes, and requesting the user to query the attributes. message In response to the feedback information for the attribute query being "accepted," messageand determining attributes in the list as preferred attributes.
[0012] In some embodiments, the dialogue path is generated by the steps of: in response to a user first viewing information on a product attribute, setting the product attribute indicated by the information as an initial preferred attribute; setting an attribute node in the knowledge graph corresponding to the initial preferred attribute as an initial node of the dialogue path; and, starting from the initial node, arranging each attribute node based on the dialogue timeline to obtain a dialogue path.
[0013] In some embodiments, the current state vector is generated by adding each pushed attribute query from the interaction record. message and encoding the results of each piece of feedback information according to a preset policy; arranging the results of each piece of encoded feedback information based on the dialogue time series to obtain a first sub-vector; determining the quantity of product information in a candidate product set corresponding to each effective attribute node in the dialogue path, and arranging the quantity of product information in each candidate product set based on the dialogue time series to obtain a second sub-vector; and connecting the first sub-vector and the second sub-vector in series to obtain a current state vector.
[0014] A second aspect, an embodiment of the present disclosure provides an information pushing apparatus, the apparatus including: a preference extracting unit configured to extract a user's preference attributes for products from the user's dialogue information in a current dialogue scene; an attribute mapping unit configured to determine effective attribute nodes corresponding to the preference attributes in a pre-constructed knowledge graph, the knowledge graph including attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, the edges representing association relationships between the product nodes and the attribute nodes; a path generating unit configured to arrange each effective attribute node based on a dialogue time series to generate a dialogue path; and a path analyzing unit configured to determine a candidate attribute set and a candidate product set based on the dialogue path, the candidate attribute set being a neighboring attribute set in the knowledge graph of the effective attribute node at the end of the dialogue path. The system includes: a path analysis unit, where the candidate product set includes only adjacent attributes, and the candidate product set includes product information represented by product nodes connected to each valid attribute node; a policy prediction unit configured to predict a current push policy based on a current state vector using a pre-trained policy prediction model, where the current state vector is generated based on a dialogue record of a current dialogue scene, and the current push policy represents pushing an attribute query message or pushing product information to a user at a current time; an information generation unit configured to determine a current push target object from the candidate attribute set or the candidate product set based on the push policy, and generate push target information by the push target object; and an information push unit configured to push the push target information.
[0015] In some embodiments, the information generation unit includes an object determination module configured to perform the following steps: determine a recommendation score for each product information in the candidate product set based on a user embedding vector generated based on a user profile, the embedding vector for each product information in the candidate product set, and the embedding vector for each attribute information represented by each valid attribute node; determine a recommendation score for each attribute information in the candidate attribute set based on the recommendation score for each product information in the candidate product set and the embedding vector for each attribute information in the candidate attribute set; if the push policy is to push an attribute query message, determine the attribute information in the candidate attribute set with the highest recommendation score as a current pushed object; and if the current push policy is to push product information, determine the product information in the candidate product set with the highest recommendation score as a current pushed object.
[0016] In some embodiments, the device performs an attribute query. message In response to the user's feedback information being "rejected", message The candidate attribute updating unit is configured to delete the attribute from the candidate attribute set.
[0017] In some embodiments, the apparatus further comprises a candidate product update unit configured to, in response to the user's feedback information for the pushed product information being “reject”, remove the product information from the candidate product set.
[0018] In some embodiments, the preference extraction unit includes an information acquisition module configured to open a current dialogue scene in response to a command requesting to open a dialogue scene, and acquire user's dialogue information in the current dialogue scene in real time; and an information acquisition module configured to determine a product attribute in the information as a preferred attribute in response to a user actively checking information of the product attribute, and to determine a product attribute in the information as a preferred attribute in response to a user actively checking information of the product attribute, and to retrieve user's attribute query information. message In response to the feedback information for the attribute query being "accepted," message and an attribute determination module configured to determine attributes in the preference as preferred attributes.
[0019] In some embodiments, the path generation unit further includes an initial attribute determination module configured to, in response to the user first confirming information on a product attribute, set the product attribute indicated by the information as an initial preferred attribute; an initial node determination module configured to set an attribute node in the knowledge graph corresponding to the initial preferred attribute as an initial node of a dialogue path; and a path generation module configured to, starting from the initial node, arrange each attribute node based on the dialogue timeline to obtain a dialogue path.
[0020] In some embodiments, the device may further include a push attribute query for each pushed attribute query from the interaction record. message and encoding the result of each feedback information according to a preset policy; arranging the result of each encoded feedback information based on the dialogue time series to obtain a first sub-vector; determining the quantity of product information in a candidate product set corresponding to each effective attribute node in the dialogue path, and arranging the quantity of product information in each candidate product set based on the dialogue time series to obtain a second sub-vector; and connecting the first sub-vector and the second sub-vector in series to obtain a current state vector.
[0021] In a third aspect, an embodiment of the present disclosure provides an electronic device comprising one or more processors and a storage device having one or more programs stored therein, the one or more programs, when executed by the one or more processors, causing the one or more processors to implement a method according to any of the above embodiments.
[0022] In a fourth aspect, an embodiment of the present disclosure provides a computer readable medium having a computer program stored thereon, the computer readable medium implementing a method according to any of the above embodiments when the program is executed by a processor.
[0023] In a fifth aspect, an embodiment of the present disclosure provides a computer program product which, when executed by a processor, implements a method according to any of the above embodiments. [Brief description of the drawings]
[0024] Other features, objects and advantages of the present disclosure will become more apparent from a reading of the following detailed description of non-limiting embodiments, taken in conjunction with the drawings in which: [Figure 1] FIG. 1 illustrates an example system architecture in which some embodiments of the present disclosure can be applied. [Diagram 2] 1 is a flow chart of one embodiment of a method for pushing information in accordance with the present disclosure. [Diagram 3] 1 is a schematic diagram of a scene of a method for pushing information according to the present disclosure; [Figure 4] 4 is a flow chart of determining objects to be pushed in one embodiment of a method for pushing information according to the present disclosure; [Diagram 5] FIG. 1 is a structural schematic diagram of an embodiment of an information pushing device according to the present disclosure; [Figure 6] FIG. 1 is a structural schematic diagram of an electronic device suitable for implementing an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0025] The present disclosure will be described in more detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are merely for the purpose of illustrating the related invention, and are not intended to limit the invention. For the sake of convenience, only parts related to the invention are shown in the drawings.
[0026] In addition, the embodiments and features of the embodiments of the present disclosure can be combined with each other as long as no contradiction occurs. Hereinafter, the present disclosure will be described in detail with reference to the drawings and embodiments.
[0027] FIG. 1 illustrates an exemplary system architecture 100 to which an information pushing method or an information pushing apparatus according to embodiments of the present disclosure may be applied.
[0028] 1, system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is used as a medium to provide a communications link between terminal devices 101, 102, 103 and server 105. Network 104 may include various types of connections, such as wires, wireless communications links, or fiber optic cables.
[0029] To send and receive messages, the users may use the terminal devices 101, 102, 103 to push messages to and from the server 105 via the network 104. For example, the users may send product preferences to the server, or may send attribute queries, for example. message Alternatively, pushed information such as product information may be received from a server.
[0030] The terminal devices 101, 102, and 103 may be hardware or software. If the terminal devices 101, 102, and 103 are hardware, they may be electronic devices having communication functions, including, but not limited to, smartphones, tablet computers, e-book readers, laptop computers, and desktop computers. If the terminal devices 101, 102, and 103 are software, they may be installed in the electronic devices exemplified above. It may be implemented, for example, as multiple software or software modules for providing distributed services, or may be implemented as a single software or software module. For example, in a client of an e-commerce platform, a user can interact with a server 105 through the client of the e-commerce platform. The present disclosure is not particularly limited here.
[0031] The server 105 may be a server that provides various services, such as a back-end data server that processes (e.g., determines user preference attributes from) the data of user interaction information uploaded by the terminal devices 101, 102, and 103. The back-end data server can perform processing such as analyzing and identifying the received data of user interaction information, and feed back the processing result (e.g., generated push information) to the terminal devices.
[0032] It should be noted that the method for pushing information provided by the embodiment of the present disclosure may be performed by the server 105. Accordingly, an apparatus for pushing information may be provided in the server 105.
[0033] The server may be hardware or software. If the server is hardware, it may be implemented as a distributed server cluster consisting of multiple servers, or as a single server. If the server is software, it may be implemented as, for example, multiple software programs or software modules for providing distributed services, or as a single software program or software module. There is no particular limitation here.
[0034] 2, a flow diagram 200 of one embodiment of a method for pushing information according to the present disclosure is shown. The method for pushing information includes the following steps.
[0035] In step 201, a user's preference attribute for a product is extracted from the user's dialogue information in the current dialogue scene.
[0036] In this embodiment, the user's preference attribute for the product represents the desired parameter of the product by the user. After receiving the dialogue information sent by the user, the execution entity (e.g., the server shown in FIG. 1) can use semantic analysis or keyword extraction algorithm to extract the user's preference attribute for the product from the user's dialogue information.
[0037] In one specific application scenario, a user can exchange information with an execution entity (an e-commerce platform cloud) via an e-commerce platform client installed on a terminal (e.g., the smartphone shown in Figure 1). For example, when a user sends information that "I want to buy basketball equipment" to the execution entity via the terminal, the execution entity can determine from the information that the user's preference attribute is "basketball."
[0038] In some further embodiments of the present embodiment, the step of extracting the user's preferred attributes for the product from the user's dialogue information in the current dialogue scene includes: opening the current dialogue scene in response to a command requesting to open the dialogue scene; acquiring the user's dialogue information in the current dialogue scene in real time; determining the product attribute in the information as the preferred attribute in response to the user positively confirming the product attribute information; and determining the latest pushed information as the attribute reference. message If the user's feedback information for this information is "confirmation", the attribute query message determining attributes in the set as preferred attributes.
[0039] In this embodiment, when the executing entity receives a command (which may be information sent by the user for the first time, for example) requesting that the user open a dialogue scene, the executing entity acquires the user's dialogue information in real time and extracts the user's preference attributes for the product from it.
[0040] In general, a dialogue scene includes several turns of dialogue. The user's dialogue information includes information on which the user actively confirmed the attributes of the product and feedback information given by the user to the information pushed to the dialogue for each turn. The execution subject pushes information to the user once and receives the user's feedback information for that information, which is called one-turn dialogue. For example, at a certain point in time, when the execution subject pushes information "Do you like white" to the user, the user's answer information to this information is feedback information. For example, if the user answers "yes", the user's feedback information to this information indicates "acceptance", and at this time "white" can be determined as the user's preferred attribute. If the user answers "no", the user's feedback information to this information indicates "rejection", and at this time "white" should not be determined as the user's preferred attribute.
[0041] In step 202, an effective attribute node corresponding to the preferred attribute is determined in a pre-constructed knowledge graph.
[0042] In this embodiment, the knowledge graph includes attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, and the edges represent the association relationships between the product nodes and the attribute nodes. The knowledge graph represents the association relationships between products and attributes, and may be constructed in advance based on original data provided by the business side and stored in the execution entity. As an example, the execution entity may receive original data provided by the business side, extract product information, attribute information, and the association relationships between the two from the original data, treat the product information as product nodes, treat the attribute information as attribute nodes, and finally connect the product information having an association relationship with the nodes corresponding to the attribute information by edges.
[0043] In this embodiment, the effective attribute node represents an attribute node in the knowledge graph to which the preferred attribute confirmed by the user corresponds, and may be, for example, a preferred attribute actively confirmed by the user, or a preferred attribute accepted by the user that is confirmed by the actor during the dialogue.
[0044] In step 203, each valid attribute node is arranged based on the interaction timeline to generate an interaction path.
[0045] In this embodiment, each effective attribute node in the dialogue path is a preferred attribute confirmed by the user in the current dialogue scene based on the dialogue time series, that is, the process in which the execution entity gradually obtains the user's desired parameters for the product. As the number of dialogue turns increases, the execution entity can continuously obtain new preferred attributes from the user information through steps 202 and 203, and continuously update the dialogue path.
[0046] It will be appreciated that once the actor has obtained sufficient preference attributes, it can identify products desired by the user based on each preference attribute.
[0047] In some further embodiments of this embodiment, the dialogue path is generated by the steps of: in response to a user first viewing information on a product attribute, setting the product attribute indicated by the information as an initial preferred attribute; setting an attribute node in the knowledge graph corresponding to the initial preferred attribute as an initial node of the dialogue path; and, starting from the initial node, arranging each attribute node based on the dialogue timeline to obtain a dialogue path.
[0048] In step 204, a set of candidate attributes and a set of candidate products are determined based on the interaction path.
[0049] In this embodiment, the candidate attribute set includes only the neighboring attributes in the knowledge graph of the effective attribute node at the end of the dialogue path, and the candidate product set includes product information represented by product nodes connected to each effective attribute node, where the effective attribute node at the end of the dialogue path represents the user's preferred attributes for the product last reviewed by the execution subject.
[0050] When only one product node is included between two attribute nodes, the attribute information represented by these two attribute nodes is an adjacent attribute.
[0051] As an example, the knowledge graph includes attribute nodes A, B, C, and D, and the product nodes connected to A are A1, A2, and A3, the product nodes connected to B are B1 and B2, the product nodes connected to C are A3 and B1, and the product nodes connected to D are A1 and B2. If the dialogue path acquired by the execution subject in step 203 is ACD, the product nodes connected to node D are A1 and B2, and the attribute nodes directly connected to A1 and B2 are A and B, the execution subject can determine that the candidate attribute set at the current time includes attribute information represented by node A and node B, and the product nodes A1 and A3 are included between node D and node C, so that the attribute represented by node C is not an adjacent attribute of node D. The candidate product set includes a set of product information represented by product nodes connected to nodes A, C, and D, respectively, and specifically includes products A1, A2, A3, B1, and B2.
[0052] Step 20 5 In, we use a pre-trained policy prediction model to predict the current push policy based on the current state vector.
[0053] In this embodiment, the current state vector is generated based on the interaction record of the current interaction scene, and the current push policy represents to push the attribute query message or the product information. The policy prediction model represents the correspondence between the current state vector and the push policy. The current state vector may represent all information related to the push policy at the current time. For example, it may include the global interaction record, the attribute information in the candidate attribute set, or the product information in the candidate product set, etc.
[0054] As an example, a reinforcement learning model may be adopted as the policy prediction model, and the operation (push policy) at the current time may be predicted based on the state at the previous time, and then the execution entity may push information to the user based on the predicted push policy and receive the user's feedback information. The execution entity may then update the state of the reinforcement learning model based on the user's feedback information, and predict the operation (push policy) at the next time based on the state after the update by the reinforcement learning model. In this way, the push policy may be determined for each turn of the dialogue based on the user's dialogue information.
[0055] In the related art, when a reinforcement learning model directly predicts a push target object, the number of action categories in the decision stage of the reinforcement learning model is greater than the sum of the number of candidate product information and the number of candidate attribute information. The policy prediction model in this embodiment can narrow down the action categories to two (pushing attribute query information and pushing product information), which can improve the convergence speed of the model and greatly improve the training efficiency.
[0056] In some optional embodiments of this embodiment, the current state vector is generated by adding each pushed attribute query from the interaction record. message and encoding the results of each piece of feedback information according to a preset policy; arranging the results of each piece of encoded feedback information based on the dialogue time series to obtain a first sub-vector; determining the quantity of product information in a candidate product set corresponding to each effective attribute node in the dialogue path, and arranging the quantity of product information in each candidate product set based on the dialogue time series to obtain a second sub-vector; and connecting the first sub-vector and the second sub-vector in series to obtain a current state vector.
[0057] In this embodiment, the first subvector represents the user's feedback result for the pushed attribute information. For example, the code of the attribute information accepted by the user is set to 1, and the code of the attribute information rejected by the user is set to 0, and the numbers are arranged based on the time series information of the attribute information, thereby obtaining a first subvector consisting of values 1 and 0. In this way, the execution entity can determine the push policy of the current time based on the first subvector, and for example, if the number of numbers 1 in the first subvector is small, information inquiring about attributes can be continued to be pushed to the user, and if the number of numbers 1 in the first subvector is large, product information can be pushed to the user.
[0058] As an example, if the dialogue path is attribute node ACD, the number of product information in the candidate product set corresponding to node A is 3, the number of product information in the candidate product set corresponding to node C is 2, and the number of product information in the candidate product set corresponding to node D is 5, the second sub-vector acquired by the execution entity is (3,2,5). In this way, the probability that the pushed product information will be accepted by the user can be estimated based on the number of candidate products.
[0059] In this embodiment, the current state vector obtained by serially connecting the first sub-vector and the second sub-vector helps to improve the accuracy of the push policy prediction model.
[0060] Step 20 6 determines a current push target object from the candidate attribute set or the candidate product set based on the push policy, and generates push target information according to the push target object.
[0061] In this embodiment, the execution entity performs step 20 5 Based on the push policy predicted by , it can be determined whether to query the user for attributes or to push product information.
[0062] As an example, a push policy might be message If the push policy is to push product information, the execution entity may randomly determine one piece of attribute information from the candidate attribute set as the push target object. If the push policy is to push product information, the execution entity may randomly determine one piece of product information from the candidate product set as the push target object. Then, the execution entity generates the push target information using a preset text generation algorithm with the push target object as a keyword.
[0063] Step 20 7 Now, push the current push target information.
[0064] Next, referring to FIG. figure FIG. 3A is a schematic diagram of a scene of the method for pushing information shown in FIG. 2. In the dialogue scene shown in FIG. 3A, the execution entity 301 may be a cloud server of an e-commerce platform. The terminal device 302 may be a user's smartphone. The user can exchange information with the execution entity through a client of the e-commerce platform installed on the smartphone, for example, send information such as "I want to buy basketball goods" to the execution entity, or send feedback information such as "yes" to the pushed information. The execution entity extracts the user's preference attributes for the product from the received user information, for example, "basketball", "white", etc. FIG. 3B shows a schematic diagram of mapping the user's preferences to attribute nodes in a knowledge graph and generating a dialogue path. The execution entity generates a dialogue 30 between the user and the execution entity. 3From the above, "Adidas", "170cm", and "white" are extracted in order as preference attributes, and the preference attributes are mapped to the knowledge graph 304. The effective attribute nodes obtained are "Adidas", "M size", and "white", and the resulting dialogue path is "Adidas"-"M size"-"white". Then, the execution entity identifies 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 dialogue path, and predicts the current push policy using the policy prediction model. For example, if the current push policy is to push product information, the execution entity determines product information A from the candidate product set as a push target object, and generates push target information "We recommend a white basketball jersey in size M". Then, the execution entity transmits the information to the smartphone.
[0065] The method and apparatus for pushing information provided by the embodiments of the present disclosure extracts a user's preferred attributes from the user's dialogue information, and maps the user's preferred attributes to attribute nodes in a knowledge graph, and then generates a dialogue path based on the dialogue time series and each attribute node, and determines the adjacent attributes of the attribute node at the end of the dialogue path as candidate attributes, thereby improving the consistency during pushing information to the user, and effectively reducing the dimension of the candidate attribute space, thereby improving the targeting and efficiency of pushing information, and reducing the operation categories of the policy prediction model to two, thereby effectively improving the training efficiency of the policy prediction model.
[0066] In some optional embodiments of the above embodiment, the method further comprises: message In response to the user's feedback information being "rejected", message This may further include removing the in attribute from the set of candidate attributes.
[0067] It will be appreciated that the same adjacent attributes may exist in different attribute nodes, and if an adjacent attribute is rejected by the user, the attribute information can be removed from the candidate attribute set, on the one hand to avoid re-pushing the attribute information, and on the other hand to reduce the number of candidate attribute information, thereby further reducing the amount of computation.
[0068] In some optional embodiments of the above embodiment, the method may further include, in response to the user's feedback information for the pushed product information being "rejected," deleting the product information from the candidate product set, thereby reducing the number of candidate product information and further reducing the amount of calculation.
[0069] 4, there is shown a flow 400 for determining objects to be pushed in one embodiment of a method for pushing information. The flow 400 includes the following steps:
[0070] In step 401, a recommendation score for each item of product information in the candidate product set is determined based on the user embedding vector, the embedding vector of each item of product information in the candidate product set, and the embedding vector of attribute information represented by each effective attribute node.
[0071] In this embodiment, the user embedding vector is generated based on a user profile, which represents the user's characteristic information, and may include, for example, the user's height, weight, occupation, interests, and so on.
[0072] As an example, the execution entity can determine the recommendation score of each piece of product information in the candidate product set using the following formulas (1) and (2). JPEG0007652916000001.jpg22169Here, S v denotes the recommendation score of candidate item v, and P u indicates an effective attribute node. u indicates the embedding vector of the user, v indicates the embedding vector of the candidate product v, and p indicates the embedding vector of the attribute information p.
[0073] In step 402, a recommendation score for each attribute information in the candidate attribute set is determined based on the recommendation score for each product information in the candidate product set and the embedding vector for each attribute information in the candidate attribute set.
[0074] In this embodiment, the executing entity 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. For example, the executing entity can obtain the recommendation score of each attribute information in the candidate attribute set by equations (3), (4) and (5). JPEG0007652916000002.jpg51170, where σ is the product information recommendation score S v is normalized between 0 and 1, and V cand denotes the candidate attribute set, and V p indicates product information including attribute information p.
[0075] In step 403, if the push policy is to push an attribute query message, the attribute information with the highest recommendation score in the candidate attribute set is taken as the current push target object.
[0076] In step 404, if the current push policy is to push product information, the product information with the highest recommendation score in the candidate product set is set as the current push target object.
[0077] In some optional embodiments of this embodiment, the executing entity may push multiple product information to the user at once, with a pre-set number of product information with the highest recommendation score in the candidate product set as the current push target object, or may push each product information in order of highest to lowest recommendation score.
[0078] 4, the flow 400 for determining a push target object in this embodiment emphasizes the steps of determining a recommendation score for 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 determining a current push target object based on the recommendation score. Since the recommendation score of the product information and the recommendation score of the attribute information are mutually dependent, the targetability of the push target object is improved, and the accuracy of the push information is improved.
[0079] In some optional embodiments of this embodiment, determining a user's community membership information based on a voting mechanism can reduce the generalization error of the topic model, both of which help to improve the accuracy of determining a user's community information.
[0080] Further referring to FIG. 5, as an implementation of the method shown in each of the above figures, the present disclosure provides an embodiment of an apparatus for pushing information, which corresponds to the embodiment of the method shown in FIG. 2, and which can be specifically applied to various electronic devices.
[0081] As shown in FIG. 5 , the information pushing apparatus 500 of the present embodiment includes: a preference extracting unit 501 configured to extract a user's preference attributes for products from the user's dialogue information in a current dialogue scene; an attribute mapping unit 502 configured to determine effective 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 the attribute nodes and the product nodes, and the edges represent association relationships between the product nodes and the attribute nodes; a path generating unit 503 configured to arrange each effective attribute node based on the dialogue time series to generate a dialogue path; and a path analyzing unit 504 configured to determine a candidate attribute set and a candidate product set based on the dialogue path, where the candidate attribute set is determined based on the effective attribute nodes in the knowledge graph at the ends of the dialogue paths. the candidate product set includes only adjacent attributes that are connected to each valid attribute node, and the candidate product set includes product information represented by product nodes connected to each valid attribute node; a policy prediction unit 505 configured to predict a current push policy based on a current state vector using a pre-trained policy prediction model, where the current state vector is generated based on a dialogue record of a current dialogue scene, and the current push policy represents to push an attribute query message or product information to a user at a current time; an information generating unit 506 configured to determine a current push target object from the candidate attribute set or the candidate product set based on the push policy, and generate push target information by the push target object; and an information pushing unit 507 configured to push the push target information.
[0082] In this embodiment, the information generating unit 50 6The system includes an object determination module configured to perform the following steps: determining a recommendation score for each product information in the candidate product set based on a user embedding vector generated based on a user profile, an embedding vector for each product information in the candidate product set, and an embedding vector for attribute information represented by each valid attribute node; determining a recommendation score for each attribute information in the candidate attribute set based on the recommendation score for each product information in the candidate product set and the embedding vector for each attribute information in the candidate attribute set; determining an attribute information with the highest recommendation score in the candidate attribute set as a current pushed object if the push policy is to push an attribute query message; and determining an product information with the highest recommendation score in the candidate product set as a current pushed object if the current push policy is to push product information.
[0083] In this embodiment, the device 500 performs attribute queries. message In response to the user's feedback information being "rejected", message The candidate attribute updating unit is configured to delete the attribute from the candidate attribute set.
[0084] In this embodiment, the apparatus 500 further comprises a candidate product updating unit configured to, in response to the user's feedback information for the pushed product information being "reject", delete the product information from the candidate product set.
[0085] In this embodiment, the preference extraction unit 501 includes an information acquisition module configured to open a current dialogue scene in response to a command requesting to open a dialogue scene, and acquire user's dialogue information in the current dialogue scene in real time; and determine a product attribute in the information as a preferred attribute in response to a user actively checking information of a product attribute; and determine a product attribute in the information as a preferred attribute in response to a user actively checking information of a product attribute; and messageIn response to the feedback information for the attribute query being "accepted," message and an attribute determination module configured to determine attributes in the preference as preferred attributes.
[0086] In this embodiment, the path generation unit 503 further includes an initial attribute determination module configured to set the product attribute indicated by the product attribute information as an initial preferred attribute in response to the user first confirming the product attribute information; an initial node determination module configured to set an attribute node in the knowledge graph corresponding to the initial preferred attribute as an initial node of a dialogue path; and a path generation module configured to arrange each attribute node based on the dialogue timeline starting from the initial node to obtain a dialogue path.
[0087] In this embodiment, the device 500 retrieves each pushed attribute query from the interaction record. message and encoding the result of each feedback information according to a preset policy; arranging the result of each encoded feedback information based on the dialogue time series to obtain a first sub-vector; determining the quantity of product information in a candidate product set corresponding to each effective attribute node in the dialogue path, and arranging the quantity of product information in each candidate product set based on the dialogue time series to obtain a second sub-vector; and connecting the first sub-vector and the second sub-vector in series to obtain a current state vector.
[0088] Hereinafter, reference will be made to FIG. 6 showing a structural schematic diagram of an electronic device (for example, a server or terminal device shown in FIG. 1) 600 applied to realize an embodiment of the present disclosure. The terminal device in the embodiment of the present disclosure includes, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (tablet computers), and fixed terminals such as digital TVs and desktop computers. The terminal device shown in FIG. 6 is merely an example and does not impose any restrictions on the functions and scope of use of the embodiment of the present disclosure.
[0089] 6, the electronic device 600 may include a processing unit (e.g., a central processing unit, a graphics processor, etc.) 601 capable of performing various appropriate operations 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. The RAM 603 further stores various programs and data necessary for the operation of the electronic device 600. The processing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0090] Typically, the following devices may be connected to the I / O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a liquid crystal display (LCD), speakers, vibrators, etc.; storage devices 608 including, for example, a magnetic tape, hard disk, etc.; and communication devices 609. The communication devices 609 allow the electronic device 600 to communicate wirelessly or wired with other devices to exchange data. Although FIG. 6 illustrates the electronic device 600 having various devices, it should be understood that it is not required to implement or include all of the devices illustrated. Optionally, more or less devices may be implemented. Each block illustrated in FIG. 6 may represent one device or multiple devices as desired.
[0091] In particular, according to an embodiment of the present disclosure, the process described with reference to the above-mentioned flowchart may be implemented as a computer software program. For example, an embodiment of the present disclosure comprises a computer program product including a computer program embodied in a computer-readable medium, the computer program including a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device 609, or can be installed from a storage device 608 or a ROM 602. When the computer program is executed by the processing device 601, it performs the above-mentioned functions limited to the method of the embodiment of the present disclosure. It should be noted that the computer-readable medium described in the embodiment of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. The computer-readable storage medium may be, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections with one or more conductors, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In embodiments of the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or embedded in an instruction execution system, apparatus, or device. In embodiments of the present disclosure, the computer-readable signal medium may include a data signal in baseband or propagated as part of a carrier wave, in which computer-readable program code is carried.Such a propagated data signal may take various forms, including, but not limited to, an electromagnetic signal, an optical signal, or any suitable combination thereof. The computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium. The computer-readable signal medium may transmit, propagate, or transmit a program used by or embedded in an instruction execution system, apparatus, or device. The program code contained in the computer-readable medium may be transmitted by any suitable medium, including, but not limited to, an electrical wire, an optical cable, RF (radio frequency), or the like, or any suitable combination thereof.
[0092] The computer-readable medium may be included in the electronic device, or may exist separately from the electronic device. The computer-readable medium includes, when one or more programs are installed and executed by the electronic device, a step of extracting a user's preference attribute for a product from the user's dialogue information in a current dialogue scene, a step of determining an effective attribute node corresponding to the preference attribute in a pre-constructed knowledge graph, the knowledge graph including attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, the edges representing association relationships between the product nodes and the attribute nodes, a step of arranging each effective attribute node based on the dialogue time series to generate a dialogue path, and a step of determining a candidate attribute set and a candidate product set based on the dialogue path, the candidate attribute set being the effective attribute node at the end of the dialogue path. The electronic device is caused to execute the steps of: predicting a current push policy based on a current state vector using a pre-trained policy prediction model, the current state vector being generated based on a dialogue record of a current dialogue scene, the push policy representing pushing an attribute query message or product information to a user at a current time; determining a current push target object from the candidate attribute set or the candidate product set based on the push policy, generating push target information by the push target object, and pushing the current push target information.
[0093] Computer program code for carrying out the operations of the disclosed embodiments can be written in one or more programming languages, or combinations thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and traditional procedural programming languages such as "C" or similar programming languages. The program code can run entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of 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 an Internet service provided by an Internet service provider).
[0094] The flowcharts and block diagrams in the drawings are examples of representations of architecture, functions and operations that can be realized by the systems, methods and computer programs according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a portion of code. The module, program segment, or portion of code includes one or more executable instructions for implementing a certain logic function. It is to be noted that in some alternative embodiments, the functions shown in the blocks may be executed in a different order than that shown in the drawings. For example, two blocks shown in succession may actually be executed substantially in parallel in response to such functions, or may sometimes be executed in the reverse order. It should be further noted that all blocks in the block diagrams and / or flowcharts, as well as combinations of blocks in the block diagrams and / or flowcharts, may be implemented in a dedicated hardware-based system that executes a certain function or operation, or may be implemented in a combination of dedicated hardware and computer instructions.
[0095] The units described in the embodiments of the present disclosure may be implemented in software or hardware. The described units may be provided in a processor, and may be described, for example, as "a processor including a preference extraction unit, an attribute mapping unit, a path generation unit, a path analysis unit, a policy prediction unit, an information generation unit, and an information push unit." Here, the names of these units do not limit the units themselves in some cases, and for example, the preference extraction unit may be described as "a unit for extracting a user's preference attribute for an information product from the user's dialogue information in a current dialogue scene."
[0096] The above description is merely a description of the preferred embodiments of the present disclosure and the technical principles applied thereto. Those skilled in the art should understand that the scope of the present disclosure is not limited to the technical solution consisting of a specific combination of the above-mentioned technical features, but should also include other technical solutions consisting of any combination of the above-mentioned technical features or their equivalent features within the scope of the above-mentioned disclosure. For example, the above features may be substituted with technical features having similar functions (but not limited to) disclosed in the embodiments of the present disclosure.
Claims
1. A computer-implemented method for pushing information, comprising: Extracting a user's preference attribute for a product from user's dialogue information in a current dialogue scene; determining an effective attribute node corresponding to the preferred attribute in a pre-constructed knowledge graph, the knowledge graph including attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, the edges representing association relationships between the product nodes and the attribute nodes; ordering each of the valid attribute nodes based on a dialogue timeline to generate a dialogue path; determining a candidate attribute set and a candidate product set based on the dialogue paths, the candidate attribute set including only adjacent attributes in the knowledge graph of an effective attribute node at the end of the dialogue path, and the candidate product set including product information represented by product nodes connected to each of the effective attribute nodes; using a pre-trained policy prediction model to predict a current push policy based on a current state vector, where the current state vector is generated based on a dialogue record of the current dialogue scene, and the current push policy represents pushing an attribute query message or pushing product information to a user at a current time; determining a current push target object from the candidate attribute set or the candidate product set according to the current push policy, and generating current push target information according to the current push target object; pushing the currently pushed information; How to push information including:
2. The current pushed object is determining a recommendation score for each item in the candidate item set based on a user embedding vector generated based on a user profile, an embedding vector for each item in the candidate item set, and an embedding vector for attribute information represented by each of the effective attribute nodes; determining a recommendation score for each attribute information in the candidate attribute set based on the recommendation score for each product information in the candidate product set and an embedding vector for each attribute information in the candidate attribute set; If the push policy is to push an attribute query message, determining the attribute information with the highest recommendation score in the candidate attribute set as a current push target object; If the current push policy is to push product information, determining the product information with the highest recommendation score in the candidate product set as a current push target object; The method of claim 1 , wherein the
3. The method according to any one of claims 1 to 2, further comprising the step of deleting an attribute in an attribute query message from the candidate attribute set in response to the user's feedback information for the attribute query message being "reject".
4. The method according to any one of claims 1 to 3, further comprising the step of deleting the pushed product information from the candidate product set in response to the user's feedback information for the pushed product information being "rejected".
5. The step of extracting a user's preference attribute for a product from the user's dialogue information in the current dialogue scene includes: In response to a command requesting to open a dialogue scene, opening a current dialogue scene and acquiring user dialogue information in the current dialogue scene in real time; The method according to any one of claims 1 to 4, further comprising the steps of: in response to a user positively confirming information on product attributes, determining the product attributes in the information as preferred attributes; and in response to feedback information on the user's attribute query message being "accepted," determining the attributes in the attribute query message as preferred attributes.
6. The interaction path includes: In response to the user first confirming information on the product attribute, setting the product attribute indicated by the information as an initial preferred attribute; setting an attribute node in the knowledge graph corresponding to the initial preference attribute as an initial node of the dialogue path; starting from the initial node, arranging each of the attribute nodes based on a dialogue timeline to obtain the dialogue path; The method according to any one of claims 1 to 5, wherein the compound is produced by
7. The current state vector is Extracting user feedback information for each pushed attribute query message from the interaction record, and encoding the result of each of the feedback information according to a preset policy; ordering the results of each of the feedback information encoded based on the interaction time series to obtain a first sub-vector; determining a quantity of product information in a candidate product set corresponding to each valid attribute node in the interaction path, and arranging the quantity of product information in each candidate product set according to the interaction time series to obtain a second sub-vector; serially concatenating the first sub-vector and the second sub-vector to obtain the current state vector; The method according to any one of claims 1 to 6, which is produced by
8. An information pushing device, comprising: A preference extraction unit configured to extract a user's preference attribute for a commodity from the user's dialogue information in a current dialogue scene; an attribute mapping unit configured to determine an effective attribute node corresponding to the preference attribute in a pre-constructed knowledge graph, the knowledge graph including attribute nodes, product nodes, and edges connecting the attribute nodes and the product nodes, the edges representing association relationships between the product nodes and the attribute nodes; a path generation unit configured to arrange each of the valid attribute nodes based on a dialogue timeline to generate a dialogue path; a path analysis unit configured to determine a candidate attribute set and a candidate product set based on the dialogue path, the candidate attribute set including only adjacent attributes in the knowledge graph of an effective attribute node at an end of the dialogue path, and the candidate product set including product information represented by a product node connected to each of the effective attribute nodes; a policy prediction unit configured to predict a current push policy based on a current state vector using a pre-trained policy prediction model, where the current state vector is generated based on a dialogue record of the current dialogue scene, and the current push policy represents pushing an attribute query message or pushing product information to a user at a current time; and an information generating unit configured to determine a current pushed target object from the candidate attribute set or the candidate product set according to the current push policy, and generate current pushed target information according to the current pushed target object; an information pushing unit configured to push the currently pushed information; An information pushing device comprising:
9. The information generating unit includes: determining a recommendation score for each item in the candidate item set based on a user embedding vector generated based on a user profile, an embedding vector for each item in the candidate item set, and an embedding vector for attribute information represented by each of the effective attribute nodes; determining a recommendation score for each attribute information in the candidate attribute set based on the recommendation score for each product information in the candidate product set and an embedding vector for each attribute information in the candidate attribute set; If the push policy is to push an attribute query message, determining the attribute information with the highest recommendation score in the candidate attribute set as a current push target object; The apparatus of claim 8 , further comprising an object determination module configured to perform the steps of: if the current push policy is to push product information, determining the product information in the candidate product set with the highest recommendation score as the current pushed object.
10. The apparatus according to any one of claims 8 to 9, further comprising a candidate attribute updating unit configured to, in response to a user's feedback information for an attribute query message being "reject", delete an attribute in the attribute query message from the candidate attribute set.
11. The apparatus according to any one of claims 8 to 10, further comprising a candidate product updating unit configured to delete the pushed product information from the candidate product set in response to the user's feedback information for the pushed product information being "reject".
12. The preference extraction unit comprises: an information acquisition module configured to open a current dialogue scene in response to a command requesting to open a dialogue scene, and acquire user's dialogue information in the current dialogue scene in real time; an attribute determination module configured to determine a product attribute in the information as a preferred attribute in response to a user positively confirming information on the product attribute, and to determine an attribute in the attribute query message as a preferred attribute in response to feedback information on the user's attribute query message being "accepted"; The apparatus of any one of claims 8 to 11, further comprising:
13. The path generating unit includes: an initial attribute determination module configured to, in response to a user first confirming information on a product attribute, set the product attribute indicated by the information as an initial preferred attribute; an initial node determination module configured to set an attribute node in the knowledge graph corresponding to the initial preference attribute as an initial node of the dialogue path; The apparatus according to any one of claims 8 to 12, further comprising: a path generation module configured to, starting from the initial node, arrange each of the attribute nodes based on a dialogue timeline to obtain the dialogue path.
14. Extracting user feedback information for each pushed attribute query message from the interaction record, and encoding the result of each of the feedback information according to a preset policy; ordering the results of each of the feedback information encoded based on the interaction time series to obtain a first sub-vector; determining a quantity of product information in a candidate product set corresponding to each valid attribute node in the interaction path, and arranging the quantity of product information in each candidate product set according to the interaction time series to obtain a second sub-vector; serially concatenating the first sub-vector and the second sub-vector to obtain the current state vector; The apparatus of any one of claims 8 to 13, further comprising a state vector generation unit configured to:
15. one or more processors; An electronic device comprising: a storage device in which one or more programs are stored; An electronic device, wherein said one or more programs, when executed by said one or more processors, cause said one or more processors to implement the method according to any one of claims 1 to 7.
16. A computer-readable medium on which a computer program is stored, A computer readable medium, the computer program being adapted to implement the method of any one of claims 1 to 7 when executed by a processor.
17. A computer program which, when executed by a processor, implements the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Information recommendation method, server and computer readable medium
CN109559208A
Recommendation method, device and equipment and readable storage medium
CN110532462A
Interactive device, interactive method, and program
JP2011248549A
Merchandise information providing system and program for providing merchandise information
JP2014167722A
Preference analysis system and preference analysis method
JP2016126648A