Method and apparatus for recommending goods
By analyzing the product order of historical users, a set of candidate product types is obtained, which solves the problem of insufficient identification of user flow patterns in existing technologies, realizes user recall and new user acquisition across product types, and improves the accuracy of recommendations.
Patent Information
- Application Number
- CN202210112985.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-29
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2042-01-29
AI Technical Summary
Existing technologies struggle to accurately identify user flow patterns across different product types in product recommendations based on user behavior, leading to the omission of potential new users when recalling existing users. Furthermore, user tags, which rely on manual analysis, are highly subjective.
By analyzing multiple products ordered by multiple historical users, a set of candidate product types corresponding to the target product type is obtained. The flow patterns between product types are used to recall target users, thereby achieving user acquisition across different product types.
It improves the accuracy of user recall, can identify the flow patterns of users across different product types, and achieves new user acquisition across different product types, reducing reliance on manual analysis.
Smart Images

Figure CN114445190B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computer, in particular to the technical field of recommendation based on artificial intelligence, and specifically to a commodity recommendation method and device, electronic equipment, computer readable storage medium and computer program product. BACKGROUND
[0002] Artificial intelligence is a discipline that studies enabling computers to simulate some thinking processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.) of human beings, which has both hardware and software technologies. Artificial intelligence hardware technology generally includes technologies such as sensors, special artificial intelligence chips, cloud computing, distributed storage, big data processing, etc. Artificial intelligence software technology mainly includes computer vision technology, speech recognition technology, natural language processing technology, and machine learning / deep learning, big data processing technology, knowledge graph technology, etc.
[0003] Recommendation based on artificial intelligence has penetrated into various fields. Among them, commodity recommendation based on artificial intelligence recommends commodities to users according to user behaviors of users, such as commodities purchased by users.
[0004] The methods described in this section can not necessarily be the methods previously conceived or used. Unless otherwise indicated, nothing in this section should be assumed to be prior art merely because it is included in this section. Similarly, issues mentioned in this section should not be assumed to have been admitted to be prior art in any jurisdiction unless otherwise indicated. SUMMARY
[0005] The present disclosure provides a commodity recommendation method and device, electronic equipment, computer readable storage medium and computer program product.
[0006] According to an aspect of the present disclosure, a commodity recommendation method is provided, comprising: obtaining a plurality of historical users based on a plurality of commodity sets respectively corresponding to a plurality of commodity types, each of the plurality of historical users corresponding to a plurality of commodities respectively from different commodity sets in the plurality of sets, and the plurality of commodities being arranged in order; obtaining a candidate commodity type set corresponding to a target commodity type in the plurality of commodity types from the plurality of commodity types based on the plurality of commodities corresponding to each of the plurality of historical users and the arrangement order of the plurality of commodities; and obtaining a target user corresponding to the target commodity type based on the candidate commodity type set.
[0007] According to another aspect of the present disclosure, there is provided a commodity recommendation apparatus, comprising: a historical user obtaining unit configured to obtain a plurality of historical users based on a plurality of commodity sets respectively corresponding to a plurality of commodity types, each of the plurality of historical users corresponding to a plurality of commodities respectively from different commodity sets in the plurality of sets and the plurality of commodities being arranged in order; a candidate commodity type obtaining unit configured to obtain a candidate commodity type set corresponding to a target commodity type in the plurality of commodity types from the plurality of commodity types based on the plurality of commodities corresponding to each of the plurality of historical users and the arrangement order of the plurality of commodities; and a target user obtaining unit configured to obtain a target user corresponding to the target commodity type based on the candidate commodity type set.
[0008] According to another aspect of the present disclosure, there is provided an electronic device, comprising: at least one processor; and a memory communicatively connected with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to cause the at least one processor to implement the method according to the above.
[0009] According to another aspect of the present disclosure, there is provided a non-transitory computer readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to implement the method according to the above.
[0010] According to another aspect of the present disclosure, there is provided a computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the method according to the above.
[0011] According to one or more embodiments of the present disclosure, based on the plurality of commodities corresponding to each of the plurality of historical users and the arrangement order of the plurality of commodities, the candidate commodity type set corresponding to the target commodity type is obtained, and then the target user corresponding to the target commodity type is obtained based on the candidate commodity type set, so as to implement the user of the commodity type different from the target commodity type as the target user of the target commodity type for recall, and then implement the user acquisition across different commodity types.
[0012] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0013] The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments and together with the description serve to explain exemplary implementations of the application. The illustrated embodiments are exemplary only and not limiting of the scope of the appended claims. In all
[0014] Figure 1 A schematic diagram illustrating an exemplary system in which various methods described herein can be implemented according to embodiments of the present disclosure is shown;
[0015] Figure 2 A flowchart illustrating a commodity recommendation method according to embodiments of the present disclosure is shown;
[0016] Figure 3 A flowchart illustrating a process of obtaining a plurality of historical users based on a plurality of commodity sets respectively corresponding to a plurality of commodity types in a commodity recommendation method according to embodiments of the present disclosure is shown;
[0017] Figure 4 A flowchart illustrating a process of obtaining a candidate commodity type set corresponding to a target commodity type from a plurality of commodity types in a commodity recommendation method according to embodiments of the present disclosure is shown;
[0018] Figure 5 A flowchart illustrating a process of obtaining a candidate commodity type set based on a plurality of similarities corresponding to a target commodity type in a commodity recommendation method according to embodiments of the present disclosure is shown;
[0019] Figure 6 A flowchart illustrating a process of obtaining a target user corresponding to a target commodity type based on a candidate commodity type set in a commodity recommendation method according to embodiments of the present disclosure is shown;
[0020] Figure 7 A flowchart illustrating a process of obtaining a target user set based on a plurality of candidate user sets corresponding to a candidate commodity type set in a commodity recommendation method according to embodiments of the present disclosure is shown;
[0021] Figure 8 A block diagram illustrating a structure of a commodity recommendation apparatus according to embodiments of the present disclosure is shown; and
[0022] Figure 9 A block diagram illustrating an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0023] Exemplary embodiments of the present disclosure are described herein below with reference to the accompanying drawings, in which various specific details are set forth to assist in understanding the present disclosure. It will be apparent, however, to one of ordinary skill in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
[0024] In the present disclosure, the terms "first", "second", and the like are used to describe various elements only for the purpose of distinguishing one element from another, and the terms are not intended to limit the positions, sequence, or importance of the elements. In some examples, a first element and a second element can refer to the same instance of the element, and in some cases, they can refer to different instances of the element based on the context of the description.
[0025] The terms used in the description of various described examples in the present disclosure are only for the purpose of describing particular examples and are not intended to be limiting. Unless specifically defined otherwise, an element that is a singular can be plural and vice versa. Also, the term "and / or" used in the present disclosure encompasses any and all possible combinations of the listed items.
[0026] Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0027] Figure 1 A schematic diagram of an example system 100 in which various methods and apparatus described herein can be implemented according to embodiments of the present disclosure is shown. Referring to Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 can be configured to execute one or more application programs.
[0028] In embodiments of the present disclosure, the server 120 can run one or more services or software applications that enable the execution of a method of product recommendation.
[0029] In certain embodiments, the server 120 can also provide other services or software applications that can include non-virtual environments and virtual environments. In certain embodiments, these services can be provided as web-based services or cloud services, for example, to users of the client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.
[0030] InFigure 1 In the illustrated configuration, server 120 can include one or more components that implement functionality performed by server 120. These components can include software components that are executable by one or more processors, hardware components, or combinations thereof. Users operating client devices 101, 102, 103, 104, 105, and / or 106 can in turn utilize one or more client applications to interact with server 120 to utilize services provided by these components. It should be understood that a wide variety of system configurations are possible, which can vary from system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0031] A user can use client device 101, 102, 103, 104, 105, and / or 106 to receive recommended items. The client device can provide an interface that enables a user of the client device to interact with the client device. The client device can also output information to the user via the interface. Although Figure 1 Only six client devices are depicted, but one of skill in the art will appreciate that the present disclosure can support any number of client devices.
[0032] Client devices 101, 102, 103, 104, 105, and / or 106 can include various types of computer devices, such as portable handheld devices, general purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service kiosk devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, and the like. These computer devices can run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux, or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices can include cellular telephones, smartphones, tablet computers, personal digital assistants (PDAs), and the like. Wearable devices can include head-mounted displays (such as smart glasses) and other devices. Gaming systems can include various handheld gaming devices, Internet-enabled gaming devices, and the like. The client devices are capable of executing various different applications, such as various Internet-related applications, communication applications (such as email applications), short message service (SMS) applications, and can use various communication protocols.
[0033] Network 110 can be any type of network familiar to those skilled in the art, which can support data communications using any of a variety of available protocols, including without limitation TCP / IP, SNA, IPX, etc. As an example only, one or more of networks 110 can be a LAN, an Ethernet network, a Token Ring network, a WAN, the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infra-red network, a wireless network (e.g., a Bluetooth network, a WIFI network), and / or any combination of these and / or other networks.
[0034] Server 120 can include one or more general purpose computers, special purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers, large mainframe computers), server clusters, or any other appropriate arrangement and / or combination. Server 120 can include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 can be adapted to run one or more services or software applications provided by the functionality described below.
[0035] Computing units in server 120 can run one or more operating systems, including any of the operating systems described above, as well as any commercially available server operating systems. Server 120 can also run any of a variety of additional server applications and / or mid-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0036] In some embodiments, server 120 can include one or more applications to analyze and consolidate data feeds and / or event updates from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 can also include one or more applications to display the data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.
[0037] In some embodiments, server 120 can be a server of a distributed system, or a server in combination with a blockchain. Server 120 can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. The cloud server is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and virtual private server (VPS, Virtual Private Server) services.
[0038] The system 100 can also include one or more databases 130. In certain embodiments, these databases can be used to store data and other information. For example, one or more of the databases 130 can be used to store information such as audio files and video files. The data stores 130 can reside in various locations. For example, a data store used by the server 120 can be local to the server 120, or can be remote from the server 120 and can communicate with the server 120 via a network- or application-specific connection. The data stores 130 can be of different types. In certain embodiments, a data store used by the server 120 can be a database, such as a relational database. One or more of these databases can store, update, and retrieve data to and from the database in response to commands.
[0039] In certain embodiments, one or more of the databases 130 can also be used by applications to store application data. Databases used by applications can be different types of databases, such as key-value stores, item stores, or regular stores supported by file systems.
[0040] Figure 1 The system 100 can be configured and operated in various ways to enable the application of various methods and apparatuses described in accordance with the present disclosure.
[0041] Referring to Figure 2 A method 200 of item recommendation according to an embodiment of the present disclosure, comprising:
[0042] Step S210: obtaining a plurality of historical users based on a plurality of item sets respectively corresponding to a plurality of item types;
[0043] Step S220: obtaining a candidate item type set corresponding to a target item type from the plurality of item types based on a plurality of items corresponding to each of the plurality of historical users and an arrangement order of the plurality of items; and
[0044] Step S230: obtaining a target user corresponding to the target item type based on the candidate item type set, to recommend at least one item in the first item set to the target user.
[0045] By obtaining a candidate item type set corresponding to a target item type based on a plurality of items corresponding to each of the plurality of historical users and an arrangement order of the plurality of items, and then obtaining a target user corresponding to the target item type based on the candidate item type set, users of item types different from the target item type can be recalled as target users of the target item type, and thus cross-user promotion across different item types can be achieved.
[0046] In the related art, a user tag is obtained by analyzing the user behavior of a user, and the user is recalled as a user of a product type corresponding to the user tag based on the user tag. For example, in the process of user shopping, a three-level category of a purchased product is taken as a product type, all products under the three-level category are taken as a product set corresponding to the product type, and above the three-level category, there are often a two-level category and a one-level category. The two-level category includes multiple three-level categories, and the one-level category includes multiple two-level categories. Each three-level category corresponds to a product set. The user has purchased a product with a three-level category of children's books. Then, the user tag of the user is analyzed to correspond to a maternal and infant user. According to the user tag of the maternal and infant user, target users of other three-level categories (for example, children's toys) under the upper-level category (i.e., the two-level category or the one-level category, such as maternal and infant products) of children's books are recalled. This process requires manual analysis of the user tag of the user, so that the user tag is strongly dependent on the subjectivity of the analysis process, and does not consider that the purchased products of the user in the shopping process may change across the two-level category or the one-level category, i.e., the user may purchase electronic products (such as projectors) in addition to maternal and infant products, thereby ignoring the flow rule between the two-level category or the one-level category above the three-level category, so that the users recalled based on the user tag often miss many potential new users.
[0047] In the technical solution according to the present disclosure, since the historical user corresponds to a plurality of products arranged in order, the plurality of products are respectively from different product type corresponding product sets, i.e., the plurality of products corresponding to the historical user respectively correspond to different product types, which contains the flow rule of the user between different product types. When a plurality of historical users are obtained based on a plurality of product sets corresponding to a plurality of product types, for each product set in the plurality of product sets, the plurality of historical users at least include a historical user corresponding to the product set, and the plurality of products corresponding to the historical user include the products in the product set, so that each product type can be included and embodied in the flow rule of the historical user because the historical user corresponds to the product set corresponding to the product type. Therefore, based on the plurality of products arranged in order corresponding to each historical user in the plurality of historical users, the flow rule of the user between a plurality of product types can be obtained. Based on the plurality of products arranged in order corresponding to the historical user, a candidate product type set of a target product type is obtained, and there is a corresponding flow rule between the candidate product type in the candidate product type set and the target product type. Therefore, in the process of recalling target users of the target product type based on the candidate product type set, the target users of the target product type are recalled based on the plurality of product types having the flow rule with the target product type, so that users between different product types can be obtained, and the new users of different product types are recruited.
[0048] For example, a user first purchases a book with a third-level category of children's books, then purchases a brand tablet with a third-level category of tablets, and finally purchases a brand electronic organ with a third-level category of electronic organs, which reflects the flow of the user among multiple third-level categories including children's books, tablets, and electronic organs, and the third-level categories of children's books, tablets, and electronic organs correspond to different upper-level categories (second-level categories or first-level categories). When recalling users for the third-level category "tablets", users of the third-level categories of children's books and electronic organs can be recalled, thereby realizing the user acquisition across the second-level categories or first-level categories above the third-level categories.
[0049] It should be noted that, in the above embodiments, the third-level category is taken as an example of the product type, which is merely exemplary. Those skilled in the art should understand that the second-level category or the first-level category can also be taken as the product type to achieve the method and technical effects of the present disclosure. Meanwhile, it should be understood that the multiple product types correspond to the multiple product sets respectively, which means that each product type corresponds to a product set. The multiple products corresponding to each historical user and coming from the same product set in the multiple product sets means that the multiple products corresponding to each historical user have different product types, and thus the flow rule of the historical user among different product types can be reflected.
[0050] In some embodiments, the user behaviors of multiple users are collected, and the multiple historical users are obtained by analyzing the user behaviors of the multiple users.
[0051] For example, by analyzing the purchase history records of all users on a shopping platform (APP), multiple historical users who purchase different products at different time points are obtained.
[0052] In the technical solutions of the present disclosure, the collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solutions comply with relevant laws and regulations and do not violate public order and good customs.
[0053] In some embodiments, as shown in Figure 3 The obtaining of the multiple historical users includes:
[0054] Step S310: obtaining multiple users and user behavior data of each user in the multiple users, the user behavior data of each user in the multiple users including at least one product obtained by the user in the multiple product sets;
[0055] Step S320: for each user in the multiple users, in response to determining that the at least one product included in the user behavior data of the user includes multiple products respectively coming from different product sets in the multiple product sets, determining the user as a candidate user and adding the user to a candidate user set; and
[0056] Step S330: obtaining the plurality of historical users based on the candidate user set.
[0057] By obtaining the user behavior data of the plurality of users, the plurality of historical users are obtained, and the users corresponding to the plurality of goods arranged in sequence are obtained.
[0058] In some embodiments, the at least one good obtained by the user included in the user behavior data in the plurality of good sets is at least one good purchased by the user.
[0059] In some embodiments, the user behavior data of each user in the plurality of users further includes a time point corresponding to each of the at least one good obtained by the user when the good is obtained, and the plurality of historical users include a plurality of first candidate users in the candidate user set, and in the user behavior data of each of the plurality of first candidate users, the time point corresponding to each of the at least one good obtained by the first candidate user is within a first preset time range.
[0060] Since the flow rule of users between categories is time-effective, for example, users of maternal and child products only have obvious flow rules within one to two years, by obtaining user behavior data within a preset time range, historical users are obtained, so that the obtained historical users have flow rules within the preset time range, the shopping behavior of the users is accurate, and thus the obtained target users are accurate.
[0061] In some embodiments, the historical users are obtained according to the attributes of the plurality of users. For example, the attributes of the users can be maternal and child users, college student users, or beauty blogger users, etc. In some embodiments, the attributes of the users are obtained according to the age, occupation, etc. of the users.
[0062] In some embodiments, as shown in FIG. 4, obtaining the candidate good type set corresponding to the target good type in the plurality of good types from the plurality of good types includes: Figure 4
[0063] Step S410: for each historical user in the plurality of historical users, obtaining a different good type corresponding to a different good set in the plurality of good types, and arranging the different good type according to the arrangement order of the plurality of goods of the historical user, to obtain a good type sequence corresponding to the historical user;
[0064] Step S420: obtaining a vector representation of each good type in the plurality of good types based on the plurality of good type sequences corresponding to the plurality of historical users;
[0065] Step S430: obtaining a similarity between the target commodity type and each of the plurality of commodity types based on the plurality of vector representations corresponding to the plurality of commodity types; and
[0066] Step S440: obtaining the candidate commodity type set based on the plurality of similarities corresponding to the target commodity type.
[0067] By obtaining the vector representation of each of the plurality of commodity types, the candidate commodity type is obtained, and since the vector representation is related to the arrangement order of the commodity types in the commodity type sequence, the obtained vector representation includes the flow rule of the user between the commodity types, and the candidate commodity type obtained based on the vector representation is accurate.
[0068] In some embodiments, the vector representation of each of the plurality of commodity types is obtained by using a skip-gram word embedding technology.
[0069] For example, based on the commodity type sequence of the mother and baby user: [milk powder], [children's books] … [computer], [projector], the commodity type sequence of the travel blogger: [luggage], [cosmetics] … [air ticket], [hotel], [shoes], … and the commodity type sequence of the student user: [teaching aid], [mobile phone], [computer], etc., the vector representations of the commodity types “milk powder”, “children's books”, “computer”, “projector”, “luggage”, “cosmetics”, “air ticket”, “hotel”, “shoes”, … “teaching aid”, “mobile phone” and the like are obtained, for example: “milk powder”: vector 1, “children's books”: vector 2, “computer”: vector 3, “projector”: vector 4, “luggage”: vector 5, “cosmetics”: vector 6, “air ticket”: vector 7, “hotel”: vector 8, “shoes”: vector 9, … “teaching aid”: vector n-1, “mobile phone” vector n, where n is a positive integer.
[0070] In some embodiments, one or more commodity types with a similarity greater than a preset similarity threshold value with the target commodity type are added to the candidate commodity type set as candidate commodity types.
[0071] In some embodiments, as shown in FIG. 4B, obtaining the candidate commodity type set based on the plurality of similarities corresponding to the target commodity type includes: Figure 5
[0072] Step S510: obtaining a preset number of similarities in the plurality of similarities, wherein each of the preset number of similarities is greater than any similarity in the plurality of similarities that is different from each of the preset number of similarities; and
[0073] Step S520: obtaining the candidate commodity type set based on the preset number of similarities.
[0074] The preset number of commodity types with higher similarities are taken as candidate commodity types of the target commodity, so that the obtained candidate commodity types are more likely to be the commodity types that the user flows between and the target commodity type based on the flow regularity, thereby making the target user of the target commodity type obtained based on the candidate commodity type more accurate.
[0075] In some embodiments, as shown in Figure 6 obtaining the target user corresponding to the target commodity type based on the candidate commodity type set comprises:
[0076] Step S610: For each candidate commodity type in the candidate commodity type set, obtaining a user set corresponding to the candidate commodity type, each user in the user set corresponding to a first commodity from a commodity set corresponding to the candidate commodity type in the plurality of commodity sets; and
[0077] Step S620: obtaining the target user set based on the plurality of user sets corresponding to the candidate commodity type set.
[0078] In some embodiments, the first commodity is a commodity obtained by the user from the commodity set corresponding to the candidate commodity type.
[0079] In one example, the first commodity is a commodity corresponding to the candidate commodity type purchased by the user. For example, for the target commodity type "computer", the obtained candidate commodity type set includes "teaching aid", "mobile phone" and "projector", and the users who have purchased teaching aids, mobile phones and projectors are all target users of the target commodity type "computer".
[0080] In another example, the first commodity is a commodity corresponding to the candidate commodity type added to the shopping cart by the user.
[0081] In some embodiments, as shown in Figure 7 For each candidate commodity type in the candidate commodity type set, the first commodity corresponding to each user in the user set corresponding to the commodity type has a corresponding time point, and obtaining the target user set based on the plurality of candidate user sets corresponding to the candidate commodity type set comprises:
[0082] Step S710: For each user set in the plurality of user sets, obtaining a plurality of first users of the user set, and the time point of the first commodity corresponding to each first user in the plurality of first users being within a second preset time range; and
[0083] Step S720: Obtain the target user based on the plurality of first users in each of the plurality of user sets.
[0084] Since the flow of users between product types also has timeliness, the target user is obtained from the first users whose time points of obtaining the first product corresponding to the candidate product type are within the second preset time range, so that the obtained target user is further accurate.
[0085] For example, for the target product type "computer", the obtained candidate product type set includes "teaching aid", "mobile phone" and "projector", and the users who have purchased teaching aids, mobile phones and projectors within a month are all target users of the target product type "computer".
[0086] In some embodiments, after obtaining the target user, the feature data of the user is input into the prediction model, the target user is scored, and the user with a high score is recalled as a recall user for recall corresponding to the target product type.
[0087] For example, the feature data of the target user includes age, gender, region, etc.
[0088] In some embodiments, the target product in the product set corresponding to the target product type in the plurality of product sets is recommended to the target user, so that the target product is displayed on the client of the target user.
[0089] For example, for the target product type "computer", an X brand computer is recommended to each of the plurality of target users who have purchased teaching aids, mobile phones and projectors within a month, so that the X brand computer is displayed on the mobile phone of the target user. According to the embodiments of the present disclosure, a product recommendation device is also provided, which is described in detail with reference to Figure 8 , the device 800 includes: a historical user obtaining unit 810 configured to obtain a plurality of historical users based on a plurality of product sets respectively corresponding to a plurality of product types, each of the plurality of historical users corresponding to a plurality of products respectively from different product sets in the plurality of sets, and the plurality of products being arranged in order; a candidate product type obtaining unit 820 configured to obtain a candidate product type set corresponding to a target product type in the plurality of product types based on the plurality of products corresponding to each of the plurality of historical users and the arrangement order of the plurality of products; and a target user obtaining unit 830 configured to obtain a target user corresponding to the target product type based on the candidate product type set.
[0090] In some embodiments, the historical user obtaining unit 810 comprises: a first historical user obtaining subunit configured to obtain a plurality of users and user behavior data of each of the plurality of users, the user behavior data of each of the plurality of users comprising at least one product acquired by the user from the plurality of product sets; a first determination unit configured to, for each of the plurality of users, determine the user as a candidate user and add the user to a candidate user set in response to determining that the at least one product included in the user behavior data of the user comprises a plurality of products respectively from different product sets in the plurality of product sets; and a second historical user obtaining subunit configured to obtain the plurality of historical users based on the candidate user set.
[0091] In some embodiments, the user behavior data of each of the plurality of users further comprises a time point corresponding to each of the at least one product acquired by the user when the product is acquired, and the plurality of historical users comprises a plurality of first candidate users in the candidate user set, wherein in the user behavior data of each of the plurality of first candidate users, the time point corresponding to each of the at least one product acquired by the first candidate user is within a first preset time range.
[0092] In some embodiments, the candidate product type obtaining unit comprises: a product type sequence obtaining unit configured to, for each of the plurality of historical users, obtain a different product type in the plurality of product types corresponding to the different product set and arrange the different product type in the arrangement order of the plurality of products of the historical user to obtain a product type sequence corresponding to the historical user; a vector obtaining unit configured to obtain a vector representation of each of the plurality of product types based on the plurality of product type sequences corresponding to the plurality of historical users; a similarity calculation unit configured to obtain a similarity between the target product type and each of the plurality of product types based on the plurality of vector representations corresponding to the plurality of product types; and a candidate product type obtaining subunit configured to obtain the candidate product type set based on the plurality of similarities corresponding to the target product type.
[0093] In some embodiments, the candidate product type obtaining subunit comprises: a first candidate product type obtaining subunit configured to obtain a preset number of similarities in the plurality of similarities, wherein each of the preset number of similarities is greater than any similarity in the plurality of similarities other than each of the preset number of similarities; and a second candidate product type obtaining subunit configured to obtain the candidate product type set based on the preset number of similarities.
[0094] In some embodiments, the target user obtaining unit comprises: a first target user obtaining subunit configured to, for each of the candidate product type set, obtain a user set corresponding to the candidate product type, each user in the user set corresponding to a first product from a product set corresponding to the candidate product type in the plurality of product sets; and a second target user obtaining subunit configured to obtain the target user set based on the plurality of user sets corresponding to the candidate product type set.
[0095] In some embodiments, for each of the candidate product type set, each user in the user set corresponding to the candidate product type has a corresponding time point of the first product corresponding to the user, the second target user obtaining subunit comprises: a first subunit configured to, for each of the plurality of user sets, obtain a plurality of first users of the user set, each first user in the plurality of first users having a time point of the first product corresponding to the user within a second preset time range; and a second subunit configured to obtain the target user based on the plurality of first users in each of the plurality of user sets.
[0096] In some embodiments, the apparatus further comprises a recommendation unit configured to recommend a target product in a product set corresponding to the target product type in the plurality of product sets to the target user, so as to display the target product on a client of the target user.
[0097] According to another aspect of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of the embodiments of the present disclosure.
[0098] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is also provided, wherein the computer instructions are used to cause the computer to perform the method according to any one of the embodiments of the present disclosure.
[0099] According to another aspect of the present disclosure, a computer program product is also provided, comprising a computer program, wherein the computer program, when executed by a processor, implements the method according to any one of the embodiments of the present disclosure.
[0100] Reference Figure 9The present invention describes a structural block diagram of an electronic device 900 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0101] like Figure 9 As shown, device 900 includes a computing unit 901, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 902 or a computer program loaded from storage unit 908 into random access memory (RAM) 903. RAM 903 may also store various programs and data required for the operation of device 900. The computing unit 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.
[0102] Multiple components in device 900 are connected to I / O interface 905, including: input unit 906, output unit 907, storage unit 908, and communication unit 909. Input unit 906 can be any type of device capable of inputting information to device 900. Input unit 906 can receive input numerical or character information and generate key signal inputs related to user settings and / or function control of the electronic device, and may include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 907 can be any type of device capable of presenting information, and may include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 908 may include, but is not limited to, a hard disk and an optical disk. Communication unit 909 allows device 900 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, 1302.11 devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.
[0103] The computing unit 901 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 901 performs various methods and processes described above, such as the method 200. For example, in some embodiments, the method 200 can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded onto the RAM 903 and executed by the computing unit 901, one or more steps of the method 200 described above can be performed. Alternatively, in other embodiments, the computing unit 901 can be configured to perform the method 200 by any other suitable means, such as by means of firmware.
[0104] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0105] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0106] In the context of this disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0107] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0108] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0109] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0110] It should be understood that the various forms of flow illustrated above can be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technology disclosed in the present disclosure can be achieved, which is not limited herein.
[0111] While embodiments or examples of the present disclosure have been described with reference to the drawings, it is to be understood that the methods, systems, and devices described above are merely exemplary embodiments or examples, and the scope of the present disclosure is not limited by these embodiments or examples, but only by the claims and their equivalents. Various elements in the embodiments or examples can be omitted or replaced by equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, various elements in the embodiments or examples can be combined in various ways. It is important that many of the elements described herein can be replaced by equivalent elements that appear after the present disclosure as technology evolves.
Claims
1. A product recommendation method, comprising: Based on multiple product sets corresponding to multiple product types, multiple historical users are obtained. Each historical user corresponds to multiple products from different product sets in the multiple product sets, and these multiple products are arranged in order. Based on the multiple products corresponding to each of the multiple historical users and the order in which these products are arranged, a set of candidate product types corresponding to the target product type among the multiple product types is obtained, including: For each of the multiple historical users, obtain the different product types corresponding to the different product sets among the multiple product types, and arrange the different product types according to the order of the multiple products of the historical user to obtain the product type sequence corresponding to the historical user; Based on the multiple product type sequences corresponding to the multiple historical users, a vector representation of each product type is obtained, wherein the vector representation is obtained based on skip-gram word embedding technology; Based on the multiple vector representations corresponding to the multiple product types, the similarity between the target product type and each of the multiple product types is obtained; and Based on multiple similarities corresponding to the target product type, the candidate product type set is obtained; and Based on the set of candidate product types, the target users corresponding to the target product type are obtained.
2. The method according to claim 1, wherein, The process of obtaining multiple historical users based on multiple product sets corresponding to multiple product types includes: Acquire user behavior data of multiple users and each of the multiple users, wherein the user behavior data of each of the multiple users includes at least one product acquired by the user from the multiple product sets; For each of the plurality of users, in response to determining that the user's user behavior data includes at least one item comprising multiple items from different item sets within the plurality of item sets, the user is identified as a candidate user and added to the candidate user set; and Based on the candidate user set, the multiple historical users are obtained.
3. The method according to claim 2, wherein, The user behavior data of each of the plurality of users also includes the time point corresponding to the acquisition of each of the at least one product acquired by the user. The plurality of historical users include a plurality of first candidate users in the candidate user set. In the user behavior data of each of the plurality of first candidate users, the time point corresponding to each of the at least one product acquired by the first candidate user is within a first preset time range.
4. The method according to claim 1, wherein, The process of obtaining the candidate product type set based on multiple similarities corresponding to the target product type includes: Obtain a preset number of similarities from the plurality of similarities, wherein each of the preset number of similarities is greater than any of the plurality of similarities that is distinct from each of the preset number of similarities; and Based on the preset number of similarities, the candidate product type set is obtained.
5. The method according to any one of claims 1-4, wherein, The step of obtaining the target user corresponding to the target product type based on the candidate product type set includes: For each candidate product type in the candidate product type set, obtain the user set corresponding to that candidate product type, where each user in the user set corresponds to a first product from the product set corresponding to that candidate product type among the plurality of product sets; and The target user set is obtained based on multiple user sets corresponding to the candidate product type set.
6. The method according to claim 5, wherein, For each candidate product type in the candidate product type set, the first product corresponding to each user in the corresponding user set of that candidate product type has a corresponding time point. Obtaining the target user set based on multiple candidate user sets corresponding to the candidate product type set includes: For each of the plurality of user sets, obtain a plurality of first users for that user set, and the time point of the first product corresponding to each of the plurality of first users is within a second preset time range; and The target user is obtained based on multiple first users within each of the multiple user sets.
7. The method according to claim 1, further comprising: The target product from the product set corresponding to the target product type in the plurality of product sets is recommended to the target user so that the target product is displayed on the target user's client.
8. A product recommendation device, comprising: The historical user acquisition unit is configured to acquire multiple historical users based on multiple product sets corresponding to multiple product types, wherein each historical user corresponds to multiple products from different product sets in the multiple sets, and the multiple products are arranged in order. A candidate product type acquisition unit is configured to acquire a set of candidate product types corresponding to a target product type from the plurality of product types, based on the plurality of products corresponding to each historical user among the plurality of historical users and the order in which the plurality of products are arranged. The candidate product type acquisition unit includes: The product type sequence acquisition unit is configured to, for each of the plurality of historical users, obtain different product types corresponding to the different product sets among the plurality of product types, and arrange the different product types according to the order of the plurality of products of the historical user, so as to obtain the product type sequence corresponding to the historical user; The vector acquisition unit is configured to obtain a vector representation of each of the multiple product types based on the multiple product type sequences corresponding to the multiple historical users, wherein the vector representation is obtained based on skip-gram word embedding technology. A similarity calculation unit is configured to obtain the similarity between the target product type and each of the multiple product types based on multiple vector representations corresponding to the multiple product types; and A candidate product type acquisition subunit is configured to obtain the candidate product type set based on multiple similarities corresponding to the target product type; and The target user acquisition unit is configured to obtain the target user corresponding to the target product type based on the candidate product type set.
9. The apparatus according to claim 8, wherein, The historical user acquisition unit includes: The first historical user acquisition subunit is configured to acquire user behavior data of multiple users and each of the multiple users, wherein the user behavior data of each of the multiple users includes at least one product acquired by the user from the multiple product sets; The first determining unit is configured to, for each of the plurality of users, in response to determining that the user's user behavior data includes at least one item comprising multiple items from different item sets respectively in the plurality of item sets, determine the user as a candidate user and add the user to a candidate user set; and The second historical user acquisition subunit is configured to acquire the plurality of historical users based on the candidate user set.
10. The apparatus according to claim 9, wherein, The user behavior data of each of the plurality of users also includes the time point corresponding to the acquisition of each of the at least one product acquired by the user. The plurality of historical users include a plurality of first candidate users in the candidate user set. In the user behavior data of each of the plurality of first candidate users, the time point corresponding to each of the at least one product acquired by the first candidate user is within a first preset time range.
11. The apparatus according to claim 8, wherein, The candidate product type acquisition subunit includes: The first candidate product type acquisition subunit is configured to acquire a preset number of similarities from the plurality of similarities, wherein each of the preset number of similarities is greater than any of the plurality of similarities that is distinct from each of the preset number of similarities; and The second candidate product type acquisition subunit is configured to obtain the candidate product type set based on the preset number of similarities.
12. The apparatus according to any one of claims 8-11, wherein, The target user acquisition unit includes: The first target user acquisition subunit is configured to, for each candidate product type in the candidate product type set, acquire a user set corresponding to that candidate product type, wherein each user in the user set corresponds to a first product from the product set corresponding to that candidate product type in the plurality of product sets; and The second target user acquisition subunit is configured to obtain the target user set based on multiple user sets corresponding to the candidate product type set.
13. The apparatus according to claim 12, wherein, For each candidate product type in the candidate product type set, the first product corresponding to each user in the corresponding user set of that candidate product type has a corresponding time point, and the second target user acquisition subunit includes: The first subunit is configured to, for each of the plurality of user sets, obtain a plurality of first users for that user set, wherein the time point of the first product corresponding to each of the plurality of first users is within a second preset time range; and The second subunit is configured to obtain the target user based on multiple first users within each of the multiple user sets.
14. The apparatus of claim 8, further comprising: The recommendation unit is configured to recommend the target product from the product set corresponding to the target product type in the plurality of product sets to the target user, so that the target product is displayed on the target user's client.
15. An electronic device comprising: At least one processor; as well as A memory that is communicatively connected to the at least one processor; in The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.
16. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-7.
17. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method of any one of claims 1-7.
Citation Information
Patent Citations
Method and device for determining target recommendation users and server
CN107220852A