A method and device for recommending products

By analyzing the user's travel route and historical purchase data in the shopping place, calculating the probability of users purchasing specific products, solving the problem of inaccurate product recommendations in the prior art, and achieving more efficient product recommendations.

CN110163666BActive Publication Date: 2025-04-29BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN201910372329.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-05-06
Publication Date
2025-04-29
Estimated Expiration
2039-05-06

AI Technical Summary

Technical Problem

The prior art cannot recommend products to users based on their geographical location in shopping places, resulting in the recommended products that may not meet users' needs.

Method used

By determining the current geographical location of the target user and its path through, historical data is analyzed to determine the path with high similarity to the path, and then the probability of the target user purchasing the product in the geographical location is calculated and recommendations are made based on this.

Benefits of technology

It improves the accuracy of product recommendations and makes the recommended products more in line with the actual needs of users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110163666B_ABST
    Figure CN110163666B_ABST
Patent Text Reader

Abstract

The present application discloses a method and device for recommending goods, in which the current geographical location of a target user and the first path taken by the target user to reach the geographical location can be determined, and a second path with a similarity to the first path exceeding a preset similarity can be determined. Then, for each commodity corresponding to the geographical location, the probability of each user who has historically passed through the second path purchasing the commodity can be determined, and used as the probability of the target user purchasing the commodity, and then the commodity corresponding to the geographical location can be recommended to the target user based on the determined probability of the target user purchasing each commodity corresponding to the geographical location. By analyzing the path taken by the target user, it is determined which commodities in the geographical location may be needed by the target user when the target user follows the path to reach the current geographical location, and the accuracy of commodity recommendation can be effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computers, and in particular to a method and device for recommending products. Background Art

[0002] Currently, offline shopping venues use marketing methods such as product discounts, new product recommendations, and event promotions to attract users to purchase products. While improving users' shopping experience, it also promotes sales of products in shopping venues.

[0003] In offline shopping scenarios, whether a user will buy a product in a shopping area is not only related to the user's own preferences, but also may be related to the user's route in the shopping place. For example, after a user passes through the steak area and buys steak, the probability of buying red wine when arriving at the red wine area is greater. In the prior art, the products recommended to users by shopping places are often determined by the marketing strategies of the shopping places, so the actual recommended products may not be what the user needs. Therefore, how to recommend products to users based on the user's route in the shopping place and improve the accuracy of product recommendations is an urgent problem to be solved. Summary of the invention

[0004] The embodiments of the present application provide a method and device for recommending products, which are used to solve the problem in the prior art that products cannot be recommended to users based on their geographical locations.

[0005] This application adopts the following technical solutions:

[0006] The present application provides a method for product recommendation, comprising:

[0007] Determine a current geographic location of a target user and a first path taken by the target user to reach the geographic location;

[0008] Determining, based on the first path, a second path whose similarity to the first path exceeds a preset similarity;

[0009] For each commodity corresponding to the geographic location, determine the probability of each user who has historically passed through the second path purchasing the commodity, and use the probability as the probability of the target user purchasing the commodity;

[0010] The product corresponding to the geographical location is recommended to the target user according to the determined probability that the target user purchases each product corresponding to the geographical location.

[0011] The path is composed of at least one segment;

[0012] Optionally, determining, according to the first path, a second path whose similarity to the first path exceeds a preset similarity specifically includes:

[0013] Determining each road segment included in the first path;

[0014] From the historical paths of the users in history, a historical path including the road segments is determined as a second path whose similarity with the first path exceeds a preset similarity.

[0015] For each road section, determine in advance the probability that each user has passed through the road section when purchasing the product in history;

[0016] Optionally, for each commodity corresponding to the geographical location, determining the probability of each user who has historically passed through the second path purchasing the commodity specifically includes:

[0017] The probability of each user who has passed through the second path in history purchasing the product is determined based on the probability of each user purchasing the product in history and the probability of each user passing through each section of the second path when purchasing the product in history.

[0018] Optionally, for each road section, the probability of each user passing through the road section when purchasing the product in history is determined in advance, specifically including:

[0019] Determine the historical paths that each user has taken to purchase the product;

[0020] For each historical path, according to the preset numbers of each road section, determine the historical path vector corresponding to the historical path;

