Object recommendation method and device, equipment, storage medium and program product
By constructing a hypergraph based on user operation data and item attributes, generating sequences and determining object association parameters, the problem of insufficient item embedding in the prior art is solved, and the portrayal of complex objects and more sufficient object recommendations are realized.
Patent Information
- Application Number
- CN202411784894.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-03-28
AI Technical Summary
The existing product recommendation method only considers the binary relationship between items, and cannot effectively characterize the complex data relationship between items and ignore other attributes of items, resulting in insufficient embedding of the acquired items.
Multiple hypergraphs associated with multiple objects are constructed. The hyper edges are built based on user operation data and item attributes, and a sequence with a specified sequence length is generated. Parameters of object association relationship are determined through the target model, and object recommendation is performed.
It realizes the generation of item embeddings based on multiple attributes of the item, thereby portraying the complex real relationships of the item and providing more sufficient object recommendation information.
Smart Images

Figure CN119722229A_ABST
Abstract
Description
Technical Field
[0001] Example embodiments of the present disclosure generally relate to the field of computer technology, and more particularly, to a method, apparatus, electronic device, computer-readable storage medium, and computer program product for object recommendation. Background Art
[0002] In current Internet businesses, it is often necessary to recommend products to users. For example, in the product recommendation scenario, existing product recommendation methods usually only consider the binary relationship between items. However, the actual data relationship between items is usually more complex. The binary relationship cannot be characterized and other attributes of the items are easily ignored, resulting in insufficient embedding of the acquired items. Summary of the invention
[0003] In a first aspect of the present disclosure, a method for object recommendation is provided. The method includes: constructing multiple hypergraphs associated with multiple objects, wherein multiple hyperedges included in the multiple hypergraphs are constructed based on operation data of at least one user on the multiple objects and / or attributes of the multiple objects; generating multiple sequences with a specified sequence length and associated with at least part of the multiple objects based at least on the association between the multiple objects and the multiple hyperedges; determining parameters characterizing the association relationship between the multiple objects by inputting the multiple sequences into a target model; and performing object recommendation for at least one user based on the parameters.
[0004] In a second aspect of the present disclosure, a device for object recommendation is provided. The device includes: a construction module configured to construct multiple hypergraphs associated with multiple objects, wherein multiple hyperedges included in the multiple hypergraphs are constructed based on operation data of at least one user on multiple objects and / or attributes of multiple objects; a generation module configured to generate multiple sequences associated with at least some of the multiple objects with a specified sequence length based at least on the association between the multiple objects and the multiple hyperedges; a determination module configured to place the items in the hypergraph that meet the first preset condition into the corresponding item sequence according to the length of the specific item and the item sequence; and an execution module configured to input the multiple item sequences into a preset model to obtain object recommendations.
[0005] In a third aspect of the present disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory, the at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit. When the instructions are executed by the at least one processing unit, the electronic device executes the method of the first aspect.
[0006] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein a computer program is stored on the medium, and when the computer program is executed by a processor, the method of the first aspect is implemented.
[0007] In a fifth aspect of the present disclosure, a computer program product is provided, which includes a computer program, wherein when the computer program is executed by a processor, the method according to the first aspect of the present disclosure is implemented.
[0008] It should be understood that the content described in this section is not intended to limit the key features or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In the following, in conjunction with the accompanying drawings and with reference to the following detailed description, the above and other features, advantages and aspects of various implementations of the present disclosure will become more apparent. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0010] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented;
[0011] Figure 2 A schematic diagram showing an item embedding system according to some embodiments of the present disclosure is shown;
[0012] Figure 3 A schematic diagram of a hypergraph according to some embodiments of the present disclosure is shown;
[0013] Figure 4 A schematic diagram showing an article embedding process according to some embodiments of the present disclosure is shown;
[0014] Figure 5 A schematic structural block diagram showing an apparatus for embedding an item according to certain embodiments of the present disclosure; and
[0015] Figure 6 A block diagram of a computing device is shown in which one or more embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION
[0016] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0017] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below.
[0018] It should be noted that the acquisition, storage and application of user personal information involved in the technical solution of the present disclosure are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0019] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0020] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information, so that the user can independently choose whether to provide personal information to software or hardware such as electronic devices, applications, servers or storage media that execute operations of the technical solution of the present disclosure based on the prompt message.
[0021] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information is sent to the user in a manner such as a pop-up window, in which the prompt information can be presented in text form. In addition, the pop-up window can also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0022] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation to the embodiments of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the embodiments of the present disclosure.
[0023] As used herein, the term "model" can learn the association between the corresponding input and output from the training data, so that after the training is completed, the corresponding output can be generated for a given input. The generation of the model can be based on machine learning technology. Deep learning is a machine learning algorithm that processes inputs and provides corresponding outputs by using multi-layer processing units. A neural network model is an example of a model based on deep learning. In this article, "model" may also be referred to as "machine learning model", "learning model", "machine learning network" or "learning network", and these terms are used interchangeably in this article.
[0024] A "neural network" is a machine learning network based on deep learning. A neural network is capable of processing inputs and providing corresponding outputs, and typically includes an input layer and an output layer and one or more hidden layers between the input layer and the output layer. Neural networks used in deep learning applications typically include many hidden layers, thereby increasing the depth of the network. The layers of a neural network are connected in sequence so that the output of the previous layer is provided as input to the next layer, where the input layer receives the input of the neural network and the output of the output layer serves as the final output of the neural network. Each layer of a neural network includes one or more nodes (also called processing nodes or neurons), each of which processes input from the previous layer.
[0025] The term "hypergraph" is a general term for a graph whose edges can connect any number of nodes. Specifically, a hypergraph is a pair consisting of a vertex set and a hyperedge set. Each hyperedge is a subset of the vertex set and can contain any number of vertices. A vertex may also be in multiple hyperedges. In general, a hypergraph is a high-dimensional graphical representation of data, specifically used to describe systems with paired combinations of relationships (vertices and hyperedges).
[0026] In some scenarios, a scenario for generating object recommendations can be provided. In the scenario for generating object recommendations, for example, in the item recommendation scenario, business personnel are usually required to input the relationship between items into the graph embedding model to obtain a simple graph of items. In this case, the relationship between items is usually generated based on user behavior data.
[0027] In such a scenario of generating object recommendations, since object recommendations are only characterized based on the binary relationship between items (such as related purchases by users, etc.), other attributes of the items (such as price, category, usage scenarios, etc.) are ignored, it is difficult to reflect the complex real-world relationship between items, resulting in insufficient object recommendation information obtained.
[0028] The embodiment of the present disclosure provides a solution for object recommendation. According to the solution, multiple hypergraphs associated with multiple objects can be constructed, and multiple hyperedges included in the multiple hypergraphs are constructed based on the operation data of at least one user on the multiple objects and / or the attributes of the multiple objects; multiple sequences with a specified sequence length and associated with at least part of the multiple objects are generated based at least on the association between the multiple objects and the multiple hyperedges; by inputting the multiple sequences into a target model, parameters characterizing the association relationship between the multiple objects are determined; and object recommendation for at least one user is performed based on the parameters.
[0029] Therefore, the embodiments of the present disclosure can provide a solution that can generate object embedding according to multiple attributes of the object, thereby achieving the effect of characterizing the complex real-world relationships of the objects.
[0030] Figure 1 1 is a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. Figure 1 As shown, the example environment 100 may include an electronic device 110. The electronic device 110 may run an application 120 that supports object recommendation. The application 120 may be any suitable type of application that supports object recommendation, and the embodiments of the present disclosure are not limited in this respect. The user 140 may interact with the application 120 via the electronic device 110 and / or its attached device.
[0031] In the example environment 100, if the application 120 is active, the electronic device 110 may present an interface 150 for supporting object recommendation through the application 120. Through the application 120, a sequence of items to be profiled may be input to obtain object recommendations.
[0032] In some embodiments, the electronic device 110 communicates with the server 130 to provide services for the application 120. The electronic device 110 can be any type of mobile terminal, fixed terminal or portable terminal, including a mobile phone, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multimedia tablet, a handheld computer, a portable game terminal, a VR / AR device, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio receiver, an e-book device, a game device, or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. In some embodiments, the electronic device 110 can also support any type of interface for the user (such as a "wearable" circuit, etc.).
[0033] The server 130 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks, and big data and artificial intelligence platforms. The server 130 may include, for example, a computing system / server, such as a mainframe, an edge computing node, a computing device in a cloud environment, etc. The server 130 may provide background services for the application 120 that supports content presentation in the electronic device 110.
[0034] A communication connection may be established between the server 130 and the electronic device 110. The communication connection may be established in a wired manner or a wireless manner. The communication connection may include, but is not limited to, a Bluetooth connection, a mobile network connection, a Universal Serial Bus (USB) connection, a Wireless Fidelity (WiFi) connection, etc., and the embodiments of the present disclosure are not limited in this respect. In the embodiments of the present disclosure, the server 130 and the electronic device 110 may implement signaling interaction through the communication connection between the two.
[0035] It should be understood that the structure and function of the various elements in the environment 100 are described for exemplary purposes only and do not imply any limitation on the scope of the present disclosure.
[0036] Figure 2 1 shows a schematic diagram of an object recommendation system 200 according to some embodiments of the present disclosure. The object recommendation system 200 may be run at the electronic device 110 to implement the object recommendation function of the application 120. For ease of discussion, reference will be made to Figure 1 The system 200 is described with reference to the environment 100 of FIG.
[0037] like Figure 2 As shown, the object recommendation system 200 includes an information acquisition module 210, which is configured to obtain the attributes of the object, for example, in the item recommendation scenario, to obtain the user's behavior information (i.e., the operation data on the object) and the item attributes (i.e., the object attributes). The user behavior information can be obtained from the user behavior log, and the item attributes can be extracted by the user inputting the item information, and then extracting the item attributes based on the item information. Among them, the operation database includes the browsing information of the item, the operation information of adding the item to the shopping cart, and the purchase information of the item.
[0038] In some embodiments, the information acquisition module 210 can obtain, for example, the browsing information and purchase information of the user on the items from the user's behavior log, and then the information acquisition module 210 determines the association information between the items based on the browsing information and purchase information of the user on the items. The information acquisition module 210 can also obtain item attributes such as the price information of the item (i.e., the corresponding purchase information of the object), the category information of the item, and the manufacturer of the item based on the item list.
[0039] like Figure 2As shown, after acquiring the item attributes and the user's behavior information, the information acquisition module 210 sends the item attributes and the user's behavior information to the hypergraph generation module 220. The hypergraph generation module 220 is configured to generate a hypergraph according to each item attribute and each type of user's behavior information. The hypergraph includes multiple hyperedges, each hyperedge corresponds to, for example, a different threshold value in the same item attribute, each item is a vertex of the hypergraph, and each hyperedge can have a pair of vertices.
[0040] In some embodiments, the hypergraph generation module 220 can generate a hypergraph based on user behavior, for example, taking the items browsed by the same user within 15 days as a hyperedge, and the hypergraph can include hyperedges corresponding to multiple users. The hypergraph generation module 220 can also generate hyperedges based on, for example, the item categories in the item attributes, and each item category corresponds to a hyperedge. The hypergraph generation module 220 can also generate hyperedges based on, for example, the prices in the item attributes, for example, setting a price range and taking the items in the range as a hyperedge of the hypergraph. In one example, an item with a price of 1-100 yuan corresponds to a hyperedge, and an item with a price of 100-200 yuan corresponds to a hyperedge.
[0041] like Figure 2 As shown, the sequence generation module 230 is configured to generate an item sequence (i.e., sequence) based on a user-specified sequence length. The longer the sequence length, the more information it can contain. The sequence generation module 230 can generate an item sequence corresponding to the number of vertices (i.e., the number of items) contained in the hypergraph. These item sequences use different items in the hypergraph as the first element, and then fill the remaining positions in the item sequence according to the sequence filling module 240.
[0042] like Figure 2 As shown, the sequence filling module 240 is configured to fill the item sequence according to the hypergraph. First, any item in the hypergraph is randomly selected as the first element of the item sequence, and then the item sequence is filled by random walk until the item sequence reaches the length specified by the user.
[0043] like Figure 2 As shown, after the sequence filling module 240 obtains the item sequence corresponding to each item in the hypergraph as the first element according to the hypergraph, these item sequences are sent to the item embedding model 250 as inputs of the item embedding model 250. The item embedding model 250 is configured to obtain the correlation parameters between items according to the input item sequence. After obtaining the correlation parameters between items, item recommendations can be made.
[0044] In some embodiments, the item embedding model 250 may be a skip-gram model.
[0045] Figure 3 FIG. 3 is a schematic diagram of a hypergraph 300 according to some embodiments of the present disclosure. Figure 3 As an example, further expansion Figure 2 The function of the sequence filling module 240 is implemented.
[0046] Reference Figure 3 , 1-6 in the hypergraph 300 represent items 1-6 (i.e., vertices 1-6), box 310 is a hyperedge 1 composed of vertices 1, 2, 4, and 5, box 320 is a hyperedge 2 composed of vertices 3 and 6, and box 330 is a hyperedge 3 composed of vertices 1, 2, and 3. In actual scenarios, the hypergraph 300 may include a number of items preset by the user, and each hyperedge may also include at least two items. The hypergraph 300 in the present disclosure uses 6 vertices only as an exemplary display.
[0047] exist Figure 2 In the random walk mentioned above, the sequence filling module 240 is configured to first determine a hyperedge (first hyperedge) for selecting an item based on a selected specific item (i.e., the first object). Then, an item that meets the random walk condition is selected from the hyperedge for selecting an item, and the selected item is added to the item sequence, an item (i.e., the first element) is added to the item sequence, and the hyperedge for selecting an item is used as the initial hyperedge; and the selected item is used as the specific item, and then it is iterated according to the above method until the item sequence is filled.
[0048] Additionally, the process of determining the hyperedge for selecting an item in the sequence filling module 240 is configured as follows: first, a hyperedge is randomly selected from the hyperedges containing the specific item as the initial hyperedge, and then the jump probability of jumping from the initial hyperedge to another hyperedge containing the specific item in the hypergraph (i.e., the second hyperedge) is calculated. If the jump probability is greater than or equal to the preset probability, it means that a jump is required. If the jump probability is less than the preset probability, the item continues to be selected from the initial hyperedge. The jump probability is associated with a threshold number.
[0049] Additionally, the process of selecting items that meet the random walk condition from the hyperedge for selecting items by the sequence filling module 240 is configured to: calculate the candidate probability of each item in the hyperedge for selecting items being selected, and then select the corresponding item from the hyperedge for selecting items according to the candidate probability.
[0050] In some embodiments, the sequence filling module 240 selects the item corresponding to vertex 2 as the first element of the item sequence, and then needs to select one of the hyperedges 1 and 3 containing vertex 2 as the initial hyperedge, for example, hyperedge 1 is selected as the initial hyperedge. Then the sequence filling module 240 calculates the probability of jumping to another hyperedge (i.e., the third hyperedge). If there are multiple other hyperedges, one is randomly selected from the multiple other hyperedges to jump to. Among them, the jump probability is calculated. Among them, α is a custom parameter, degree(e - ) represents the number of unselected vertices in the hyperedge, indicating that when the number of unselected items in the hyperedge is smaller, it is more likely to switch to another hyperedge containing the item. e ≥θ, then jump to another hyperedge 3 containing vertex 2. If p e <θ, no jump is made and items are selected from the hyperedge 1, where θ is the preset threshold. e The threshold number of items in the corresponding hyperedge can be solved.
[0051] In some embodiments, the sequence filling module 240 jumps from hyperedge 1 to hyperedge 3, and then selects an item from hyperedge 3 to add to the item sequence, such as vertex 3. When selecting an item, the sequence filling module 240 determines the selected item based on the candidate probability of the item. The two points in a hyperedge can be connected to form subedges. i ) is the one that contains v i A hyperedge connecting v i The set of all subedges of ij is the connection v i and v j The sub-edge weight, v i and v j are different vertices in the above hyperedge, p(v j |v i ) indicates that when selecting v i Select v on the premise j The sequence filling module 240 takes the newly selected item as the specific item, takes the hyperedge 3 at the time of this selection as the initial hyperedge, and iterates the hypergraph until the item sequence reaches the length specified by the user.
[0052] Figure 4 FIG. 4 is a schematic diagram of an object recommendation process 400 according to some embodiments of the present disclosure. The process 400 may be implemented as or included in the electronic device 110 .
[0053] In block 410 , the electronic device 110 constructs a plurality of hypergraphs associated with a plurality of objects, wherein a plurality of hyperedges included in the plurality of hypergraphs are constructed based on operation data of at least one user on the plurality of objects and / or attributes of the plurality of objects.
[0054] In block 420 , the electronic device 110 generates a plurality of sequences having a specified sequence length and associated with at least some of the plurality of objects based at least on associations between the plurality of objects and the plurality of hyperedges.
[0055] In block 430 , the electronic device 110 determines parameters representing association relationships between multiple object phases by inputting multiple sequences into a target model.
[0056] In block 440 , the electronic device 110 performs object recommendation for at least one user based on the parameters.
[0057] In some embodiments, the operation data of at least one user on multiple objects includes at least one of the following: operation data of at least one user browsing at least one object among the multiple objects, operation data of at least one user adding at least one object among the multiple objects to a to-be-purchased list, and operation data of at least one user purchasing at least one object among the multiple objects.
[0058] In some embodiments, the attributes of the plurality of objects include: corresponding object categories to which the plurality of objects belong and corresponding purchase information of the plurality of objects.
[0059] In some embodiments, the plurality of hypergraphs include a first hypergraph, and wherein constructing the first hypergraph includes: in response to obtaining a first set of operation data of a first user among at least one user on a first set of objects among a plurality of objects and a second set of operation data of a second user among at least one user on a second set of objects among a plurality of objects, constructing a first hyperedge and a second hyperedge based on the first set of objects and the second set of objects. And generating the first hypergraph based on the first hyperedge and the second hyperedge.
[0060] In some embodiments, the plurality of hypergraphs further include a second hypergraph, and wherein constructing the second hypergraph includes: in response to determining that a third group of objects in the plurality of objects belongs to the first object category and a fourth group of objects in the plurality of objects belongs to the second object category, constructing a third hyperedge and a fourth hyperedge based on the third group of objects and the fourth group of objects, and generating the second hypergraph based on the third hyperedge and the fourth hyperedge.
[0061] In some embodiments, the process 400 further includes: selecting a first object involved in a first hyperedge among the plurality of hyperedges as a first element of the first sequence. Based on the number of objects in the first hyperedge that are not selected as elements of other sequences, determining whether to select a second element of the first sequence from other hyperedges other than the first hyperedge among the plurality of hyperedges.
[0062] In some embodiments, process 400 further includes: in response to determining that the number is below a threshold number, selecting a second object from a second hyperedge in the plurality of hyperedges as a second element of the first sequence.
[0063] In some embodiments, process 400 further includes: determining whether to select a third element of the first sequence from hyperedges other than the first and second hyperedges in the plurality of hyperedges based on the number of objects in the second hyperedge that are not selected as elements of other sequences.
[0064] In some embodiments, process 400 further includes: in response to the first sequence satisfying a specified sequence length after the third element is determined, generating the first sequence based on the first element, the second element, and the third element.
[0065] In some embodiments, determining parameters characterizing the association relationship between multiple objects includes: inputting multiple sequences into a target model, obtaining corresponding vector representations of the multiple objects from an output of the target model, and determining parameters based on the corresponding vector representations.
[0066] The embodiments of the present disclosure also provide corresponding devices for implementing the above methods or processes. Figure 5 A schematic structural block diagram of an apparatus 500 for object recommendation according to some embodiments of the present disclosure is shown. The apparatus 500 may be implemented as or included in the electronic device 110. Each module / component in the apparatus 500 may be implemented by hardware, software, firmware or any combination thereof.
[0067] like Figure 5 As shown, the device 500 includes: a construction module 510, configured to construct a plurality of hypergraphs associated with a plurality of objects, wherein the plurality of hyperedges included in the plurality of hypergraphs are constructed based on operation data of at least one user on the plurality of objects and / or attributes of the plurality of objects; a generation module 520, configured to generate a plurality of sequences having a specified sequence length and associated with at least some of the plurality of objects based at least on the association between the plurality of objects and the plurality of hyperedges; a determination module 530, configured to place the objects in the hypergraph that meet the first preset condition into the corresponding object sequence according to the length of the specific objects and the object sequence; and an execution module 540, configured to input the plurality of object sequences into a preset model to obtain object recommendations.
[0068] In some embodiments, the device 500 is also configured so that the operation data of at least one user on multiple objects includes at least one of the following: operation data of at least one user browsing at least one object among the multiple objects, operation data of at least one user adding at least one object among the multiple objects to a to-be-purchased list, and operation data of at least one user purchasing at least one object among the multiple objects.
[0069] In some embodiments, the apparatus 500 is further configured such that the attributes of the plurality of objects include corresponding object categories to which the plurality of objects belong and corresponding purchase information of the plurality of objects.
[0070] In some embodiments, the apparatus 500 is further configured to construct a first hyperedge and a second hyperedge based on the first group of objects and the second group of objects in response to obtaining a first set of operation data of a first user among at least one user on a first group of objects among the multiple objects and a second set of operation data of a second user among at least one user on a second group of objects among the multiple objects, and generate a first hypergraph based on the first hyperedge and the second hyperedge.
[0071] In some embodiments, the apparatus 500 is further configured to construct a third hyperedge and a fourth hyperedge based on the third group of objects and the fourth group of objects in response to determining that the third group of objects in the plurality of objects belongs to the first object category and the fourth group of objects in the plurality of objects belongs to the second object category, and generate a second hypergraph based on the third hyperedge and the fourth hyperedge.
[0072] In some embodiments, the apparatus 500 is further configured to select a first object involved in a first hyperedge among the plurality of hyperedges as a first element of the first sequence. Based on the number of objects in the first hyperedge that are not selected as elements of other sequences, determine whether to select a second element of the first sequence from other hyperedges other than the first hyperedge among the plurality of hyperedges.
[0073] In some embodiments, the apparatus 500 is further configured to, in response to determining that the number is below a threshold number, select a second object from a second hyperedge of the plurality of hyperedges as a second element of the first sequence.
[0074] In some embodiments, the apparatus 500 is further configured to determine whether to select a third element of the first sequence from hyperedges other than the first and second hyperedges in the plurality of hyperedges based on the number of objects in the second hyperedge that have not been selected as elements of other sequences.
[0075] In some embodiments, the apparatus 500 is further configured to generate the first sequence based on the first element, the second element, and the third element in response to the first sequence satisfying a specified sequence length after the third element is determined.
[0076] In some embodiments, the apparatus 500 is further configured to input the plurality of sequences into the target model, obtain corresponding vector representations of the plurality of objects from the output of the target model, and determine parameters based on the corresponding vector representations.
[0077] The units and / or modules included in the device 500 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules can be implemented using software and / or firmware, such as machine executable instructions stored on a storage medium. In addition to or as an alternative to machine executable instructions, some or all of the units and / or modules in the device 500 can be implemented at least in part by one or more hardware logic components. As an example and not limitation, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0078] It should be understood that one or more steps in the above method can be performed by a suitable electronic device or a combination of electronic devices. Such an electronic device or a combination of electronic devices may include, for example, Figure 1 The electronic device 110 in.
[0079] Figure 6 1 shows a block diagram of an electronic device 600 in which one or more embodiments of the present disclosure may be implemented. It should be understood that Figure 6 The electronic device 600 shown is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. Figure 6 The electronic device 600 shown can be used to implement Figure 1 Electronic device 110 or Figure 5 Device 500.
[0080] like Figure 6 As shown, the electronic device 600 is in the form of a general electronic device. The components of the electronic device 600 may include, but are not limited to, one or more processors or processing units 610, a memory 620, a storage device 630, one or more communication units 640, one or more input devices 650, and one or more output devices 660. The processing unit 610 may be an actual or virtual processor and is capable of performing various processes according to a program stored in the memory 620. In a multi-processor system, multiple processing units execute computer executable instructions in parallel to improve the parallel processing capability of the electronic device 600.
[0081] The electronic device 600 typically includes a plurality of computer storage media. Such media can be any available media accessible to the electronic device 600, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 620 can be a volatile memory (e.g., registers, caches, random access memory (RAM)), a non-volatile memory (e.g., a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory) or some combination thereof. The storage device 630 can be a removable or non-removable medium, and can include a machine-readable medium, such as a flash drive, a disk, or any other medium, which can be used to store information and / or data and can be accessed within the electronic device 600.
[0082] The electronic device 600 may further include additional removable / non-removable, volatile / non-volatile storage media. Figure 6 As shown in , a disk drive for reading or writing from a removable, non-volatile disk (e.g., a "floppy disk") and an optical drive for reading or writing from a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to the bus (not shown) by one or more data media interfaces. The memory 620 may include a computer program product 625 having one or more program modules that are configured to perform various methods or actions of various embodiments of the present disclosure.
[0083] The communication unit 640 implements communication with other electronic devices through a communication medium. Additionally, the functions of the components of the electronic device 600 can be implemented with a single computing cluster or multiple computing machines that can communicate through a communication connection. Therefore, the electronic device 600 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.
[0084] The input device 650 may be one or more input devices, such as a mouse, a keyboard, a tracking ball, etc. The output device 660 may be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 600 may also communicate with one or more external devices (not shown) through the communication unit 640 as needed, such as a storage device, a display device, etc., communicate with one or more devices that allow a user to interact with the electronic device 600, or communicate with any device that allows the electronic device 600 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0085] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.
[0086] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices, equipment, and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0087] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0088] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0089] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0090] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the various implementations disclosed herein.
Claims
1. An object recommendation method, comprising: Constructing a plurality of hypergraphs associated with a plurality of objects, wherein a plurality of hyperedges included in the plurality of hypergraphs are constructed based on operation data of at least one user on the plurality of objects and / or attributes of the plurality of objects; generating a plurality of sequences having a specified sequence length and associated with at least some of the plurality of objects based at least on associations between the plurality of objects and the plurality of hyperedges; Determining parameters characterizing the association relationship between the plurality of object phases by inputting the plurality of sequences into a target model; as well as An object recommendation is performed for the at least one user based on the parameter.
2. The method according to claim 1, wherein the operation data of the at least one user on the plurality of objects comprises at least one of the following: Operation data of at least one user browsing at least one object among the plurality of objects, Operation data of adding at least one object of the plurality of objects to a to-be-purchased list by the at least one user, The at least one user purchases operation data of at least one object among the plurality of objects.
3. The method according to claim 1, wherein the attributes of the plurality of objects include: the respective object categories to which the plurality of objects belong, Corresponding purchase information of the multiple objects.
4. The method of claim 1 , wherein the plurality of hypergraphs comprises a first hypergraph, and wherein constructing the first hypergraph comprises: In response to acquiring a first set of operation data of a first user among the at least one user on a first group of objects among the plurality of objects and a second set of operation data of a second user among the at least one user on a second group of objects among the plurality of objects, constructing a first hyperedge and a second hyperedge based on the first group of objects and the second group of objects; as well as The first hypergraph is generated based on the first hyperedge and the second hyperedge.
5. The method of claim 4, wherein the plurality of hypergraphs further comprises a second hypergraph, and wherein constructing the second hypergraph comprises: In response to determining that a third group of objects in the plurality of objects belongs to the first object category and a fourth group of objects in the plurality of objects belongs to the second object category, constructing a third hyperedge and a fourth hyperedge based on the third group of objects and the fourth group of objects; as well as The second hypergraph is generated based on the third hyperedge and the fourth hyperedge.
6. The method according to claim 1, further comprising: selecting a first object involved in a first hyperedge among the plurality of hyperedges as a first element of a first sequence; as well as Based on the number of objects in the first hyperedge that have not been selected as elements of other sequences, it is determined whether a second element of the first sequence is to be selected from other hyperedges in the plurality of hyperedges except the first hyperedge.
7. The method according to claim 6, further comprising: In response to determining that the number is below a threshold number, a second object is selected from a second hyperedge of the plurality of hyperedges as the second element of the first sequence.
8. The method according to claim 7, further comprising: Whether to select a third element of the first sequence from other hyperedges among the plurality of hyperedges excluding the first hyperedge and the second hyperedge is determined based on the number of objects in the second hyperedge that are not selected as elements of other sequences.
9. The method according to claim 8, further comprising: In response to the first sequence satisfying a specified sequence length after the third element is determined, a first sequence is generated based on the first element, the second element, and the third element.
10. The method according to claim 1, wherein determining the parameter characterizing the association relationship between the plurality of object phases comprises: inputting the plurality of sequences into the target model; Obtain corresponding vector representations of the plurality of objects from outputs of the target model; as well as The parameters are determined based on the corresponding vector representations.
11. A device for object recommendation, comprising: A construction module is configured to construct a plurality of hypergraphs associated with a plurality of objects, wherein a plurality of hyperedges included in the plurality of hypergraphs are constructed based on operation data of at least one user on the plurality of objects and / or attributes of the plurality of objects; A generating module, configured to generate a plurality of sequences having a specified sequence length and associated with at least part of the plurality of objects based at least on associations between the plurality of objects and the plurality of hyperedges; A determination module, configured to place the items in the hypergraph that meet the first preset condition into a corresponding item sequence according to the specific item and the length of the item sequence; as well as The execution module is configured to input the multiple item sequences into a preset model to obtain object recommendations.
12. An electronic device comprising: at least one processing unit; as well as At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the electronic device to perform the method according to any one of claims 1 to 10 when executed by the at least one processing unit.
13. A computer-readable storage medium having a computer program stored thereon, wherein the computer program can be executed by a processor to implement the method according to any one of claims 1 to 10.
14. A computer program product tangibly stored in a computer storage medium and comprising computer executable instructions which, when executed by a device, cause the device to perform the method according to any one of claims 1 to 10.