Stay POI estimation device

The stay POI estimation device simulates user travel through candidate POIs using Bluetooth Low Energy contact logs and geographic data to estimate unassociated POIs, enhancing the accuracy of user stay detection.

JP7777693B2Active Publication Date: 2025-11-28NTT DOCOMO INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024543782
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-08-30
Filing Date
2023-05-09
Publication Date
2025-11-28
Estimated Expiration
2043-05-09

AI Technical Summary

Technical Problem

Existing POI attribute determination devices can determine frequent or infrequent visits but fail to estimate specific POIs where users have stayed.

Method used

A stay POI estimation device estimates unassociated POIs by simulating user travel through candidate POIs based on user information and proximity to other users, using Bluetooth Low Energy contact logs and geographic data to match travel patterns.

Benefits of technology

Accurately estimates POIs where users have stayed, improving the accuracy of commercial facility measurement and user demographic analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007777693000008
    Figure 0007777693000008
  • Figure 0007777693000009
    Figure 0007777693000009
  • Figure 0007777693000010
    Figure 0007777693000010
Patent Text Reader

Abstract

The present invention addresses the problem of estimating a point of interest (POI) where a user has stayed. A stay POI estimation device 1 comprises an estimation unit 12 that estimates a stay POI on the basis of user information, which is a time-series history of each user's stays during move, some of which are stays associated with a POI where the user has stayed, and proximity to other users, the stay POI being a POI where the user has stayed in an unassociated stay, which is a stay not associated with a POI among the stays included in the user information. The estimation unit 12 performs a simulation for each user assuming that the user has moved via POI candidates, which are candidates for the stay POI, and estimates the stay POI out of the POI candidates on the basis of matching on the time series between proximity between users extracted in the simulation and proximity included in the user information.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present disclosure relates to a point of interest (POI) stay estimation device that estimates a POI where a user has stayed. [Background technology]

[0002] Patent Document 1 listed below discloses a POI attribute determination device that determines whether the attribute of a POI that is the current location is a POI where the user stays for a long time or frequently or an infrequent POI. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-154004 Summary of the Invention [Problem to be solved by the invention]

[0004] The POI attribute determination device described above determines whether a POI is visited frequently or infrequently by a user, but it cannot estimate, for example, the POIs where the user has stayed. Therefore, it is desirable to be able to estimate the POIs where the user has stayed. [Means for solving the problem]

[0005] A stay POI estimation device according to one aspect of the present disclosure is an estimation unit that estimates, based on user information, stay POIs (Points of Interest) at which a user stayed during an unmatched stay, which is a stay that is not matched to a POI among stays included in user information that is a time-series history of stays of each user during travel, some of which are matched with POIs where the user stayed, and proximity to other users. The estimation unit performs a simulation for each user assuming that the user traveled via POI candidates that are candidates for stay POIs, and estimates stay POIs from POI candidates based on a time-series match between the proximity between users extracted during the simulation and the proximity included in the user information.

[0006] In this aspect, the POIs where the user stayed are estimated for the stays that are not associated with any POIs during the user's travel. That is, the POIs where the user stayed can be estimated. [Effects of the Invention]

[0007] According to one aspect of the present disclosure, it is possible to estimate the POI where a user has stayed. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a diagram illustrating an example of a system configuration of a stay POI estimation system including a stay POI estimation device according to an embodiment. [Figure 2] FIG. 1 is a diagram showing a simple usage image of a stay POI estimation device according to an embodiment. [Figure 3] FIG. 2 is a diagram illustrating an example of a functional configuration of the stay POI estimation device according to the embodiment. [Figure 4] FIG. 10 is a diagram showing an example of a table of visited POI information (1) of user X. [Figure 5] FIG. 10 is a diagram showing an example of a table of visited POI information (1) of user Y. [Figure 6] FIG. 1 is a diagram showing an example (part 1) of map data. [Figure 7] FIG. 10 is a diagram showing an example (part 2) of map data. [Figure 8] FIG. 8 is a diagram showing decomposition of the map data shown in FIG. 7 into nodes and links. [Figure 9] FIG. 9 is a diagram showing an example of a table of weighted adjacency matrices corresponding to the node links shown in FIG. 8. [Figure 10] 10 is a flowchart showing an example of an algorithm for extracting store candidates executed by the stay POI estimation device according to the embodiment. [Figure 11] FIG. 10 is a diagram showing an example of a table of visited POI information (1) of user A. [Figure 12] FIG. 10 is a diagram showing another example of a table of visited POI information (1) of user A. [Figure 13] FIG. 10 is a diagram showing an example of a table of visited POI information (2) of user X. [Figure 14] FIG. 10 is a diagram showing an example of a table of visited POI information (2) of user Y. [Figure 15] FIG. 10 is a diagram showing an example of a table of visited POI information (3) of user X. [Figure 16] FIG. 10 is a diagram illustrating an example of a route of a brute force simulation according to candidate stores for each user. [Figure 17] FIG. 10 is a diagram illustrating an example of input data for a simulation. [Figure 18] FIG. 10 is a diagram illustrating an example of a table of trial patterns. [Figure 19] FIG. 10 is a diagram illustrating an example of a table of a contact log. [Figure 20] FIG. 10 is a diagram illustrating an example of matching between the log result of the contact log and the actual results. [Figure 21] 10 is a flowchart showing an example of a walking simulation algorithm executed by the stay POI estimation device according to the embodiment. [Figure 22] FIG. 10 is a diagram showing a decomposition of an example (part 3) of map data into nodes and links. [Figure 23] FIG. 10 is a diagram showing an example of a table of trial patterns in which patterns that differ from actual results are hatched. [Figure 24] FIG. 10 is a diagram showing an example of a table of visited POI information (4) of user X. [Figure 25] FIG. 2 is a sequence diagram showing an example of a processing flow executed by a stay POI estimation system including a stay POI estimation device according to an embodiment. [Figure 26] FIG. 2 is a diagram illustrating an example of the hardware configuration of a computer used in the stay POI estimation device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0009] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the drawings, the same elements are designated by the same reference numerals, and duplicate explanations will be omitted. Furthermore, the embodiments of the present disclosure in the following description are specific examples of the present invention, and the present invention is not limited to these embodiments unless otherwise specified to limit the present invention.