[0021] Determine, according to the determined historical path vectors, a path matrix corresponding to each historical path;

[0022] For each road section, the column corresponding to the road section in the path matrix is ​​determined according to the number of the road section, and the probability that each user in history passed through the road section when purchasing the product is determined according to the sum of all values ​​in the column and the sum of all values ​​in the path matrix.

[0023] Optionally, according to the probability of each user purchasing the product in history and the probability of each user passing through each section of the second path when purchasing the product in history, determining the probability of each user who passed through the second path in history purchasing the product specifically includes:

[0024] Determine the sum of the probabilities of each road segment included in the second path according to the probability of each user passing through each road segment included in the second path when purchasing the product in history;

[0025] Determine the product of the sum value and the probability of each user purchasing the product in history;

[0026] The probability of each user who has historically passed through the second path purchasing the product is determined according to the product.

[0027] Optionally, recommending the product corresponding to the geographical location to the target user according to the determined probability that the target user purchases each product corresponding to the geographical location specifically includes:

[0028] According to the determined probability that the target user purchases each commodity corresponding to the geographical location, the commodities are sorted to obtain a sorting result;

[0029] According to the ranking result, the product corresponding to the geographical location is recommended to the target user.

[0030] The target user carries an ultra-wideband UWB tag, and the UWB tag is used to locate the target user;

[0031] Optionally, determining the current geographical location of the target user includes:

[0032] Determine the current geographical location of the target user through the ultra-wideband (UWB) tag carried by the target user;

[0033] Determining the path taken by the target user to reach the geographical location specifically includes:

[0034] Querying each geographical location passed by the target user through the UWB tag;

[0035] According to the queried geographical locations, the path taken by the target user to reach the current geographical location is determined.

[0036] Optionally, recommending the commodity corresponding to the geographical location to the target user according to the ranking result specifically includes:

[0037] The product information of the product corresponding to the geographical location recommended to the target user is sent to the display screen corresponding to the geographical location for display.

[0038] The present application provides a device for recommending products, including:

[0039] A first determination module, used to determine a current geographical location of a target user and a first path taken by the target user to reach the geographical location;

[0040] A second determining module, configured to determine, based on the first path, a second path whose similarity to the first path exceeds a preset similarity;

[0041] a probability determination module, configured to determine, for each commodity corresponding to the geographic location, a probability of each user who has historically passed through the second path purchasing the commodity, and use the probability as the probability of the target user purchasing the commodity;

[0042] The recommendation module is used to recommend the commodity corresponding to the geographical location to the target user according to the determined probability that the target user purchases each commodity corresponding to the geographical location.

[0043] The present application provides a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned method for recommending goods is implemented.

[0044] The present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned product recommendation method when executing the program.

[0045] At least one of the above technical solutions adopted in this application can achieve the following beneficial effects:

[0046] It can be seen from the above method that this method can determine which products in the geographical location may be needed by the target user when the target user follows the path to the current geographical location by analyzing the path taken by the target user, that is, it realizes the determination of the products recommended to the target user based on the actual walking route of the target user, thereby effectively improving the accuracy of product recommendations. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0048] Figure 1 A flowchart of a method for recommending a commodity in an embodiment of the present application;

[0049] Figure 2 A schematic diagram of dividing each walking passage of a shopping place into sections provided in an embodiment of the present application;

[0050] Figure 3 A schematic diagram showing a path taken by a user by dividing the paths into sections provided in an embodiment of the present application;

[0051] Figure 4 A schematic diagram of a device recommended for a product provided by this application;

[0052] Figure 5 The corresponding Figure 1 Schematic diagram of electronic equipment. DETAILED DESCRIPTION

[0053] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0054] In offline shopping scenarios, users may determine which products they should buy in their current geographical location based on the geographical locations they have visited. For example, after a user purchases meat fillings in the fresh food area, the probability of the user purchasing soy sauce, vinegar, and other condiments in the seasoning area is relatively high; for another example, after a user purchases clothes in the clothing area, the probability of the user purchasing shoes in the shoe area is relatively high. Therefore, in this application, based on the path that the user has taken, it is possible to determine which products in the current geographical location are more likely to be purchased by the user, and then recommend products to the user.