[0010] Fig. 1 is a diagram showing an example of the system configuration of a POI of stay estimation system 3 including a POI of stay estimation device 1 according to an embodiment. As shown in Fig. 1, the POI of stay estimation system 3 includes the POI of stay estimation device 1 and one or more mobile terminals 2 (mobile terminal 2a, mobile terminal 2b, mobile terminal 2c, ... are collectively referred to as mobile terminal 2 as appropriate). The POI of stay estimation device 1 and each mobile terminal 2 are communicatively connected to each other via a network such as a mobile communication network, and can send and receive information to and from each other.

[0011] The stay POI estimation device 1 is a computer device (server) that estimates POIs where users have stayed. A user is a person who uses the functions or services provided by the stay POI estimation device 1. Each user carries a mobile terminal 2. A stay means staying for a certain period of time. A stay may also mean not moving (almost) at all. A POI is a specific place that someone finds convenient or interesting. In this embodiment, a store is assumed as the POI, but this is not limiting. A store is, for example, a building for selling goods, or a building or area for providing services. Details of the stay POI estimation device 1 will be described later.

[0012] The mobile terminal 2 is a computer device such as a mobile communication terminal or a notebook computer that performs mobile communication. In this embodiment, the mobile terminal 2 is assumed to be a smartphone, but is not limited to this. As described above, each user carries the mobile terminal 2.

[0013] The mobile terminal 2 is capable of short-range wireless communication using Bluetooth (registered trademark) Low Energy (BLE), which is a part of Bluetooth (registered trademark). When the mobile terminals 2 come within a certain distance range, the mobile terminals 2 automatically exchange their own identification information with each other via short-range wireless communication, without any operation by the user or the like. Coming within a certain distance range is also referred to as coming into contact or proximity. The exchange of the identification information of the own terminals indicates that each mobile terminal 2 has come into contact with the other mobile terminal 2, or that the user of the mobile terminal 2 has come into contact with the user of the other mobile terminal 2. In this embodiment, a user ID that identifies the user carrying the mobile terminal 2 is used as the identification information of the own terminal (mobile terminal 2), but this is not limited to this.

[0014] A mobile terminal 2 (assumed to be mobile terminal 2a) generates BLE contact information regarding contact between users based on the user ID (contacting user ID) of the user carrying another mobile terminal 2 (assumed to be mobile terminal 2b) received from the mobile terminal 2b when the mobile terminal 2 comes into contact with the other mobile terminal 2. The BLE contact information associates, for example, the user ID of the user carrying the mobile terminal 2 (e.g., mobile terminal 2a), the contact date and time when the mobile terminal 2 came into contact with another mobile terminal 2 (e.g., mobile terminal 2b), and the contacting user ID which is the user ID of the user carrying the other mobile terminal 2. The mobile terminal 2 periodically (e.g., every minute) transmits the BLE contact information to the stay POI estimation device 1. The BLE contact information may also be called a BLE log.

[0015] The mobile terminal 2 may also have functions or sensors that are generally found in smartphones, such as a radio wave positioning function, a positioning function using GPS (Global Positioning System), a payment function, or an acceleration sensor, and may transmit information obtained by these functions or sensors to the stay POI estimation device 1.

[0016] For example, when a user of the mobile terminal 2 makes a payment at a store using the payment function, the mobile terminal 2 transmits payment information that associates the user ID of the user, the date and time of the payment, and a store ID that identifies the store to the stay POI estimation device 1. Note that the payment information may be transmitted by a device on the store side to the stay POI estimation device 1.

[0017] Furthermore, for example, the mobile terminal 2 periodically (for example, once per minute) transmits to the stay POI estimation device 1 location information in which the latitude and longitude obtained by the GPS positioning function are associated with the current date and time.

[0018] Furthermore, for example, the mobile terminal 2 periodically (for example, once per minute) transmits acceleration information in which the acceleration of the terminal itself obtained by the acceleration sensor is associated with the current date and time to the stay POI estimation device 1. Instead of or in addition to the acceleration, the acceleration information may include the state of the terminal itself based on the acceleration, for example, whether it is staying or moving.

[0019] FIG. 2 is a diagram illustrating a simple usage scenario of the stay POI estimation device 1. In the usage scenario illustrated in FIG. 2, there are stores F, E, M, N, and H. Assume that customer X, a user, makes a payment at store F and then stays at another store. By making a payment at store F, it is determined that customer X stayed at store F. The stay POI estimation device 1 estimates where customer X went, i.e., which stores customer X stayed at after staying at store F. In FIG. 2, solid arrows indicate candidate routes for customer X. Assume that customer Y, another user, makes a payment at store E and then at store N. In other words, it is determined that customer Y stayed at store E and then at store N. In FIG. 2, dashed arrows indicate customer Y's route. Assume that customer X and customer Y come into contact near store N and store H, as illustrated in FIG. 2.

[0020] When estimating which of store E, store M, store N, or store H customer X visited, the stay POI estimation device 1 first considers travel time. Considering travel time, customer X should have visited store M, store N, or store H, which is reachable within the travel time. Next, the stay POI estimation device 1 considers contact determination. Since customer X is determined to have come into contact with customer Y, customer X should have visited store N or store H, which are located near the contact determination. Furthermore, if customer X had been in store N, customer Y's payment information would have identified customer X as having stayed in store N, but this is not the case, so the stay POI estimation device 1 estimates that customer X stayed in store H.

[0021] 3 is a diagram showing an example of the functional configuration of the stay POI estimation device 1 according to the embodiment. As shown in FIG. 3, the stay POI estimation device 1 includes a storage unit 10, an acquisition unit 11, and an estimation unit 12 (estimation unit).

[0022] Each functional block of the POI of stay estimation device 1 is assumed to function within the POI of stay estimation device 1, but this is not limited to this. For example, some of the functional blocks of the POI of stay estimation device 1 may function in a computer device different from the POI of stay estimation device 1, and connected to the POI of stay estimation device 1 through a network, while appropriately sending and receiving information with the POI of stay estimation device 1. Furthermore, some functional blocks of the POI of stay estimation device 1 may be omitted, multiple functional blocks may be integrated into one functional block, or one functional block may be separated into multiple functional blocks.

[0023] Hereinafter, each function of the stay POI estimation device 1 shown in FIG. 3 will be described.

[0024] The storage unit 10 stores arbitrary information used for calculations in the stay POI estimation device 1 and the results of calculations in the stay POI estimation device 1. The information stored by the storage unit 10 may be referred to by each function of the stay POI estimation device 1 as appropriate.

[0025] The storage unit 10 stores user information, which is a time-series history of stays during travel, some of which are associated with POIs where the user stayed, and proximity to other users. Details of the user information will be described later in a specific example (as visited POI information).

[0026] The acquisition unit 11 acquires any information from another device via a network, and causes the storage unit 10 to store the information. For example, the acquisition unit 11 acquires BLE contact information, payment information, location information, acceleration information, and other information acquired by the functions or sensors of the mobile terminal 2 from the mobile terminal 2, and causes the storage unit 10 to store the information. Furthermore, for example, the acquisition unit 11 acquires user information, map information related to maps, and POI information related to POIs from an external server, and causes the storage unit 10 to store the information.

[0027] The acquiring unit 11 may process the acquired information and then store it in the storage unit 10. For example, the acquiring unit 11 generates user information for each user based on the acquired BLE contact information, payment information, location information, and acceleration information, and stores the generated user information in the storage unit 10.

[0028] The estimation unit 12 estimates, based on the user information, stay POIs that are POIs where the user stayed during uncorresponding stays, which are stays during travel of each user that are partly associated with POIs where the user stayed, and stays that are not associated with POIs among stays included in the user information, which is a time-series history of proximity to other users. The estimation unit 12 performs a simulation for each user assuming that the user traveled via POI candidates that are candidates for stay POIs, and estimates stay POIs from the POI candidates based on a time-series match between the proximity between users extracted during the simulation and the proximity included in the user information.

[0029] The estimation unit 12 may determine POI candidates for a user based on at least one of the stays immediately before or after the user's unaddressed stay.For users who come into contact with each other during unaddressed stays, the estimation unit 12 may determine POI candidates for each user by narrowing down the POI candidates determined for each user to those that overlap with each other.The estimation unit 12 may group users who come into contact with each other within a predetermined period and perform a simulation for the predetermined period for each group.

[0030] The estimation unit 12 may calculate the estimation accuracy of the stay POI based on the number of matches in the simulation. The estimation unit 12 may calculate the estimation accuracy of one POI candidate based on the number of matches in the simulation for the one POI candidate. The estimation unit 12 may calculate the estimation accuracy of one POI candidate based on the number of matches in the simulation and the number of matches in the simulation for the one POI candidate.

[0031] The estimation unit 12 may output the estimated result and the calculated estimation accuracy. The output may be, for example, a display that is one of the output devices 1006 described below, or may be transmitted to another device via the communication device 1004 described below.

[0032] Below, the details of the stay POI estimation device 1, particularly the estimation unit 12, will be described using specific examples. The main subject of processing in the following specific examples is the estimation unit 12. To improve the readability of the explanation, the main subject (the estimation unit 12) will be omitted as appropriate.

[0033] The flow of calculations by the estimation unit 12 is as follows. 1. Pretreatment a. Acquire the visited POI information of each user b.Get map data c. For each user's unspecified visited stores, list the stores in order of likelihood in terms of travel time. 2. Main processing a. Extracting POI information visited by all users at a certain time b. Label users who have contact information as a group (1) Narrow down the stores that overlap between users (2) For each group, a grid search is performed to find candidate stores for each user (if multiple stores match the conditions, the matching rate for each store is output). (3) Perform (2) on another group c. Update the time zone and return to 2.a. 3. Update visited POI information

[0034] [Calculation 1] The estimation unit 12 performs preprocessing for calculations 1.a to 1.c.

[0035] [Calculation 1.a] The estimation unit 12 acquires the visited POI (store) information (user information) of each user stored by the storage unit 10.