[0055] Among them, the geographical location mentioned in this application can be an actual geographical coordinate, or it can refer to an area in a certain place, such as a shopping area in a shopping place, or it can refer to an actual building, such as a shopping mall, a supermarket, a department store, etc. Regardless of the specific geographical location, the commodity recommendation method provided in this application can be applicable, that is, based on the department stores and supermarkets that the user passes through when shopping offline, it can be determined which commodities in the shopping mall where the user is currently located should be recommended to the user, and it can also be determined based on the shopping area that the user passes through when shopping in the shopping place. Which commodities in the shopping area where the user is currently located should be recommended to the user. Since the specific process of applying the commodity recommendation method provided in this application to various scenarios is basically similar, for the convenience of description, the following will only be based on the scenario of users shopping offline in shopping places to illustrate the commodity recommendation method provided in this application.

[0056] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0057] Figure 1 This is a flow chart of a method for recommending a product in an embodiment of the present application, which specifically includes the following steps:

[0058] S101: Determine a current geographical location of a target user and a first path taken by the target user to reach the geographical location.

[0059] In actual applications, a shopping place usually includes multiple shopping areas. For example, in a shopping mall (i.e., a shopping place), there are usually shopping areas such as a wine area, a fresh food area, a vegetable area, a fruit area, and a clothing area. In order to determine which goods in the shopping area may be needed by the user based on the route the user walks in the shopping place, in an embodiment of the present application, the position of the target user in the shopping place can be monitored in real time to determine the current geographical location of the target user, and at the same time, the first path taken by the target user when arriving at the geographical location can be determined. The geographical location mentioned here can refer to the shopping area in the shopping place. The target user mentioned here is an ordinary user. The reason why it is called a target user is mainly used to distinguish the current user from the historical users mentioned later in time, and it itself has no special meaning.

[0060] In the embodiment of the present application, there are many ways to determine the current geographical location of the target user and the path taken by the target user to reach the geographical location. For example, when the target user is in a shopping place, the target user can connect to the wireless fidelity (WiFi) in the shopping place through a mobile terminal (such as a mobile phone, a smart bracelet, a tablet computer, etc.), and the shopping place can determine the current geographical location of the target user and the first path taken by the target user to reach the geographical location through a designated device based on WiFi positioning.

[0061] For another example, the target user may carry an ultra-wideband (UWB) tag, and a plurality of matching signal receivers are provided in the shopping place to receive the pulse signal emitted by the UWB tag. Therefore, when the target user carries the UWB tag to shop in the shopping place, the designated equipment in the shopping place can receive the pulse signal emitted by the UWB tag according to the plurality of signal receivers provided in the shopping place, thereby achieving real-time positioning and recording of the target user's location.

[0062] When determining the path taken by the target user, the designated device of the shopping place can query the various geographical locations passed by the target user in the shopping place, and then determine the first path taken by the target user to reach the current geographical location based on the queried geographical locations. The UWB tag mentioned here is set on the mobile device carried by the target user, and can also be set on the shopping bag, shopping basket, or shopping cart provided to the user by the shopping place.

[0063] Of course, in addition to the two methods mentioned above, other methods can also be used to determine the current geographical location of the target user and the path taken by the target user to reach the geographical location, which will not be explained in detail here.

[0064] It should be noted that the designated device mentioned above for determining the current geographical location of the target user and the first path taken by the target user can be a device set up in the shopping place for locating the target user, such as a computer, etc., or it can be a server used by the shopping place to locate the target user. For the convenience of subsequent description, the method for recommending products provided by this application will be described below with the server as the execution subject.

[0065] The first path mentioned above is the actual path taken by the target user to reach the current geographical location. It is called the first path mainly to distinguish it from the second path mentioned later. Therefore, the "first" and "second" mentioned in this application have no other special meanings.

[0066] S102: Determine, based on the first path, a second path whose similarity to the first path exceeds a preset similarity.

[0067] After determining the first path, the server can determine a second path whose similarity with the first path exceeds a preset similarity from the historical paths that various users have walked in the shopping place. Specifically, the server can determine the road sections included in the first path, that is, the road sections that the user has walked in the shopping place when arriving at the current geographical location. The road sections mentioned here can be obtained by dividing the walking passages in the shopping place into sections in advance according to the actual layout of the shopping place. For each walking passage, the walking passage can be composed of at least one road section. The walking passages in the entire shopping place can be represented by road sections, such as Figure 2 shown.