[0036] FIG. 4 is a diagram showing an example of a table of visited POI information (1) of user X. In the visited POI information (1) shown in FIG. 4, the following information is associated: a log type (payment, BLE, etc.) indicating the type of the log (visited POI information); a log time indicating the time when the log was taken; a state at the time of logging (stay, movement, etc.) indicating the state of user X (or the mobile terminal 2 carried by user X) at that time; an estimated stay time indicating the estimated stay time during the stay; a store (POI) that was visited during the stay if there was one (if there was no associated store, it is "unidentified"); and a contact person that is another user with whom user X came into contact (close proximity) at that time. FIG. 5 is a diagram showing an example of a table of visited POI information (1) of user Y, similar to FIG. 4.

[0037] [Calculation 1.b] The estimation unit 12 acquires the map data stored by the storage unit 10 for use in the simulation. The map data may be in any format as long as it is a map that can be used to calculate travel time between stores and reproduce the movement of users (people).

[0038] Fig. 6 is a diagram showing an example (part 1) of map data. The map data in Fig. 6 is shown as a graph (in graph theory) in which each POI is represented as a node and movement between POIs is represented as a link (edge).

[0039] FIG. 7 is a diagram showing an example (part 2) of map data. The map data shown in FIG. 7 is the map data used in the usage image shown in FIG. 2. FIG. 8 is a diagram showing the decomposition of the map data shown in FIG. 7 into nodes and links. In FIG. 8, nodes a to f correspond to intersections between stores, etc. The numbers (= weights) on the links represent the distances (or travel times) between nodes. FIG. 9 is a diagram showing an example of a table of weighted adjacency matrices corresponding to the node links shown in FIG. 8. The adjacency matrix shown in FIG. 9 is generated based on the numbers on the links in FIG. 8 and the nodes connected by the links.

[0040] [Calculation 1.c] The estimation unit 12 lists unspecified visited stores of each user in order of likelihood in terms of travel time. For example, for a log in which the store in the visited POI information (1) of user X shown in FIG. 4 is "unspecified," the estimation unit 12 lists "stores that can be reached from store F within one hour (since the user was at store F until 12:00 and is currently staying from 1:00 PM)" and "stores that can be reached from store O within five minutes (since the user is currently staying until 1:55 PM and is at store O at 2:00 PM)" based on the estimated stay times of the previous and next stays. For example, the estimation unit 12 lists store N, store J, store I, store E, store D, and store H as candidate stores. The estimation unit 12 performs this process (listing) for all users.

[0041] 10 is a flowchart showing an example of an algorithm for extracting store candidates executed by the stay POI estimation device 1. First, the end time of stay at the specified store where the user stayed immediately before the unspecified store is calculated.

number

number

number

[0042] Next, all stores are searched. First, it is determined whether i is smaller than Num (step S6). If it is determined that it is smaller in S6 (S6: Yes), the distance X of the shortest route from the specific store to store i is calculated using the obtained adjacency matrix using Dijkstra's algorithm or the like (step S7). Next, the shortest arrival time to store i is calculated.

number

number

number

[0043] We will now explain the case where the starting point or ending point of the visited store is an unspecified store. FIG. 11 is a diagram showing an example table of visited POI information (1) for user A. In FIG. 11, the ending point of the visited store is an unspecified store. In this case, seven stores are listed as stores that can be traveled to from store A within 10 minutes: store B, store C, store G, store H, store K, store L, and store F. Compared to when the starting point and ending point are specified, the number of candidate stores increases and the simulation execution time increases, but similar processing is possible.

[0044] A case where there are multiple unspecified stores will be described. FIG. 12 is a diagram showing another example table of visited POI information (1) for user A. In FIG. 12, there are two unspecified stores. In this case, seven stores, namely, stores B, C, G, H, K, L, and F, are listed as stores that can be reached from store A, the first store, within 10 minutes (12:00 to 12:10). Next, four stores, namely, stores E, J, N, and I, are listed as stores that can be reached from store O, within 5 minutes (13:55 to 14:00). Next, combinations of stores that can be reached within 10 minutes (12:50 to 13:00) are extracted and listed (with unnecessary combinations eliminated) from the combinations of each of the seven first stores with each of the four second stores, i.e., 7*4=28 combinations.

[0045] [Calculation 2] The estimation unit 12 performs the main processing of calculations 2.a to 2.c.

[0046] [Calculation 2.a] The estimation unit 12 extracts visited POI information of all users for a certain period of time. FIG. 13 is a diagram showing an example table of visited POI information (2) of user X limited to the period from 12:00 to 14:00. FIG. 14 is a diagram showing an example table of visited POI information (2) of user Y limited to the period from 12:00 to 14:00. In the visited POI information (2) of FIGS. 13 and 14, the store candidates listed in calculation 1.c are added as a "store candidate" column.

[0047] [Calculation 2.b] The estimation unit 12 labels users who have contact information (within the relevant time period) as a group. For example, based on the visited POI information (2) in FIGS. 13 and 14, user X, user Y, and user Z are labeled (grouped) as group 1. Similarly, for example, user A and user B are labeled as group 2.

[0048] [Calculation 2.b(1)] The estimation unit 12 narrows down the stores that overlap between users. For example, in the visited POI information (2) of FIGS. 13 and 14, the overlap between the unspecified store candidates "N, J, I, E, D, H" of user X and the unspecified store candidates "K, L, M, N, I, H" of user Y is store N, store I, and store H, so the store candidates are narrowed down to these three store candidates. FIG. 15 is a diagram showing an example table of visited POI information (3) of user X. As shown in the visited POI information (3) of FIG. 15, the store candidates have been narrowed down to "N, I, H." Based on these narrowed down store candidates, the conditions of the trial pattern, which will be described later, are determined.

[0049] [Calculation 2.b(2)] The estimation unit 12 performs a grid search for candidate stores for each user for each group (if multiple stores match the conditions, the matching rate for each store is output).

[0050] For example, for group 1, users X, Y, and Z, a round-robin simulation is performed according to the number of store candidates for each user. The number of trials is expressed by the following formula. Number of trials = {Number of store candidates for users X and Y × Number of store candidates for user Z} × n Here, n is the number of random number seed patterns to be implemented. In general simulations, seeds are set when random numbers are used, and n is a variable that determines how many seeds to use for verification.

[0051] 16 is a diagram showing an example of routes in a brute force simulation according to store candidates for each user. As shown in FIG. 16, routes passing through the store candidates are simulated.

[0052] Fig. 17 is a diagram showing an example of input data for the simulation. The input data shown in Fig. 17 corresponds to a user ID for identifying a user, a departure time of the user, a departure store of the user, an arrival time of the user, an arrival store of the user, and an arrival store stay time, which is the time the user stays at the arrival store. The estimation unit 12 inputs the input data shown in Fig. 17 into the simulator and performs a walking simulation in accordance with the map data for the number of trials.

[0053] 18 is a diagram showing an example of a table of trial patterns. In the trial patterns shown in Fig. 18, for each trial pattern, the stores of (contacting) user X and user Y, the store of user Z, and a random number seed are associated with each other.

[0054] The estimation unit 12 reproduces contact by BLE on a simulator, and when the distance between users becomes equal to or less than a threshold, it leaves a log (contact log) indicating the contact. FIG. 19 is a diagram showing an example of a table of the contact log. In the contact log shown in FIG. 19, the time of contact is associated with the contact user (the user ID of the contact user), who is the user who made the contact. The estimation unit 12 matches the log results (there are as many as the number of trial patterns) with the actual results (visited POI information (1), etc.), and if the contact log matches the actual results, extracts the matching attempt. FIG. 20 is a diagram showing an example of matching the log results of the contact log with the actual results. In the matching shown in FIG. 20, attempts in which user X and user Z, and user X and user Y make contact are extracted.

[0055] FIG. 21 is a flowchart showing an example of an algorithm for a walking simulation executed by the stay POI estimation device 1. First, an adjacency matrix reflecting the geography of stores is obtained (step S20). Next, input data for each user is obtained (step S21). Next, the number of patterns for the random number seed is set (step S22). Next, one combination of store candidate and random number seed for each user is extracted (step S23). Specifically, one row of trial patterns as shown in FIG. 18 is extracted. Next, a walking speed is set based on the random number (step S24, details will be described later). Next, a route to be searched is extracted (step S25, details will be described later). Next, one route is extracted (step S26). Next, at the simulation start time T start and end time T end (Step S27). Next, t=T start (step S28).

[0056] Next, t is T end It is determined whether t is smaller than t (step S29). If it is determined in S29 that it is smaller (S29: Yes), walking (simulation) is performed along the set route at the set walking speed (step S30). Next, when the distance between the users becomes equal to or smaller than the threshold, a log is output (step S31). Next, t is set to t+dt (step S32), and the process returns to S29. If it is determined in S29 that it is not smaller (S29: No), the process outputs a contact log (step S33). Following S33, if there are still routes to be searched for, the process returns to S26, and if not, the process returns to S23. The processes of S29 to S33 are the simulation.

[0057] The walking speed setting in S24 will now be described in detail. The walking speed of user i follows a normal distribution and is expressed by the following formula (unit: m / s).

number

[0058] The extraction of the searched route in S25 will be described in detail. As a premise, the node links shown in FIG. 22 will be referred to. FIG. 22 is a diagram showing the decomposition of an example (part 3) of map data into nodes and links. In the node links shown in FIG. 22, the shortest route from E to N can be considered in the following two ways. 1.E → e → d → c → f → N 2. E → e → d → c → b → N Although not the shortest route, the following route is also possible: 3. E → e → d → g → b → N In cases like 1 and 2, where it is not possible to determine a single shortest route, and in cases like 3, where there is a slight detour but no significant difference in travel time, the target route is extracted. (Route distance)≦(Shortest route+X thres ) We can extract all paths that satisfy X thres is a parameter.

[0059] [Calculation 2.b(3)] The estimation unit 12 performs (1) on another group.

[0060] [Calculation 2.c] The estimation unit 12 updates the target time period and returns to calculation 2.a.

[0061] [Calculation 3] The estimation unit 12 updates the visited POI information. First, the estimation unit 12 distinguishes among the trial patterns those that differ (do not match) with the actual results, and sets them as extraction results. Fig. 23 is a diagram showing an example of a table of trial patterns in which those that differ from the actual results are hatched.

[0062] If M is the number of matches with BLE contact records, the following formula holds: M≦number of trials Furthermore, if N is the number of times store i was selected out of M attempts, the following equation holds: N i ≦M The matching rate for store i is given by the following formula: N i / M

[0063] In the example table of FIG. 23, for example, M=18, and the number of times that user X and user Y visited store N is N N = 12. In this case, the match rate of store N for user X and user Y is 12 / 18 = 0.67. FIG. 24 is a diagram showing an example of a table of visited POI information (4) for user X. As shown in FIG. 24, one or more store candidates and their match rates are added to an unspecified store.