[0068] Figure 2 A schematic diagram of dividing each walking passage of a shopping place into sections provided in an embodiment of the present application.

[0069] There are multiple shopping areas in the shopping place, and walking paths are set between the shopping areas. In the embodiment of the present application, the walking paths can be divided into sections, such as Figure 2 The line segments in are the divided road segments. Figure 2 It can be seen from the figure that each walking channel can be represented by at least one road segment. In practical applications, the paths that users walk in shopping places can be represented by Figure 2 The sections shown in are represented as follows: Figure 3 shown.

[0070] Figure 3 A schematic diagram of a path taken by a user is provided by dividing the path into sections in an embodiment of the present application.

[0071] exist Figure 3 In the example, the user starts from the location A of the shopping place and follows Figure 3 Go to position B in the direction of the arrow shown in the figure. The path taken by the user can be Figure 3 The sections in the figure are represented by solid lines, while the sections that the user has walked can be represented by dashed lines, which are sections that the user has not walked. Figure 3 The solid line segments shown in can determine the path that the user has walked from position A to position B.

[0072] Therefore, in the process of determining the path taken by the target user to reach the current geographic location mentioned in step S101, the server can determine which sections of the road the target user has passed through by locating the target user in real time, and then when it is determined that the target user has arrived at the current geographic location (i.e., the current shopping area), the server determines the first path taken by the target user to reach the geographic location by querying the sections of the road taken by the target user to reach the geographic location.

[0073] After determining the sections included in the first path, a historical path including these sections may be determined from the historical paths of the users in history as a second path having a similarity with the first path exceeding a preset similarity.

[0074] S103: For each commodity corresponding to the geographical location, determine the probability of each user who has historically passed through the second path purchasing the commodity, and use the probability as the probability of the target user purchasing the commodity.

[0075] After determining the second path, the server can further determine, for each commodity corresponding to the geographic location, the probability of each user who has historically passed through the second path purchasing the commodity based on the probability of each user purchasing the commodity in history and the probability of each user passing through each section of the second path when purchasing the commodity, and use the probability of the target user purchasing the commodity.

[0076] In the embodiment of the present application, the server can determine the probability of each user purchasing the product in history for each product in the shopping place in advance. Specifically, for each product, the server can determine the number of products purchased and the number of all products purchased in the shopping place based on the historical shopping records of each user, and then determine the probability of each user purchasing the product in history.

[0077] For example, assuming that for commodity A, the server determines that 500 commodity A are sold based on the historical shopping records of each user, and the total number of all commodities sold in the shopping place is 8000, then the probability of each user purchasing commodity A in history is 500 / 8000=6.25%.

[0078] Of course, in addition to using the historical sales volume of all commodities to determine the probability of each user purchasing each commodity in history, the server can also determine the probability of each user purchasing the commodity in history based on the historical sales volume of the commodity and the purchase volume of all commodities corresponding to the geographical location of the commodity (that is, all commodities included in the shopping area to which the commodity belongs).

[0079] For example, assuming that for product B, the server determines that 300 products B have been sold based on the historical shopping records of each user, and the total number of products sold in the shopping area to which product B belongs is 6,000, then the probability that each user has purchased product A in history is 300 / 6,000 = 5%.

[0080] It should be noted that no matter which of the above methods is used by the server to determine the probability of each user purchasing each product in history, the product recommendation results obtained in the end will not be different. In other words, the product recommendation results obtained by the server based on the probability of each user purchasing each product in history determined by the first method and the product recommendation results obtained by the server based on the probability of each user purchasing each product in history determined by the second method should be consistent.

[0081] It should be noted that, in the embodiment of the present application, if the road section included in the second path is exactly the same as the road section included in the first path, then the first path and the second path are also exactly the same, that is, there is a path that is exactly the same as the first path in each historical path of each user saved by the server. Therefore, when determining a second path whose similarity with the first path exceeds a preset similarity, it can refer to determining a historical path that is exactly the same as the first path from each historical path as the second path. Accordingly, when determining the probability of each user who has passed through the second path in history purchasing the product, it is actually determining the probability of each user who has passed through the first path in history purchasing the product.