[0064] FIG. 25 is a sequence diagram showing an example of a processing flow executed by the stay POI estimation system 3 including the stay POI estimation device 1. First, an external server transmits map information and POI information to the stay POI estimation device 1 (step S40). Next, the mobile device 2 acquires its own location information and BLE contact information (step S41). Next, the mobile device 2 transmits the location information and BLE contact information acquired in S41 to an application server (step S42). Next, the application server derives and stores a visited POI based on the location information and BLE contact information received in S42 (step S43). Next, the application server transmits the visited POI information derived in S43 to the stay POI estimation device 1 (step S44). Next, the stay POI estimation device 1 performs a mathematical calculation (simulation) based on the map information and POI information received in S40 and the visited POI information received in S44 (step S45). Next, the stay POI estimation device 1 transmits the additional information of the visited POI obtained in S45 to the application server (step S46). Next, the application server updates the (stored) visited POI information based on the additional information of the visited POI received in S46 (step S47).

[0065] 25, the timing of S40 may be any time before S45. Furthermore, the application server may be included in the stay POI estimation device 1. That is, S42 may be transmitted to the stay POI estimation device 1, and S43, S45, and S47 may be performed within the stay POI estimation device 1.

[0066] Next, the effects of the stay POI estimation device 1 according to the embodiment will be described.

[0067] According to the stay POI estimation device 1, the estimation unit 12 estimates, based on user information, stay POIs where the user stayed during unassociated stays, which are stays that are not associated with POIs among stays included in user information, which is a time-series history of stays during the user's travel, some of which are associated with POIs where the user stayed, and proximity to other users. The estimation unit 12 performs a simulation for each user assuming that the user traveled via POI candidates that are candidates for stay POIs, and estimates stay POIs from the POI candidates based on a time-series match between the proximity between users extracted during the simulation and the proximity included in the user information. With this configuration, POIs where the user stayed during stays that are not associated with POIs among stays during the user's travel, are estimated. In other words, the POIs where the user stayed can be estimated.

[0068] Furthermore, according to the stay POI estimation device 1, the estimation unit 12 may determine POI candidates for a user based on at least one of the stays immediately before or immediately after the user's unaddressed stay. This configuration makes it possible to use more accurate POI candidates based on at least one of the stays immediately before or immediately after the user's unaddressed stay, thereby enabling more accurate estimation.

[0069] Furthermore, according to the stay POI estimation device 1, for users who come into contact with each other during unsupported stays, the estimation unit 12 may narrow down the POI candidates determined for each user to those that overlap with each other. This configuration narrows down the POI candidates, thereby reducing the amount of calculation required for the simulation and enabling faster estimation.

[0070] Furthermore, according to the stay POI estimation device 1, the estimation unit 12 may group users who come into contact with each other within a predetermined period and perform a simulation for the predetermined period for each group. This configuration reduces the amount of calculation required for the simulation, enabling faster estimation.

[0071] Furthermore, according to the stay POI estimation device 1, the estimation unit 12 may calculate the estimation accuracy of the stay POI based on the number of matches in the simulation. With this configuration, for example, it is possible to grasp not only the estimation result but also the estimation accuracy.

[0072] Furthermore, according to the stay POI estimation device 1, the estimation unit 12 may calculate the estimation accuracy of a POI candidate based on the number of matches in a simulation for the POI candidate. With this configuration, for example, it is possible to grasp not only the estimation result but also the estimation accuracy.

[0073] Furthermore, according to the stay POI estimation device 1, the estimation unit 12 may calculate the estimation accuracy of a POI candidate based on the number of matches in the simulation and the number of matches in the simulation for the POI candidate. With this configuration, for example, it is possible to grasp not only the estimation result but also the estimation accuracy.

[0074] The stay POI estimation device 1 is a visited store complementation technology based on numerical calculations.

[0075] In general, to measure the effectiveness of commercial facility measures and advertisements and to analyze user demographics, it is desirable to be able to accurately determine which stores each user has visited. One possible method for determining store visits is to use location information and payment history, but it is difficult to obtain location information and payment history information for all users.

[0076] The stay POI estimation device 1 performs a walking simulation based on visited POIs (stores) that can be identified using existing technology, and for stores that could not be identified, estimates the most likely visited POIs (stores) in time and space from the BLE contact information between users.

[0077] The stay POI estimation device 1 is a device that estimates the likely stores that a user will visit, and in cases where the stores that a user will visit cannot be estimated using location information and payment information alone, the system may utilize contact detection technology, such as BLE, and simulation technology to present stores that the user is likely to visit, along with their accuracy. The stay POI estimation device 1 performs simulations for each group, making it possible to narrow down the users to those of interest, which is expected to improve the efficiency of simulation execution.

[0078] In this embodiment, the order of "listing candidate stores," "segmenting a fixed time period," and "segmenting groups" may be interchanged from the perspective of execution speed. Furthermore, the table specifications may take any format as long as they can perform similar calculations. Furthermore, any technology capable of similar contact detection, such as infrared communication, may be used in addition to BLE.

[0079] The stay POI estimation device 1 of the present disclosure may have the following configuration.

[0080] [1] A stay POI estimation device comprising an estimation unit that estimates, based on user information, stay POIs where a user stayed during an uncorresponding stay, which is a stay that is not associated with a POI among stays included in user information, which is a time-series history of stays of each user during travel, some of which are associated with POIs where the user stayed, and proximity to other users, and that performs a simulation for each user assuming that the user moved via POI candidates that are candidates for stay POIs, and estimates stay POIs from POI candidates based on a time-series match between the proximity between users extracted during the simulation and the proximity included in the user information.

[0081] [2] The estimation unit determines POI candidates for the user based on at least one of a stay immediately before or a stay immediately after the unaddressed stay of the user. The stay POI estimation device according to [1].