[0082] If there is no path in each historical path that is completely identical to the first path, then a historical path whose similarity to the first path exceeds a preset similarity can be selected from each historical path as the second path, wherein, for any historical path, the higher the overlap between the road segments included in the historical path and the road segments included in the first path, the higher the similarity between the historical path and the first path. Of course, the server can also directly use the first path as the second path to determine the probability of each user who has historically passed through the second path (i.e., the first path) purchasing the product.

[0083] In the embodiment of the present application, the server can represent the determined second path with a vector, that is, the path vector corresponding to the second path can be determined based on the sections walked by the target user. Specifically, after the walking passages in the shopping place are divided into sections, each section can be numbered. Accordingly, the server can transform the determined second path using the numbers of each section determined in advance to obtain the path vector corresponding to the second path.

[0084] In the process of dividing the sections in the shopping place in advance, the sections can be numbered, and the section sequence of the sections in the shopping place can be determined according to the order of the numbers. After determining the second path, the server can determine which sections in the section sequence exist in the second path according to the numbers corresponding to the sections included in the second path, and further determine the path vector corresponding to the second path.

[0085] For example, suppose that each walking passage in a shopping place is divided into 10 sections, and each section is assigned a number. The server can sort the 10 sections according to the numbers corresponding to each section, and obtain a section sequence: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. The server can determine that the sections included in the second path are: section 1, section 3, section 5, section 6, and section 7. The second path can be expressed as: [1, 3, 5, 6, 7]. The server can determine which sections in the section sequence appear in the second path based on the second path, and then determine the path vector corresponding to the second path: [1, 0, 1, 0, 1, 1, 1, 0, 0, 0].

[0086] In the second path vector, a position marked as 1 indicates that the second path includes the road segment corresponding to the position, and correspondingly, a position marked as 0 indicates that the second path does not include the road segment corresponding to the position.

[0087] For each commodity in the shopping place, the server can determine in advance for each road section the probability that each user has passed through the road section when purchasing the commodity in history. Specifically, the server can determine the historical paths that each user has taken to purchase the commodity in history based on the historical paths that each user has taken in the shopping place in history, combined with the historical purchase records of each user in the shopping place in history. Then, the server can further count the number of each road section in these historical paths that have been passed, and then determine the probability that each user has passed through the road section when purchasing the commodity in history.

[0088] For example, suppose that after the server determines the historical paths that each user has taken to purchase the product, it further counts that in these historical paths, segment 1 appears 30 times, segment 2 appears 32 times, segment 3 appears 40 times, segment 4 appears 13 times, and segment 5 appears 8 times. The server can determine the probability that each user has passed segment 1 when purchasing the product in history based on the total number of times these five segments appear and the number of times segment 1 appears: 30 / 123=24.9%. The same is true for other segments.

[0089] Of course, in an embodiment of the present application, the server may also determine the path vectors corresponding to the historical paths taken by each user to purchase the product in history according to the path vector determination method described above, and then determine the probability of each user passing through each road section when purchasing the product in history based on the determined path vectors.

[0090] Specifically, for each product, the server can determine the historical path vectors corresponding to the historical paths that each user has taken to purchase the product in the past in the manner mentioned in the above example. After determining each historical path vector, the server can further determine the path matrix composed of these historical path vectors based on the determined historical path vectors.

[0091] For example, suppose that there are four historical paths that each user has taken to purchase product B. The server can determine the historical path vectors corresponding to these four historical paths respectively, and then combine these four historical path vectors to obtain a path matrix composed of these four historical path vectors. Among them, the historical path vectors corresponding to these four historical paths are: [1,0,1,1,1,1,1,0,0,0], [0,0,1,0,0,1,1,0,1,0], [1,0,1,0,1,0,1,0,0,1], [1,0,0,1,1,1,1,1,0,0]. The server can use these four historical path vectors as row vectors to merge into a path matrix, which is as follows:

[0092]

[0093] It can be seen from the path matrix that each column corresponds to a road section. Therefore, for each road section, the server can determine the column corresponding to the road section in the path matrix according to the number of the road section, and then determine the probability of each user passing through the road section when purchasing the product in history according to the sum of all values ​​in the column and the sum of all values ​​in the path matrix.