[0082] [3] The estimation unit narrows down the POI candidates determined for each of the users who come into contact with each other during an unaddressed stay to those that overlap with each other, from among the POI candidates determined for each of the users. The stay POI estimation device according to [1] or [2].

[0083] [4] the estimation unit groups users who are in contact with each other within a predetermined period of time, and performs a simulation for the predetermined period for each group; The stay POI estimation device according to any one of [1] to [3].

[0084] [5] the estimation unit calculates the estimation accuracy of the stay POI based on the number of matches in the simulation; The stay POI estimation device according to any one of [1] to [4].

[0085] [6] the estimation unit calculates the estimation accuracy of the one POI candidate based on the number of matches in the simulation for the one POI candidate; The stay POI estimation device according to any one of [1] to [5].

[0086] [7] the estimation unit calculates the estimation accuracy of the one POI candidate based on the number of matches in the simulation and the number of matches in the simulation for the one POI candidate; The stay POI estimation device according to any one of [1] to [6].

[0087] The block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of at least one of hardware and software. Furthermore, the method for realizing each functional block is not particularly limited. That is, each functional block may be realized using a single device that is physically or logically coupled, or may be realized using two or more physically or logically separated devices that are directly or indirectly connected (for example, using wires, wirelessly, etc.) and these multiple devices. The functional block may also be realized by combining the single device or multiple devices with software.

[0088] Functions include, but are not limited to, judgment, determination, judgment, calculation, computation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, resolution, selection, election, establishment, comparison, assumption, expectation, consideration, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocation, mapping, and assignment. For example, a functional block (component) that performs transmission is called a transmitting unit or transmitter. As mentioned above, there are no particular limitations on how these functions are implemented.

[0089] For example, the stay POI estimation device 1 according to an embodiment of the present disclosure may function as a computer that performs processing of the stay POI estimation method of the present disclosure. Fig. 26 is a diagram illustrating an example of the hardware configuration of the stay POI estimation device 1 according to an embodiment of the present disclosure. The stay POI estimation device 1 described above may be physically configured as a computer including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, etc.

[0090] In the following description, the term "device" can be interpreted as a circuit, a device, a unit, etc. The hardware configuration of the stay POI estimation device 1 may be configured to include one or more of the devices shown in the figure, or may be configured to exclude some of the devices.

[0091] Each function in the stay POI estimation device 1 is realized by loading specified software (programs) onto hardware such as a processor 1001 and a memory 1002, causing the processor 1001 to perform calculations, control communication via a communication device 1004, and control at least one of reading and writing data in the memory 1002 and the storage 1003.

[0092] The processor 1001 controls the entire computer by running, for example, an operating system. The processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, a register, etc. For example, the acquisition unit 11 and the estimation unit 12 described above may be realized by the processor 1001.

[0093] The processor 1001 also reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002 and executes various processes in accordance with the programs. The programs used are those that cause a computer to execute at least some of the operations described in the above-described embodiments. For example, the acquisition unit 11 and the estimation unit 12 may be implemented by a control program stored in the memory 1002 and running on the processor 1001, and similar implementations may be made for other functional blocks. While the above-described various processes have been described as being executed by one processor 1001, they may also be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The programs may be transmitted from a network via a telecommunications line.

[0094] The memory 1002 is a computer-readable recording medium and may be configured, for example, by at least one of a read-only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a random access memory (RAM), etc. The memory 1002 may also be called a register, a cache, a main memory (primary storage device), etc. The memory 1002 can store executable programs (program codes), software modules, etc. for implementing a wireless communication method according to an embodiment of the present disclosure.

[0095] Storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray disc), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy disk, a magnetic strip, etc. Storage 1003 may also be referred to as an auxiliary storage device. The above-mentioned storage medium may be, for example, a database, a server, or other appropriate medium including at least one of memory 1002 and storage 1003.

[0096] The communication device 1004 is hardware (transmission / reception device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, or a communication module. The communication device 1004 may be configured to include a high-frequency switch, a duplexer, a filter, a frequency synthesizer, etc. to realize at least one of frequency division duplex (FDD) and time division duplex (TDD). For example, the above-mentioned acquisition unit 11 and estimation unit 12 may be realized by the communication device 1004.

[0097] The input device 1005 is an input device (for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that receives input from the outside. The output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that outputs to the outside. The input device 1005 and the output device 1006 may be integrated into one device (for example, a touch panel).

[0098] Furthermore, each device, such as the processor 1001 and the memory 1002, is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between each device.

[0099] Furthermore, the stay POI estimation device 1 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA), and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.

[0100] Notification of information is not limited to the aspects / embodiments described in this disclosure, and may be performed using other methods.

[0101] Each aspect / embodiment described in the present disclosure may be applied to at least one of systems using LTE (Long Term Evolution), LTE-Advanced (LTE-A), SUPER 3G, IMT-Advanced, 4G (4th generation mobile communication system), 5G (5th generation mobile communication system), FRA (Future Radio Access), NR (New Radio), W-CDMA (registered trademark), GSM (registered trademark), CDMA2000, UMB (Ultra Mobile Broadband), IEEE 802.11 (Wi-Fi (registered trademark)), IEEE 802.16 (WiMAX (registered trademark), IEEE 802.20, UWB (Ultra-Wideband), Bluetooth (registered trademark), or other appropriate systems, and next-generation systems extended based on these. Furthermore, a combination of multiple systems (e.g., a combination of at least one of LTE and LTE-A with 5G, etc.) may also be applied.

[0102] The order of the procedures, sequences, flowcharts, etc. of each aspect / embodiment described in this disclosure may be changed unless it is consistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.

[0103] Input and output information may be stored in a specific location (for example, memory) or may be managed using a management table. Input and output information may be overwritten, updated, or added to. Output information may be deleted. Input information may be sent to another device.

[0104] The determination may be made based on a value represented by one bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).

[0105] Each aspect / embodiment described in this disclosure may be used alone, in combination, or switched depending on the implementation. Furthermore, notification of predetermined information (e.g., notification that "X is true") is not limited to being done explicitly, but may be done implicitly (e.g., by not notifying the predetermined information).

[0106] Although the present disclosure has been described in detail above, it is clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the spirit and scope of the present disclosure as defined by the claims. Therefore, the description of the present disclosure is intended to be illustrative and does not have any limiting meaning on the present disclosure.

[0107] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.

[0108] Software, instructions, information, etc. may also be transmitted or received over a transmission medium. For example, if software is transmitted from a website, server, or other remote source using wired technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave), then these wired and / or wireless technologies are included within the definition of transmission media.

[0109] The information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.

[0110] In addition, terms explained in this disclosure and terms necessary for understanding this disclosure may be replaced with terms having the same or similar meanings.

[0111] As used in this disclosure, the terms "system" and "network" are used interchangeably.

[0112] Furthermore, the information, parameters, etc. described in this disclosure may be expressed using absolute values, may be expressed using relative values ​​from a predetermined value, or may be expressed using other corresponding information.

[0113] The names used for the above parameters are not limiting in any way, and furthermore, the mathematical formulas etc. using these parameters may differ from those explicitly disclosed in this disclosure.

[0114] As used in this disclosure, the terms "determining" and "determining" may encompass a wide variety of actions. "Determining" and "determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiring (e.g., searching in a table, database, or other data structure), ascertaining, and the like. "Determining" and "determining" may also include receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, accessing (e.g., accessing data in memory), and the like. Furthermore, "judgment" and "decision" can include regarding resolving, selecting, choosing, establishing, comparing, etc. as having been "judged" or "decided." In other words, "judgment" and "decision" can include regarding some action as having been "judged" or "decided." Furthermore, "judgment (decision)" can be interpreted as "assuming," "expecting," "considering," etc.

[0115] The terms "connected," "coupled," or any variation thereof, refer to any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to each other. The coupling or connection between elements may be physical, logical, or a combination thereof. For example, "connected" may be read as "access." As used in this disclosure, two elements may be considered to be "connected" or "coupled" to each other using one or more wires, cables, and / or printed electrical connections, as well as electromagnetic energy having wavelengths in the radio frequency range, microwave range, and optical (both visible and invisible) range, as some non-limiting and non-exhaustive examples.

[0116] As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."

[0117] As used in this disclosure, any reference to an element using a designation such as "first," "second," etc. does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must in some way precede the second element.

[0118] The "means" in the configuration of each of the above devices may be replaced with "part," "circuit," "device," etc.

[0119] When used in this disclosure, the terms "include," "including," and variations thereof are intended to be inclusive, similar to the term "comprising." Furthermore, when used in this disclosure, the term "or" is not intended to be an exclusive or.

[0120] In this disclosure, where articles are added by translation, such as a, an, and the in English, the disclosure may include that the nouns following these articles are in the plural form.

[0121] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "coupled" may also be interpreted in the same way as "different." [Explanation of symbols]

[0122] 1...stay POI estimation device, 2...mobile terminal, 3...stay POI estimation system, 10...storage unit, 11...acquisition unit, 12...estimation unit, 1001...processor, 1002...memory, 1003...storage, 1004...communication device, 1005...input device, 1006...output device, 1007...bus.

Claims

1. A stay POI estimation device comprising an estimation unit that estimates, based on user information, a stay POI where a user stayed during an unmatched stay, which is a stay that is not matched with a POI among stays included in user information, which is a chronological history of stays of each user while traveling, some of which are matched with POIs (Points of Interest) where the user stayed, and proximity to other users, and that performs a simulation for each user assuming that the user moved via POI candidates that are candidates for stay POI, and estimates the stay POI from the POI candidates based on a chronological match between the proximity between users extracted during the simulation and the proximity included in the user information.

2. The estimation unit determines POI candidates for the user based on at least one of a stay immediately before or a stay immediately after the unaddressed stay of the user. The stay POI estimation device according to claim 1 .

3. The estimation unit narrows down the POI candidates determined for each of the users who come into contact with each other during an unaddressed stay to POI candidates that overlap with each other, from among the POI candidates determined for each of the users. The stay POI estimation device according to claim 2 .

4. the estimation unit groups users who are in contact with each other within a predetermined period of time, and performs a simulation for the predetermined period for each group; The stay POI estimation device according to claim 1 .

5. The estimation unit calculates the estimation accuracy of the stay POI based on the number of matches in the simulation. The stay POI estimation device according to claim 1 .

6. the estimation unit calculates an estimation accuracy of the one POI candidate based on the number of matches in the simulation for the one POI candidate; The stay POI estimation device according to claim 1 .

7. the estimation unit calculates an estimation accuracy of the one POI candidate based on the number of matches in the simulation and the number of matches in the simulation for the one POI candidate; The stay POI estimation device according to claim 1 .

Citation Information

Patent Citations

  • POI attribute determination device, POI recommendation server, and POI recommendation system

    JP2011154004A

  • Device, program and method for retrieving user taking similar moving route

    JP2015049681A

  • Vehicle position analyzer and vehicle position analysis method

    JP2020144587A

  • Estimation device, method for estimation, and program

    JP2020193860A