[0094] Specifically, the server can add each column of the obtained path matrix to obtain a one-dimensional vector, and determine the probability of each road section when each user purchased the product in history through the one-dimensional vector and the sum of each bit value in the one-dimensional vector, where each bit in the one-dimensional vector corresponds to a road section.

[0095] Continuing with the above example, after the server determines the path matrix, it can add up the values ​​of each column of the path matrix to obtain the one-dimensional vector [3,0,3,2,3,3,4,1,1,1]. The server can add up the values ​​of each digit in the one-dimensional vector to obtain the sum 21, and then divide each digit in the one-dimensional vector by the sum 21 to obtain the vector [3 / 21,0,3 / 21,2 / 21,3 / 21,3 / 21,4 / 21,1 / 21,1 / 21,1 / 21].

[0096] Among them, each value in the vector is the probability corresponding to each road section. From the above process, it can be seen that adding up the values ​​of each column in the path matrix is ​​actually counting the number of times each road section appears in each determined historical path, and adding up the values ​​of each bit in the above one-dimensional vector is actually counting the total number of times each road section appears in each determined historical path. Therefore, determining the probability of each road section when each user purchased the product in history in this way is actually the same as determining the probability of each road section when each user purchased the product in history by counting the number of times each user passed through each road section when purchasing the product in history.

[0097] Since the server has previously determined the probability of each user purchasing the product in the history and the probability of each road section that each user passed through when purchasing the product in the history, after determining the second path, the server can determine the probability of the target user purchasing the product for each product corresponding to the geographical location based on the previously determined probability of each user purchasing the product in the history, the probability of each road section that each user passed through when purchasing the product in the history, and the second path.

[0098] Specifically, the server can determine the sum of the probabilities of each user in history passing through these sections when purchasing the product based on the sections included in the second path, and then multiply the sum by the probability of each user in history purchasing the product, and then determine the probability of the target user purchasing the product based on the obtained product.

[0099] Of course, if the server determines the path vector corresponding to the second path, it can multiply each bit in the path vector corresponding to the second path by the probability of the corresponding road section to obtain the probability of each user in history passing through the path when purchasing the product. Then, combined with the previously determined probability of each user in history purchasing the product, the probability of each user who has passed through the second path in history purchasing the product can be determined.

[0100] It should be noted that if the first path and the second path are exactly the same, then the probability of each user who has historically passed through the second path purchasing the product determined by the server according to the above method is actually the probability of the target user purchasing the product when arriving at the current geographical location along the first path. Accordingly, the server can recommend each product in the geographical location to the user based on the determined probability of the target user purchasing each product when arriving at the current geographical location along the first path.

[0101] S104: Recommending the product corresponding to the geographical location to the target user according to the determined probability that the target user purchases each product corresponding to the geographical location.

[0102] The server may rank the commodities according to the determined probabilities of the commodities, and finally determine which commodities in the geographical location to recommend to the target user based on the ranking results. Specifically, after obtaining the ranking results, the server may recommend commodities that are ranked before the set ranking to the target user.

[0103] In the embodiment of the present application, after determining the products that need to be recommended to the target user, the server can display the recommended products on a display screen set at the geographical location (i.e., shopping area) for the target user to view; the server can also recommend the products corresponding to the geographical location to the target user in an application (Application, App) by information push. Of course, the server can also recommend the products corresponding to the geographical location to the target user in other ways, which will not be explained one by one here.

[0104] It should be noted that, in actual applications, there may be other target users in the current geographical location of the target user. Since the first paths taken by each target user to reach the geographical location may be different, the product recommendation results determined based on the first paths taken by different target users may also be different.

[0105] In this case, the server can determine product recommendation results for different target users based on the first paths taken by different target users, and then send product information of common products in these product recommendation results to the display screen set at the geographical location for display.

[0106] It can be seen from the above method that by analyzing the path taken by the target user, it is determined which products in the geographical location may be needed by the target user when the target user follows the path to reach the current geographical location. That is, it is achieved to determine the products recommended to the target user based on the actual walking route of the target user, thereby effectively improving the accuracy of product recommendations.

[0107] The above is a method for recommending products provided in one or more embodiments of the present application. Based on the same idea, the present application also provides a corresponding device for recommending products, such as Figure 4 shown.

[0108] Figure 4 A schematic diagram of a device recommended for a product provided in this application, specifically including:

[0109] A first determination module 401 is used to determine the current geographical location of the target user and a first path taken by the target user to reach the geographical location;

[0110] A second determination module 402 is used to determine, based on the first path, a second path whose similarity to the first path exceeds a preset similarity;

[0111] The probability determination module 403 is used to determine, for each commodity corresponding to the geographical location, the probability of each user who has historically passed through the second path purchasing the commodity, and use the probability as the probability of the target user purchasing the commodity;

[0112] The recommendation module 404 is configured to recommend the commodity corresponding to the geographical location to the target user according to the determined probability that the target user purchases each commodity corresponding to the geographical location.

[0113] The path is composed of at least one segment;

[0114] Optionally, the second determination module 402 is specifically used to determine each road segment included in the first path; determine a historical path including the each road segment from each historical path of each user in history as a second path whose similarity with the first path exceeds a preset similarity.

[0115] Optionally, the probability determination module 403 is specifically used to determine, for each road section in advance, the probability that each user has passed through the road section when purchasing the product in history;

[0116] The probability determination module 403 is specifically used to determine the probability of each user who has passed through the second path in history purchasing the product based on the probability of each user purchasing the product in history and the probability of each user passing through each section of the second path when purchasing the product in history.

[0117] Optionally, the probability determination module 403 is specifically used to determine the historical paths that each user has taken in the history to purchase the product; for each historical path, determine the historical path vector corresponding to the historical path according to the preset numbers of each road section; determine the path matrix corresponding to each historical path based on the determined historical path vectors; for each road section, determine the column corresponding to the road section in the path matrix according to the number of the road section, and determine the probability that each user in the history passed through the road section when purchasing the product based on the sum of all values ​​in the column and the sum of all values ​​in the path matrix.

[0118] Optionally, the probability determination module 403 is specifically used to determine the sum of the probabilities of each section included in the second path based on the probability of each user passing through each section included in the second path when purchasing the product in history; determine the product of the sum and the probability of each user purchasing the product in history; and determine the probability of each user who passed through the second path in history purchasing the product based on the product.

[0119] Optionally, the recommendation module 404 is specifically configured to sort the commodities according to the determined probability that the target user purchases the commodities corresponding to the geographical location to obtain a sorting result; and recommend the commodities corresponding to the geographical location to the target user according to the sorting result.

[0120] The target user carries an ultra-wideband UWB tag, and the UWB tag is used to locate the target user;

[0121] Optionally, the first determination module 401 is specifically configured to determine the current geographical location of the target user through an ultra-wideband UWB tag carried by the target user;

[0122] The first determination module 401 is specifically used to query the geographical locations passed by the target user through the UWB tag; and determine the path taken by the target user to reach the current geographical location according to the queried geographical locations.

[0123] Optionally, the recommendation module 404 is specifically configured to send the product information of the product corresponding to the geographical location recommended to the target user to a display screen corresponding to the geographical location for display.

[0124] The present application also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 A method for providing product recommendations.

[0125] The present application also provides Figure 5The schematic structure diagram of the electronic device shown in FIG. Figure 5 As mentioned above, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0126] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0127] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.

[0128] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0129] For the convenience of description, the above device is described in terms of functions and is described separately in various units. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0130] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0131] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0132] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0133] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0134] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0135] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0136] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0137] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0138] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0139] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0140] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0141] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A method for product recommendation, characterized in that: include: Determine a current geographic location of a target user and a first path taken by the target user to reach the geographic location; Determining, based on the first path, a second path whose similarity to the first path exceeds a preset similarity; For each commodity corresponding to the geographic location, determine the probability of each user who has historically passed through the second path purchasing the commodity, and use the probability as the probability of the target user purchasing the commodity; recommending the product corresponding to the geographical location to the target user according to the determined probability that the target user purchases each product corresponding to the geographical location; The path is composed of at least one segment; Determining, according to the first path, a second path whose similarity to the first path exceeds a preset similarity, specifically includes: Determining each road segment included in the first path; Determining, from each historical path of each user in history, a historical path including each road segment as a second path having a similarity with the first path exceeding a preset similarity; For each road section, determine in advance the probability that each user has passed through the road section when purchasing the product in history; For each commodity corresponding to the geographical location, determining the probability of each user who has historically passed through the second path purchasing the commodity specifically includes: The probability of each user who has passed through the second path in history purchasing the product is determined based on the probability of each user purchasing the product in history and the probability of each user passing through each section of the second path when purchasing the product in history.

2. The method according to claim 1, characterized in that For each road segment, determine in advance the probability that each user has passed through the road segment when purchasing the product in history, including: Determine the historical paths that each user has taken to purchase the product; For each historical path, according to the preset numbers of each road section, determine the historical path vector corresponding to the historical path; Determine, according to the determined historical path vectors, a path matrix corresponding to each historical path; For each road section, the column corresponding to the road section in the path matrix is ​​determined according to the number of the road section, and the probability that each user in history passed through the road section when purchasing the product is determined according to the sum of all values ​​in the column and the sum of all values ​​in the path matrix.

3. The method according to claim 1, characterized in that According to the probability of each user purchasing the product in history and the probability of each user passing through each section of the second path when purchasing the product in history, determining the probability of each user who passed through the second path in history purchasing the product, specifically includes: Determine the sum of the probabilities of each road segment included in the second path according to the probability of each user passing through each road segment included in the second path when purchasing the product in history; Determine the product of the sum value and the probability of each user purchasing the product in history; The probability of each user who has historically passed through the second path purchasing the product is determined according to the product.

4. The method according to claim 1, characterized in that Recommending the product corresponding to the geographical location to the target user according to the determined probability that the target user purchases each product corresponding to the geographical location specifically includes: According to the determined probability that the target user purchases each commodity corresponding to the geographical location, the commodities are sorted to obtain a sorting result; According to the ranking result, the product corresponding to the geographical location is recommended to the target user.

5. The method according to claim 1, characterized in that The target user carries an ultra-wideband UWB tag, and the UWB tag is used to locate the target user; Determine the current geographic location of your target users, including: Determine the current geographical location of the target user through the ultra-wideband (UWB) tag carried by the target user; Determining the path taken by the target user to reach the geographical location specifically includes: Querying each geographical location passed by the target user through the UWB tag; According to the queried geographical locations, the path taken by the target user to reach the current geographical location is determined.

6. The method according to claim 5, characterized in that Recommending the product corresponding to the geographical location to the target user according to the ranking result specifically includes: The product information of the product corresponding to the geographical location recommended to the target user is sent to the display screen corresponding to the geographical location for display.

7. A device for recommending products, characterized in that: include: A first determination module, used to determine a current geographical location of a target user and a first path taken by the target user to reach the geographical location, wherein the path is composed of at least one road segment; A second determination module is used to determine, based on the first path, a second path whose similarity with the first path exceeds a preset similarity, specifically including: determining each road segment included in the first path, and determining, from each historical path of each user in history, a historical path including the each road segment as the second path whose similarity with the first path exceeds a preset similarity; a probability determination module is used to determine in advance, for each road segment, the probability that each user in history passed through the road segment when purchasing the product, and for each product corresponding to the geographical location, determine the probability that each user who has passed through the second path in history purchased the product, and use it as the probability that the target user purchased the product; for each product corresponding to the geographical location, determine the probability that each user who has passed through the second path in history purchased the product, specifically including: determining the probability that each user who has passed through the second path in history purchased the product based on the probability that each user in history purchased the product and the probability that each user in history passed through each road segment when purchasing the product; The recommendation module is used to recommend the commodity corresponding to the geographical location to the target user according to the determined probability that the target user purchases each commodity corresponding to the geographical location.

8. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Shopping pattern analysis system and method based on RFID

    CN101006445A

  • Online shopping mall commodity recommendation method based on knowledge graph

    CN111507796A

  • Online shopping mall commodity recommendation method and system

    CN112308666A

  • Computer-implemented system and method for in-store route recommendation

    CN114526736A

  • System and methods for measuring and influencing customer trajectory within a product space

    US10296928B1