WO2024047949A1 - 滞在poi推定装置 - Google Patents

滞在poi推定装置 Download PDF

Info

Publication number
WO2024047949A1
WO2024047949A1 PCT/JP2023/017466 JP2023017466W WO2024047949A1 WO 2024047949 A1 WO2024047949 A1 WO 2024047949A1 JP 2023017466 W JP2023017466 W JP 2023017466W WO 2024047949 A1 WO2024047949 A1 WO 2024047949A1
Authority
WO
WIPO (PCT)
Prior art keywords
poi
stay
user
store
estimation
Prior art date
Application number
PCT/JP2023/017466
Other languages
English (en)
French (fr)
Inventor
佑輔 中村
哲哉 山口
亮勢 酒井
Original Assignee
株式会社Nttドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Publication of WO2024047949A1 publication Critical patent/WO2024047949A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/005Traffic control systems for road vehicles including pedestrian guidance indicator

Definitions

  • One aspect of the present disclosure relates to a stay POI estimation device that estimates a POI (Point of Interest) where a user has stayed.
  • a stay POI estimation device that estimates a POI (Point of Interest) where a user has stayed.
  • Patent Document 1 listed below discloses a POI attribute determination device that determines whether the attribute of the POI, which is the current location, is a POI with a high or low staying time or frequency for a user.
  • the above POI attribute determination device determines whether a POI is a POI with a high or low frequency of stay for the user, but cannot, for example, estimate the POI where the user has stayed. Therefore, it is desired to estimate the POI where the user has stayed.
  • a stay POI estimating device is able to calculate a stay of each user during a move, in which a portion of the stay is associated with a POI (Point of Interest), and proximity to other users.
  • An estimating unit that estimates a stay POI, which is a POI where the user stayed, in an uncorresponding stay, which is a stay to which a POI is not associated, among stays included in user information that is a time-series history, based on user information.
  • a simulation is performed for each user that assumes that the user moves via a POI candidate that is a candidate for a staying POI, and the chronological relationship between the proximity between users extracted during the simulation and the proximity included in user information is calculated.
  • the present invention includes an estimating unit that estimates the staying POI from the POI candidates based on the match.
  • the POI in which the user stayed during a stay during the user's movement to which no POI is associated is estimated. That is, it is possible to estimate the POI where the user has stayed.
  • FIG. 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.
  • FIG. 2 is a diagram illustrating a simple usage image of the stay POI estimation device according to the embodiment. It is a diagram showing an example of the functional configuration of a stay POI estimation device according to an embodiment. It is a figure which shows the example of a table of user X's visited POI information (1). It is a figure which shows the example of a table of user Y's visited POI information (1). It is a figure showing an example (part 1) of map data. It is a figure which shows an example (part 2) of map data. 8 is a diagram showing the decomposition of the map data shown in FIG.
  • FIG. 9 is a diagram showing an example of a table of a weighted adjacency matrix corresponding to the node links shown in FIG. 8.
  • FIG. It is a flow chart which shows an example of an extraction algorithm of a store candidate performed by a stay POI estimation device concerning an embodiment. It is a figure showing an example of a table of user A's visited POI information (1). It is a figure which shows another example of a table of user A's visited POI information (1). It is a figure which shows the example of a table of user X's visited POI information (2). It is a figure which shows the example of a table of user Y's visited POI information (2).
  • FIG. 3 is a diagram showing an example of a table of trial patterns. It is a figure which shows the example of a table of a contact log. It is a figure which shows an example of the comparison of the log result of a contact log, and a track record. It is a flowchart which shows an example of the algorithm of the walking simulation performed by the stay POI estimation apparatus based on embodiment.
  • FIG. 7 is a diagram showing the decomposition of an example (part 3) of map data into node links.
  • FIG. 7 is a diagram illustrating an example of a table of trial patterns in which patterns different from actual results are hatched. It is a figure which shows the example of a table of user X's visited POI information (4).
  • FIG. 2 is a sequence diagram illustrating an example of a processing flow executed by a stay POI estimation system including a stay POI estimation device according to an embodiment. It is a diagram showing an example of the hardware configuration of a computer used in the stay POI estimation device according to the embodiment.
  • FIG. 1 is a diagram showing an example of a system configuration of a stay POI estimation system 3 including a stay POI estimation device 1 according to an embodiment.
  • the stay POI estimation system 3 includes a stay POI estimation device 1 and one or more mobile terminals 2 (mobile terminals 2a, mobile terminals 2b, mobile terminals 2c, etc., collectively referred to as mobile terminals 2 as appropriate).
  • the stay POI estimating device 1 and each mobile terminal 2 are communicatively connected to each other via a network such as a mobile communication network, and are capable of transmitting and receiving information to and from each other.
  • the staying POI estimation device 1 is a computer device (server) that estimates the POI where the user has stayed.
  • a user is a user (person) of a function or service provided by the stay POI estimation device 1.
  • Each user carries a mobile terminal 2. To stay is to stay for a certain period of time. Staying may be (almost) not moving.
  • a POI is a specific location that someone finds useful or interesting.
  • a store is assumed as a POI, but the POI is not limited to this.
  • a store is, for example, a building for selling products or a building or area for providing services. Details of the stay POI estimation device 1 will be described later.
  • the mobile terminal 2 is a mobile communication terminal that performs mobile communication or a computer device such as a notebook computer.
  • a smartphone is assumed as the mobile terminal 2, but the present invention is not limited to this.
  • the mobile terminal 2 is carried by each user as described above.
  • the mobile terminal 2 is capable of short-range wireless communication using BLE (Bluetooth (registered trademark) Low Energy), which is a part of Bluetooth (registered trademark).
  • BLE Bluetooth (registered trademark) Low Energy
  • the mobile terminals 2 automatically exchange their own identification information with each other by short-range wireless communication without any operation by the user or the like. Coming within a certain distance range is also referred to as being in contact or being in close proximity.
  • the exchange of identification information of the own terminals indicates that each of the mobile terminals 2 has contacted the other mobile terminal 2, or that the user of the mobile terminal 2 has contacted the user of the other mobile terminal 2.
  • a user ID for identifying a user carrying the mobile terminal 2 is used as the identification information of the own terminal (mobile terminal 2), but the present invention is not limited to this.
  • the mobile terminal 2 receives the user ID (contact user ID) of the user carrying the mobile terminal 2b from the mobile terminal 2b when it comes into contact with another mobile terminal 2 (referred to as the mobile terminal 2b). ), BLE contact information regarding the contact between users is generated.
  • the BLE contact information includes, for example, the user ID of the user who carries the mobile terminal 2 (for example, the mobile terminal 2a) that is the own terminal, and the date and time when the mobile terminal 2 came into contact with another mobile terminal 2 (for example, the mobile terminal 2b, etc.).
  • the contact date and time is associated with the contact user ID, which is the user ID of the user who carries the other mobile terminal 2.
  • the mobile terminal 2 periodically (for example, every minute) transmits BLE contact information to the staying POI estimation device 1.
  • BLE contact information may be called a BLE log.
  • the mobile terminal 2 is equipped with functions or sensors that a general smartphone has, such as a radio wave positioning function, a positioning function using GPS (Global Positioning System), a payment function, or an acceleration sensor.
  • a radio wave positioning function such as a radio wave positioning function, a positioning function using GPS (Global Positioning System), a payment function, or an acceleration sensor.
  • GPS Global Positioning System
  • the acquired information and the like may be transmitted to the stay POI estimation device 1.
  • the mobile terminal 2 stores the user ID of the user, the date and time of the payment, and the store ID that identifies the store. transmits the associated payment information to the stay POI estimation device 1.
  • the payment information may be transmitted to the stay POI estimation device 1 by a device on the store side.
  • the mobile terminal 2 periodically (for example, once a minute) sends location information in which the latitude and longitude obtained by the GPS positioning function are associated with the current date and time to the stay POI estimation device 1. Send.
  • the mobile terminal 2 periodically (for example, once every minute) transmits acceleration information in which the acceleration of the terminal obtained by the acceleration sensor and the current date and time are associated to the stay POI estimation device 1.
  • the acceleration information may include the state of the own terminal based on the acceleration, such as whether the terminal is staying or moving.
  • FIG. 2 is a diagram showing a simple usage image of the stay POI estimation device 1.
  • the usage image shown in FIG. 2 there are store F, store E, store M, store N, and store H.
  • customer X who is a user, makes a payment at store F and then stays at another store.
  • the stay POI estimating device 1 estimates where the customer X went, that is, which store the customer X stayed at after staying at the store F.
  • solid arrows indicate route candidates for customer X.
  • customer Y who is another user, makes a payment at store E and then at store N.
  • the stay POI estimating device 1 first considers the travel time when estimating which store among store E, store M, store N, or store H the customer X went to. Considering the travel time, customer X should have gone to 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 was determined to have come into contact with customer Y, customer Furthermore, if customer X was at store N, customer Y's payment information would identify customer It is estimated that he stayed in
  • FIG. 3 is a diagram showing an example of the functional configuration of the stay POI estimation device 1 according to the embodiment.
  • the stay POI estimation device 1 includes a storage section 10, an acquisition section 11, and an estimation section 12 (estimation section).
  • each functional block of the stay POI estimation device 1 is assumed to function within the stay POI estimation device 1, the present invention is not limited to this.
  • some of the functional blocks of the stay POI estimating device 1 are a computer device different from the stay POI estimating device 1, and are connected to the stay POI estimating device 1 in a computer device connected to the stay POI estimating device 1 through a network. It may function while transmitting and receiving information as appropriate.
  • some functional blocks of the stay POI estimation device 1 may be omitted, multiple functional blocks may be integrated into one functional block, or one functional block may be decomposed into multiple functional blocks. Good too.
  • the storage unit 10 stores arbitrary information used in calculations in the stay POI estimation device 1, results of calculations in the stay POI estimation device 1, etc.
  • the information stored in the storage unit 10 may be appropriately referenced by each function of the stay POI estimation device 1.
  • the storage unit 10 stores user information that is a chronological history of stays during movement, some of which are associated with POIs visited, and proximity to other users. Details of the user information will be explained in a specific example later (as visited POI information).
  • the acquisition unit 11 acquires arbitrary information from another device via the 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 stores them in the storage unit 10. let Further, for example, the acquisition unit 11 acquires user information, map information regarding a map, POI information regarding a POI, etc. from an external server, and causes the storage unit 10 to store the information.
  • the acquisition unit 11 may process the acquired information and then store it in the storage unit 10. For example, the acquisition unit 11 generates user information for each user based on the acquired BLE contact information, payment information, position information, and acceleration information, and causes the storage unit 10 to store the generated user information.
  • the estimating unit 12 calculates the stay included in user information, which is a chronological history of each user's stay while moving, some of which are associated with POIs visited, and proximity to other users.
  • a stay POI which is a POI where the user stayed during an uncorresponding stay, which is a stay with no POI, is estimated based on user information.
  • the estimation unit 12 performs a simulation for each user, assuming that the user has moved via a POI candidate that is a candidate for a staying POI, and calculates the proximity between the users extracted during the simulation and the proximity included in the user information.
  • the staying POI is estimated from the POI candidates based on the matching on the time series.
  • the estimating unit 12 may determine POI candidates for the user based on at least one of the user's stay immediately before or after the unsupported stay.
  • the estimating unit 12 may narrow down and determine POI candidates that overlap with each other among the POI candidates determined for each user as the POI candidates for the users who come into contact with each other during unsupported stays.
  • the estimation unit 12 may group users who come into contact with each other within a predetermined period, and perform a simulation of the predetermined period for each group.
  • the estimation unit 12 may calculate the estimation accuracy of the staying 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 simulation for 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 one POI candidate.
  • the estimation unit 12 may output the estimated estimation result and the calculated estimation accuracy.
  • the output may be, for example, displayed on a display that is one of the output devices 1006 described later, or transmitted to another device via the communication device 1004 described later.
  • the main body of processing in the following specific example is mainly the estimation unit 12.
  • the main body (estimation unit 12) will be omitted as appropriate in the explanation.
  • the flow of calculation by the estimation unit 12 is as follows. 1. Pretreatment a. Acquire visited POI information of each user b. Obtain map data c. Regarding the unspecified visited stores of each user, list the stores in the order of likelihood in terms of travel time 2. Main processing a. Extract POI information visited by all users during a certain period of time b. Label users with contact information as a group (1) Narrow down stores that overlap between users (2) Grid search for store candidates for each user for each group (if multiple stores match the conditions, each Output of store match rate) (3) Perform (2) for another group c. Update the target time zone, 2. Return to a3. Update visited POI information
  • the estimation unit 12 performs calculation 1. a ⁇ 1. Perform the preprocessing of c.
  • the estimating unit 12 acquires each user's visited POI (store) information (user information) stored by the storage unit 10 .
  • FIG. 4 is a diagram showing an example of a table of user X's visited POI information (1).
  • Visited POI information (1) shown in Figure 4 includes the log type (payment, BLE, etc.) that indicates the type of the log (visited POI information), the log time that is the time when the log was taken, and the user at the time.
  • the state at the time of logging (staying, moving, etc.), which is the state of the mobile terminal 2 carried by User There is a correspondence with a contact partner who is another user (in close proximity).
  • FIG. 5 is a diagram showing an example of a table of visited POI information (1) of user Y, and is similar to FIG. 4.
  • the estimation unit 12 acquires the map data stored by the storage unit 10 for simulation.
  • the format of the map data does not matter as long as it is a map that can calculate the travel time between stores and reproduce the movement of users (people).
  • FIG. 6 is a diagram showing an example (part 1) of map data.
  • the map data in FIG. 6 is represented by a graph (in graph theory) in which each POI is represented as a node and movements between POIs are represented as links (edges).
  • 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 node links.
  • nodes a to f correspond to intersections between stores.
  • 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 to which the links connect.
  • the estimating unit 12 lists the unspecified visited stores of each user in order of likelihood in terms of travel time. For example, for the log in which the store is "unspecified" in the visited POI information (1) of user X shown in FIG. Stores that can be reached within 1 hour from store F (because I am in store F and am currently staying from 1:00 p.m.) and 5 minutes to store O (because I am currently staying at store F until 1:55 p.m. and will be at store O at 2:00 p.m.) List the stores that can be reached within For example, store N, store J, store I, store E, store D, and store H are listed as store candidates. The estimation unit 12 performs (enumerates) for all users.
  • FIG. 10 is a flowchart illustrating an example of a store candidate extraction algorithm executed by the stay POI estimation device 1.
  • Step S1 the end time of the specific store you were staying at immediately before the unspecified store.
  • Step S2 start time of stay at unspecified store
  • step S3 is calculated
  • step S3 an adjacency matrix reflecting the geography of the store
  • step S4 the total number Num of target stores as unspecified stores is acquired (step S5).
  • step S6 it is determined whether i is smaller than Num. If it is determined in S6 that it is small (S6: Yes), the distance X of the shortest route from the specific store to store i is calculated from the acquired adjacency matrix using Dijkstra's method or the like (step S7). Next, the shortest time to reach store i is calculated (step S8).
  • FIG. 11 is a diagram showing an example of a table of user A's visited POI information (1).
  • the end point of the visited stores is an unspecified store.
  • seven stores, store B, store C, store G, store H, store K, store L, and store F, are listed as stores that can be traveled from store A in 10 minutes.
  • the number of candidate stores increases and the simulation execution time increases, but the same processing is possible.
  • FIG. 12 is a diagram showing another example table of user A's visited POI information (1).
  • store B, store C, store G, store H, store K, store L, and store F are stores that can be reached within 10 minutes (12:00 to 12:10) from store A, which is the first store.
  • List of 7 stores Next, four stores, store E, store J, store N, and store I, are listed as stores that can be reached in 5 minutes (13:55 to 14:00) to the second store, store O.
  • the estimation unit 12 performs calculation 2. a ⁇ 2. Perform the main processing of c.
  • FIG. 13 is a diagram showing an example of a table of visited POI information (2) of user X limited to 12:00 to 14:00.
  • FIG. 14 is a diagram showing an example of a table of visited POI information (2) of user Y limited to 12:00 to 14:00.
  • calculation 1. The store candidates listed in c are added as a "store candidate" column.
  • the estimating unit 12 labels users for whom there is contact information (within the relevant time) 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, user B, etc. are labeled as group 2.
  • the estimation unit 12 narrows down stores that overlap among users. For example, in the visited POI information (2) of FIGS. 13 and 14, user X's unspecified store candidates "N, J, I, E, D, H” and user Y's unspecified store candidates "K, L , M, N, I, H” are store N, store I, and store H, so the search is narrowed down to these three store candidates.
  • FIG. 15 is a diagram showing an example of a table of user X's visited POI information (3). As shown in the visited POI information (3) shown in FIG. 15, the store candidates have been narrowed down to "N, I, H". Based on the narrowed-down store candidates, conditions for the trial pattern described below are determined.
  • the estimation unit 12 performs a grid search for store candidates for each user for each group (if a plurality of stores match the conditions, outputs the match rate of each store).
  • 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 x number of store candidates for user Z ⁇ ⁇ n
  • n is the number of random number seed patterns to be implemented.
  • a seed is set when using random numbers, and this is a variable that determines how many seeds are used for verification.
  • FIG. 16 is a diagram showing an example of a round-robin simulation route according to each user's store candidates. As shown in FIG. 16, a route passing through store candidates is simulated.
  • FIG. 17 is a diagram showing an example of simulation input data.
  • the user ID that identifies the user
  • the departure time of the user the store from which the user departs
  • the time of arrival of the user the store where the user arrives
  • the estimation unit 12 inputs input data as shown in FIG. 17 into the simulator, and performs a walking simulation according to the map data as many times as the number of trials.
  • FIG. 18 is a diagram showing an example of a table of trial patterns.
  • the stores of users X and Y who are in contact with each other
  • the store of user Z and the random number seeds are associated with each other for each trial pattern.
  • FIG. 19 is a diagram showing an example of a contact log table.
  • the time of contact is associated with the contact user (user ID) of the contact user.
  • the estimation unit 12 compares the log results (there are as many trial patterns) and the track record (visited POI information (1), etc.), and when the contact log matches the track record, extracts a matching trial.
  • FIG. 20 is a diagram illustrating an example of comparing log results of contact logs with actual results. In the matching shown in FIG. 20, trials in which users X and Z and users X and Y contact are extracted.
  • FIG. 21 is a flowchart showing an example of a walking simulation algorithm executed by the stay POI estimation device 1.
  • an adjacency matrix reflecting the geography of the store is obtained (step S20).
  • each user's input data is acquired (step S21).
  • the number of random number seed patterns is set (step S22).
  • one combination of store candidates and random number seeds for each user is extracted (step S23). Specifically, one column of the trial pattern as shown in FIG. 18 is extracted.
  • a walking speed is set based on a random number (step S24; details will be described later).
  • a route to be searched is extracted (step S25; details will be described later).
  • one route is extracted (step S26).
  • the simulation start time T start and end time T end are obtained (step S27).
  • step S29 it is determined whether t is smaller than T end (step S29). If it is determined in S29 that the distance is small (S29: Yes), the user walks (simulation) along the set route at the set walking speed (step S30). Next, when the distance between the users becomes less than or equal to 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 small (S29: No), a contact log is output (Step S33). Following S33, if there are still routes to be searched, the process returns to S26; otherwise, the process returns to S23. The processing from S29 to S33 is a simulation.
  • the walking speed of user i follows a normal distribution and is expressed by the following formula (unit: m/s).
  • v i is the walking speed of user i
  • N is a normal distribution
  • ⁇ (parameter) is the walking speed average value
  • ⁇ (parameter) is the walking speed standard deviation.
  • FIG. 22 is a diagram showing the decomposition of an example (part 3) of map data into node links.
  • the shortest path 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 The following route is also possible, although it is not the shortest. 3. E ⁇ e ⁇ d ⁇ g ⁇ b ⁇ N In cases where the shortest route cannot be determined as one, as in cases 1 and 2, and cases, as in case 3, where there is a slight detour but no significant difference in travel time, we aim to extract them as target routes. (route distance) ⁇ (shortest route+X thres ) You may extract all routes that satisfy the following. Here, X thres is a parameter.
  • the estimation unit 12 updates visited POI information. First, the estimating unit 12 distinguishes between trial patterns that are different from (does not match) 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 patterns different from actual results are hatched.
  • FIG. 24 is a diagram showing an example of a table of user X's visited POI information (4). As shown in FIG. 24, one or more store candidates and their matching rates are added for unspecified stores.
  • 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.
  • the external server transmits map information and POI information to the stay POI estimation device 1 (step S40).
  • the mobile terminal 2 acquires its own location information and BLE contact information (step S41).
  • the mobile terminal 2 transmits the location information and BLE contact information acquired in S41 to the application server (Step S42).
  • the application server derives and stores the visited POI based on the location information and BLE contact information received in S42 (Step S43).
  • the application server transmits the visit POI information derived in S43 to the stay POI estimation device 1 (Step S44).
  • the stay POI estimating device 1 performs mathematical calculation (simulation) based on the map information and POI information received in S40 and the visited POI information received in S44 (step S45).
  • the stay POI estimation device 1 transmits the additional information of the visited POI obtained in S45 to the application server (Step S46).
  • the application server updates the (saved) visited POI information based on the additional information of the visited POI received in S46 (step S47).
  • the timing of S40 may be any time before S45.
  • 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.
  • the stay POI estimating device user information that is a chronological history of each user's stay while moving, some of which are associated with the POI visited, and proximity to other users.
  • An estimating unit 12 that estimates, based on user information, a stay POI that is a POI that the user stayed at in an uncorresponding stay that is a stay that is not associated with a POI among the included stays, and that is a POI that is a candidate for the stay POI.
  • a simulation is performed for each user that assumes that the user has moved through the candidates, and based on the chronological match between the proximity between the users extracted during the simulation and the proximity included in the user information, the POI of stay is determined. It includes an estimator 12 that estimates from POI candidates. With this configuration, the POI in which the user stayed is estimated during a stay during the user's movement to which no POI is associated. That is, it is possible to estimate the POI where the user has stayed.
  • the estimation unit 12 may determine the POI candidate of the user based on at least one of the stay immediately before or after the user's unsupported stay. With this configuration, more accurate POI candidates can be used based on at least one of the user's stay immediately before or after the unsupported stay, so more accurate estimation can be performed.
  • the estimating unit 12 narrows down POI candidates that overlap with each other from among the POI candidates determined for each user as the POI candidates for the users who come into contact with each other during unsupported stays. It may be determined by With this configuration, POI candidates are narrowed down, so the amount of simulation calculations is reduced, and faster estimation can be performed.
  • the estimation unit 12 may group users who come into contact with each other within a predetermined period, and perform a simulation of the predetermined period for each group. This configuration reduces the amount of simulation calculations and enables faster estimation.
  • 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 understand not only the estimation result but also the estimation accuracy.
  • the estimation unit 12 may calculate the estimation accuracy of one POI candidate based on the number of matches in simulation for one POI candidate. With this configuration, for example, it is possible to understand not only the estimation result but also the estimation accuracy.
  • the estimation unit 12 calculates 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 one POI candidate. You may. With this configuration, for example, it is possible to understand not only the estimation result but also the estimation accuracy.
  • the stay POI estimation device 1 is a visited store complementation technology based on numerical calculation.
  • the stay POI estimation device 1 performs a walking simulation based on visited POIs (stores) that can be identified using existing technology, and calculates spatiotemporally plausible visits for stores that could not be identified based on BLE contact information between users. Estimate POI (store).
  • the stay POI estimation device 1 is a device that estimates a valid store visited by the user, and when the store visited by the user cannot be estimated based only on location information and payment information, it uses contact detection technology represented by BLE and simulation technology. By utilizing this information, it may be a system that presents stores that are likely to be visited, along with their accuracy. According to the stay POI estimating device 1, by performing a simulation for each group, it is possible to narrow down the search to users who are interested, and an improvement in simulation execution efficiency can be expected.
  • the order of "listing store candidates", “separating certain time periods”, and “separating groups” may be interchanged from the viewpoint of execution speed.
  • the format of the table does not matter as long as the same calculation process can be performed.
  • the present invention is not limited to BLE, and may be based on a technology that can perform similar contact determination, such as infrared communication.
  • the stay POI estimation device 1 of the present disclosure may have the following configuration.
  • a staying POI estimation device comprising an estimating unit.
  • the estimating unit determines a POI candidate for the user based on at least one of the stay immediately before or after the unsupported stay of the user.
  • the stay POI estimation device according to [1].
  • the estimating unit narrows down and determines POI candidates that overlap with each other among the POI candidates determined for each of the users who come into contact with each other during unsupported stays, as the respective POI candidates.
  • the stay POI estimation device according to [1] or [2].
  • the estimation unit groups users who come into contact with each other within a predetermined period, and performs a simulation of the predetermined period for each group.
  • the stay POI estimation device according to any one of [1] to [3].
  • the estimation unit calculates the estimation accuracy of the staying POI based on the number of matches in the simulation.
  • the stay POI estimation device according to any one of [1] to [4].
  • 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].
  • 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].
  • each functional block may be realized using one physically or logically coupled device, or may be realized using two or more physically or logically separated devices directly or indirectly (e.g. , wired, wireless, etc.) and may be realized using a plurality of these devices.
  • the functional block may be realized by combining software with the one device or the plurality of devices.
  • Functions include judgment, decision, judgment, calculation, calculation, processing, derivation, investigation, exploration, confirmation, reception, transmission, output, access, resolution, selection, selection, establishment, comparison, assumption, expectation, consideration, These include, but are not limited to, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, and assigning. I can't do it.
  • a functional block (configuration unit) that performs transmission is called a transmitting unit or a transmitter. In either case, as described above, the implementation method is not particularly limited.
  • the stay POI estimation device 1 in 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 visiting POI estimation device 1 according to an embodiment of the present disclosure.
  • the above-described stay POI estimation device 1 may be physically configured as a computer device 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, and the like.
  • the word “apparatus” can be read as a circuit, a device, a unit, etc.
  • the hardware configuration of the stay POI estimating device 1 may be configured to include one or more of the devices shown in the figure, or may be configured without including some of the devices.
  • Each function in the stay POI estimating device 1 includes loading predetermined software (programs) onto hardware such as a processor 1001 and a memory 1002, so that the processor 1001 performs calculations, controls communication by the communication device 1004, This is realized by controlling at least one of reading and writing data in the memory 1002 and storage 1003.
  • the processor 1001 for example, operates an operating system to control the entire computer.
  • the processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, registers, and the like.
  • CPU central processing unit
  • the above-described acquisition unit 11, estimation unit 12, and the like may be realized by the processor 1001.
  • the processor 1001 reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 to the memory 1002, and executes various processes in accordance with these.
  • programs program codes
  • the program a program that causes a computer to execute at least part of the operations described in the above embodiments is used.
  • the acquisition unit 11 and the estimation unit 12 may be realized by a control program stored in the memory 1002 and operated in the processor 1001, and other functional blocks may be similarly realized.
  • the various processes described above have been described as being executed by one processor 1001, they may be executed by two or more processors 1001 simultaneously or sequentially.
  • Processor 1001 may be implemented by one or more chips. Note that the program may be transmitted from a network via a telecommunications line.
  • the memory 1002 is a computer-readable recording medium, and includes at least one of ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. may be done.
  • Memory 1002 may be called a register, cache, main memory, or the like.
  • the memory 1002 can store executable programs (program codes), software modules, and the like to implement a wireless communication method according to an embodiment of the present disclosure.
  • the storage 1003 is a computer-readable recording medium, such as an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, or a magneto-optical disk (for example, a compact disk, a digital versatile disk, or a Blu-ray disk). (registered trademark disk), smart card, flash memory (eg, card, stick, key drive), floppy disk, magnetic strip, etc.
  • Storage 1003 may also be called an auxiliary storage device.
  • the storage medium mentioned above may be, for example, a database including at least one of memory 1002 and storage 1003, a server, or other suitable medium.
  • 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 a network device, network controller, network card, communication module, etc., for example.
  • the communication device 1004 includes, for example, a high frequency switch, a duplexer, a filter, a frequency synthesizer, etc. in order to realize at least one of frequency division duplex (FDD) and time division duplex (TDD). It may be composed of.
  • FDD frequency division duplex
  • TDD time division duplex
  • the input device 1005 is an input device (eg, keyboard, mouse, microphone, switch, button, sensor, etc.) that accepts input from the outside.
  • the output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that performs output to the outside. Note that the input device 1005 and the output device 1006 may have an integrated configuration (for example, a touch panel).
  • 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 for each device.
  • the stay POI estimation device 1 also includes hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), and a field programmable gate array (FPGA).
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable gate array
  • a part or all of each functional block may be realized by the hardware.
  • processor 1001 may be implemented using at least one of these hardwares.
  • LTE Long Term Evolution
  • LTE-A Long Term Evolution-Advanced
  • SUPER 3G IMT-Advanced
  • 4G 4th generation mobile communication system
  • 5G 5th generation mobile communication system
  • FRA Fluture Radio Access
  • NR new Radio
  • W-CDMA registered trademark
  • GSM registered trademark
  • CDMA2000 Code Division Multiple Access 2000
  • UMB Universal Mobile Broadband
  • IEEE 802.11 Wi-Fi (registered trademark)
  • IEEE 802.16 WiMAX (registered trademark)
  • IEEE 802.20 UWB (Ultra-WideBand
  • Bluetooth registered trademark
  • a combination of a plurality of systems may be applied (for example, a combination of at least one of LTE and LTE-A and 5G).
  • the input/output information may be stored in a specific location (for example, memory) or may be managed using a management table. Information etc. to be input/output may be overwritten, updated, or additionally written. The output information etc. may be deleted. The input information etc. may be transmitted to other devices.
  • Judgment may be made using a value expressed by 1 bit (0 or 1), a truth value (Boolean: true or false), or a comparison of numerical values (for example, a predetermined value). (comparison with a value).
  • notification of prescribed information is not limited to being done explicitly, but may also be done implicitly (for example, not notifying the prescribed information). Good too.
  • Software includes instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, whether referred to as software, firmware, middleware, microcode, hardware description language, or by any other name. , should be broadly construed to mean an application, software application, software package, routine, subroutine, object, executable, thread of execution, procedure, function, etc.
  • software, instructions, information, etc. may be sent and received via a transmission medium.
  • a transmission medium For example, if the software uses wired technology (coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), etc.) and/or wireless technology (infrared, microwave, etc.) to create a website, When transmitted from a server or other remote source, these wired and/or wireless technologies are included within the definition of transmission medium.
  • wired technology coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), etc.
  • wireless technology infrared, microwave, etc.
  • data, instructions, commands, information, signals, bits, symbols, chips, etc. which may be referred to throughout the above description, may refer to voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. It may also be represented by a combination of
  • system and “network” are used interchangeably.
  • information, parameters, etc. described in this disclosure may be expressed using absolute values, relative values from a predetermined value, or using other corresponding information. may be expressed.
  • determining may encompass a wide variety of operations.
  • “Judgment” and “decision” include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, search, and inquiry. (e.g., searching in a table, database, or other data structure), and regarding an ascertaining as a “judgment” or “decision.”
  • judgment and “decision” refer to receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, and access.
  • (accessing) may include considering something as a “judgment” or “decision.”
  • judgment and “decision” refer to resolving, selecting, choosing, establishing, comparing, etc. may be included.
  • judgment and “decision” may include regarding some action as having been “judged” or “determined.”
  • judgment (decision) may be read as "assuming", “expecting", “considering”, etc.
  • connection means any connection or coupling, direct or indirect, between two or more elements and each other. It may include the presence of one or more intermediate elements between two elements that are “connected” or “coupled.”
  • the bonds or connections between elements may be physical, logical, or a combination thereof. For example, "connection” may be replaced with "access.”
  • two elements may include one or more electrical wires, cables, and/or printed electrical connections, as well as in the radio frequency domain, as some non-limiting and non-inclusive examples. , electromagnetic energy having wavelengths in the microwave and optical (both visible and non-visible) ranges.
  • the phrase “based on” does not mean “based solely on” unless explicitly stated otherwise. In other words, the phrase “based on” means both “based only on” and “based at least on.”
  • any reference to elements using the designations "first,” “second,” etc. does not generally limit the amount or order of those elements. These designations may be used in this disclosure as a convenient way to distinguish between two or more elements. Thus, reference to a first and second element does not imply that only two elements may be employed or that the first element must precede the second element in any way.
  • a and B are different may mean “A and B are different from each other.” Note that the term may also mean that "A and B are each different from C”. Terms such as “separate” and “coupled” may also be interpreted similarly to “different.”

Abstract

ユーザが滞在したPOI(Point of interest)を推定することを課題とする。滞在POI推定装置1は、各ユーザの、移動中の滞在であって一部は滞在したPOIが対応付いた滞在と、他のユーザへの近接との時系列の履歴であるユーザ情報に含まれる滞在のうちPOIが対応付いていない滞在である未対応滞在にてユーザが滞在したPOIである滞在POIをユーザ情報に基づいて推定する推定部12であって、滞在POIの候補であるPOI候補を経由してユーザが移動したと仮定するシミュレーションをユーザ毎に行い、シミュレーションの際に抽出したユーザ間の近接と、ユーザ情報に含まれる近接との時系列上の合致に基づいて、滞在POIをPOI候補から推定する推定部12を備える。

Description

滞在POI推定装置
 本開示の一側面は、ユーザが滞在したPOI(Point of interest)を推定する滞在POI推定装置に関する。
 下記特許文献1では、現在位置であるPOIの属性が、ユーザにとって滞在時間または頻度が多いPOIであるか少ないPOIであるかを判定するPOI属性判定装置が開示されている。
特開2011-154004号公報
 上記POI属性判定装置は、ユーザにとって滞在時間または頻度が多いPOIであるか少ないPOIであるかを判定するが、例えば、ユーザが滞在したPOIを推定することはできない。そこで、ユーザが滞在したPOIを推定することが望まれている。
 本開示の一側面に係る滞在POI推定装置は、各ユーザの、移動中の滞在であって一部は滞在したPOI(Point of interest)が対応付いた滞在と、他のユーザへの近接との時系列の履歴であるユーザ情報に含まれる滞在のうちPOIが対応付いていない滞在である未対応滞在にてユーザが滞在したPOIである滞在POIをユーザ情報に基づいて推定する推定部であって、滞在POIの候補であるPOI候補を経由してユーザが移動したと仮定するシミュレーションをユーザ毎に行い、シミュレーションの際に抽出したユーザ間の近接と、ユーザ情報に含まれる近接との時系列上の合致に基づいて、滞在POIをPOI候補から推定する推定部を備える。
 このような側面においては、ユーザの移動中の滞在のうちPOIが対応付いていない滞在にてユーザが滞在したPOIが推定される。すなわち、ユーザが滞在したPOIを推定することができる。
 本開示の一側面によれば、ユーザが滞在したPOIを推定することができる。
実施形態に係る滞在POI推定装置を含む滞在POI推定システムのシステム構成の一例を示す図である。 実施形態に係る滞在POI推定装置の簡単な利用イメージを示す図である。 実施形態に係る滞在POI推定装置の機能構成の一例を示す図である。 ユーザXの訪問POI情報(1)のテーブル例を示す図である。 ユーザYの訪問POI情報(1)のテーブル例を示す図である。 地図データの一例(その1)を示す図である。 地図データの一例(その2)を示す図である。 図7に示す地図データのノードリンクへの分解を示した図である。 図8に示すノードリンクに対応する重み付き隣接行列のテーブル例を示す図である。 実施形態に係る滞在POI推定装置が実行する店舗候補の抽出アルゴリズムの一例を示すフローチャートである。 ユーザAの訪問POI情報(1)のテーブル例を示す図である。 ユーザAの訪問POI情報(1)の別のテーブル例を示す図である。 ユーザXの訪問POI情報(2)のテーブル例を示す図である。 ユーザYの訪問POI情報(2)のテーブル例を示す図である。 ユーザXの訪問POI情報(3)のテーブル例を示す図である。 各ユーザの店舗候補に応じた総当たりシミュレーションの経路の一例を示す図である。 シミュレーションの入力データの一例を示す図である。 試行パターンのテーブル例を示す図である。 接触ログのテーブル例を示す図である。 接触ログのログ結果と実績との突合の一例を示す図である。 実施形態に係る滞在POI推定装置が実行する歩行シミュレーションのアルゴリズムの一例を示すフローチャートである。 地図データの一例(その3)のノードリンクへの分解を示した図である。 実績と異なるものをハッチングした試行パターンのテーブル例を示す図である。 ユーザXの訪問POI情報(4)のテーブル例を示す図である。 実施形態に係る滞在POI推定装置を含む滞在POI推定システムが実行する処理フローの一例を示すシーケンス図である。 実施形態に係る滞在POI推定装置で用いられるコンピュータのハードウェア構成の一例を示す図である。
 以下、図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。また、以下の説明における本開示での実施形態は、本発明の具体例であり、特に本発明を限定する旨の記載がない限り、これらの実施形態に限定されないものとする。
 図1は、実施形態に係る滞在POI推定装置1を含む滞在POI推定システム3のシステム構成の一例を示す図である。図1に示す通り、滞在POI推定システム3は、滞在POI推定装置1及び一つ以上の携帯端末2(携帯端末2a、携帯端末2b、携帯端末2c、…を総称して携帯端末2と適宜記す)を含んで構成される。滞在POI推定装置1と各携帯端末2とは移動体通信ネットワーク等のネットワークによって互いに通信接続され、互いに情報を送受信可能である。
 滞在POI推定装置1は、ユーザが滞在したPOIを推定するコンピュータ装置(サーバ)である。ユーザは、滞在POI推定装置1が提供する機能又はサービスの利用者(人)である。各ユーザは、携帯端末2を携帯する。滞在は、ある期間留まることである。滞在は、(ほぼ)移動していないことであってもよい。POIは、誰かが便利又は興味のあるところと思った特定の場所である。本実施形態では、POIとして店舗を想定するが、これに限るものではない。店舗は、例えば、商品を売るための建物、又は、サービスを提供するための建物又はエリアなどである。滞在POI推定装置1の詳細については後述する。
 携帯端末2は、移動体通信を行う移動体通信端末又はノートパソコンなどのコンピュータ装置である。本実施形態では、携帯端末2として、スマートフォンを想定するが、これに限るものではない。携帯端末2は、上述の通り各ユーザが携帯する。
 携帯端末2は、Bluetooth(登録商標)の一部であるBLE(Bluetooth(登録商標) Low Energy)などによる近距離無線通信が可能である。携帯端末2同士が一定の距離範囲内に入った場合、ユーザなどに操作によらず自動で、携帯端末2は互いに自端末の識別情報を近距離無線通信で交換する。一定の距離範囲内に入ることを、接触した、又は、近接したとも言う。自端末の識別情報の交換により、携帯端末2それぞれが相手の携帯端末2と接触したことが示される、又は、携帯端末2のユーザが相手の携帯端末2のユーザと接触したことが示される。本実施形態では自端末(携帯端末2)の識別情報として、当該携帯端末2を携帯するユーザを識別するユーザIDを用いるが、これに限るものではない。
 携帯端末2(携帯端末2aとする)は、別の携帯端末2(携帯端末2bとする)と接触した際に携帯端末2bから受信した、携帯端末2bを携帯するユーザのユーザID(接触ユーザID)に基づいて、ユーザ間の接触に関するBLE接触情報を生成する。BLE接触情報は、例えば、自端末である携帯端末2(例えば携帯端末2a)を携帯するユーザのユーザIDと、当該携帯端末2が別の携帯端末2(例えば携帯端末2bなど)と接触した日時である接触日時と、当該別の携帯端末2を携帯するユーザのユーザIDである接触ユーザIDとが対応付いている。携帯端末2は、定期的(例えば1分ごと)にBLE接触情報を滞在POI推定装置1に送信する。BLE接触情報は、BLEログと呼んでもよい。
 携帯端末2は、その他に、電波測位機能、GPS(Global Positioning System)による位置測位機能、決済機能、又は、加速度センサなど、一般的なスマートフォンが備える機能又はセンサなどを備え、それら機能又はセンサにより取得した情報などを滞在POI推定装置1に送信してもよい。
 例えば、携帯端末2は、携帯端末2のユーザが店舗で決済機能を用いて決済を行った際に、当該ユーザのユーザIDと、当該決済を行った日時と、当該店舗を識別する店舗IDとが対応付いた決済情報を滞在POI推定装置1に送信する。なお、決済情報は、店舗側の装置が滞在POI推定装置1に送信してもよい。
 また例えば、携帯端末2は、定期的に(例えば1分に1回)、GPSによる位置測位機能によって得られる緯度及び経度と、現在の日時とが対応付いた位置情報を滞在POI推定装置1に送信する。
 また例えば、携帯端末2は、定期的に(例えば1分に1回)、加速度センサによって得られる自端末の加速度と、現在の日時とが対応付いた加速度情報を滞在POI推定装置1に送信する。加速度情報は、加速度の代わりに、又は、加速度に加え、加速度に基づく自端末の状態、例えば滞在しているか又は移動しているかを含んでもよい。
 図2は、滞在POI推定装置1の簡単な利用イメージを示す図である。図2に示す利用イメージにおいて、店F、店E、店M、店N及び店Hが存在する。ユーザである客Xは、店Fで決済を行った後にどこかの店に滞在したとする。店Fで決済を行ったことで、客Xは店Fで滞在したことが判明する。滞在POI推定装置1は、客Xがどこに行ったか、すなわち店Fで滞在した後にどの店に滞在したかを推定する。図2において、実線の矢印は客Xのルート候補を示す。ここで、別のユーザである客Yは、店Eで決済を行った後に店Nで決済を行ったとする。すなわち、客Yは店Eで滞在した後に店Nに滞在したことが判明されている。図2において、破線の矢印は客Yのルートを示す。図2に示すように、店N及び店H付近で客Xと客Yが接触したとする。
 滞在POI推定装置1は、客Xが店E、店M、店N又は店Hのうちどの店に行ったかを推定する際に、まず、移動時間を考慮する。移動時間を考慮すると、客Xは移動時間内で到達可能な店M、店N又は店Hに行ったはずである。次に、滞在POI推定装置1は、接触判定を考慮する。客Xは客Yとの接触判定があるので、客Xは接触判定があった付近の店N又は店Hに行ったはずである。また、もし客Xが店Nにいたら、客Yの決済情報によって客Xは店Nに滞在したと特定されるはずであり、そうではないので、滞在POI推定装置1は、客Xは店Hに滞在したと推定する。
 図3は、実施形態に係る滞在POI推定装置1の機能構成の一例を示す図である。図3に示す通り、滞在POI推定装置1は、格納部10、取得部11及び推定部12(推定部)を含んで構成される。
 滞在POI推定装置1の各機能ブロックは、滞在POI推定装置1内にて機能することを想定しているが、これに限るものではない。例えば、滞在POI推定装置1の機能ブロックの一部は、滞在POI推定装置1とは異なるコンピュータ装置であって、滞在POI推定装置1とネットワーク接続されたコンピュータ装置内において、滞在POI推定装置1と情報を適宜送受信しつつ機能してもよい。また、滞在POI推定装置1の一部の機能ブロックは無くてもよいし、複数の機能ブロックを一つの機能ブロックに統合してもよいし、一つの機能ブロックを複数の機能ブロックに分解してもよい。
 以下、図3に示す滞在POI推定装置1の各機能について説明する。
 格納部10は、滞在POI推定装置1における算出などで利用される任意の情報及び滞在POI推定装置1における算出の結果などを格納する。格納部10によって格納された情報は、滞在POI推定装置1の各機能によって適宜参照されてもよい。
 格納部10は、移動中の滞在であって一部は滞在したPOIが対応付いた滞在と、他のユーザへの近接との時系列の履歴であるユーザ情報を格納する。ユーザ情報の詳細については後述の具体例にて(訪問POI情報として)説明する。
 取得部11は、ネットワークを介して他の装置から任意の情報を取得し、格納部10によって格納させる。例えば、取得部11は、携帯端末2からBLE接触情報、決済情報、位置情報、加速度情報、及び、携帯端末2の機能又はセンサにより取得されたその他の情報などを取得し、格納部10によって格納させる。また例えば、取得部11は、外部サーバからユーザ情報、地図に関する地図情報、及び、POIに関するPOI情報などを取得し、格納部10によって格納させる。
 取得部11は、取得した情報を加工した上で格納部10によって格納させてもよい。例えば、取得部11は、取得したBLE接触情報、決済情報、位置情報及び加速度情報に基づいて、ユーザ毎のユーザ情報を生成し、生成したユーザ情報を格納部10によって格納させる。
 推定部12は、各ユーザの、移動中の滞在であって一部は滞在したPOIが対応付いた滞在と、他のユーザへの近接との時系列の履歴であるユーザ情報に含まれる滞在のうちPOIが対応付いていない滞在である未対応滞在にてユーザが滞在したPOIである滞在POIをユーザ情報に基づいて推定する。推定部12は、滞在POIの候補であるPOI候補を経由してユーザが移動したと仮定するシミュレーションをユーザ毎に行い、シミュレーションの際に抽出したユーザ間の近接と、ユーザ情報に含まれる近接との時系列上の合致に基づいて、滞在POIをPOI候補から推定する。
 推定部12は、ユーザの未対応滞在の直前の滞在又は直後の滞在の少なくとも一方に基づいて当該ユーザのPOI候補を決定してもよい。推定部12は、互いに未対応滞在にて接触するユーザについては、それぞれのPOI候補として、それぞれに決定されたPOI候補のうち互いに重複するPOI候補に絞り込んで決定してもよい。推定部12は、所定の期間内において接触するユーザ同士をグループ化し、グループ毎に当該所定の期間のシミュレーションを行ってもよい。
 推定部12は、シミュレーションでの合致の数に基づいて、滞在POIの推定精度を算出してもよい。推定部12は、一のPOI候補に対するシミュレーションでの合致の数に基づいて、当該一のPOI候補の推定精度を算出してもよい。推定部12は、シミュレーションでの合致の数と、一のPOI候補に対するシミュレーションでの合致の数とに基づいて、当該一のPOI候補の推定精度を算出してもよい。
 推定部12は、推定した推定結果、及び、算出した推定精度を出力してもよい。出力は、例えば、後述の出力装置1006の一つであるディスプレイへの表示であってもよいし、後述の通信装置1004を介した他の装置への送信であってもよい。
 以下、具体例を用いて滞在POI推定装置1、特に推定部12の詳細を説明する。以下の具体例における処理の主体は主に推定部12である。説明の可読性を高めるため、主体(推定部12)を適宜省略して説明する。
 推定部12による計算の流れは以下の通りである。
1.前処理
 a.各ユーザの訪問POI情報を取得
 b.地図データを取得
 c.各ユーザの未特定の来訪店舗について、移動時間の観点で尤もらしい順に店舗を列挙
2.本処理
 a.一定時間における全ユーザの訪問POI情報を抽出
 b.接触情報があるユーザ同士を群としてラベル付け
  (1)ユーザ同士で重複している店舗を絞り込み
  (2)群ごとに各ユーザの店舗候補をグリッドサーチ(複数の店舗が条件に合致する場合は各店舗の合致率を出力)
  (3)別の群について(2)を実施
 c.対象の時間帯を更新し、2.aに戻る
3.訪問POI情報を更新
 [計算1]
 推定部12は、計算1.a~1.cの前処理を行う。
 [計算1.a]
 推定部12は、格納部10によって格納された各ユーザの訪問POI(店舗)情報(ユーザ情報)を取得する。
 図4は、ユーザXの訪問POI情報(1)のテーブル例を示す図である。図4に示す訪問POI情報(1)では、当該ログ(訪問POI情報)の種別を示すログ種別(決済、BLEなど)と、当該ログが取られた時刻であるログ時刻と、当該時刻におけるユーザX(が携帯する携帯端末2)の状態であるログ時の状態(滞在、移動など)と、ログ時の状態が滞在の際の推定される滞在時間である推定滞在時間と、ログ時の状態が滞在の際に当該滞在に対応付いた滞在した店舗(POI)があれば当該店舗である店舗(対応付いた滞在した店舗が無い場合は「未特定」)と、当該時刻にユーザXが接触(近接)した他のユーザである接触相手とが対応付いている。図5は、ユーザYの訪問POI情報(1)のテーブル例を示す図であり、図4と同様である。
 [計算1.b]
 推定部12は、格納部10によって格納された地図データを、シミュレーション用として取得する。地図データは、店舗間の移動時間の計算、及び、ユーザ(人々)の移動を再現できる地図であれば様式は問わない。
 図6は、地図データの一例(その1)を示す図である。図6の地図データでは、各POIがノードとして、POI間の移動がリンク(エッジ)として表現された(グラフ理論における)グラフで示される。
 図7は、地図データの一例(その2)を示す図である。図7に示す地図データは、図2で示した利用イメージで用いた地図データである。図8は、図7に示す地図データのノードリンクへの分解を示した図である。図8において、ノードa~fは、店舗間にある交差点などに対応する。リンク上の数字(=重み)はノード間の距離(又は移動時間)を表す。図9は、図8に示すノードリンクに対応する重み付き隣接行列のテーブル例を示す図である。図9に示す隣接行列は、図8のリンク上の数字と当該リンクが接続するノードとに基づいて生成されたものである。
 [計算1.c]
 推定部12は、各ユーザの未特定の来訪店舗について、移動時間の観点で尤もらしい順に店舗を列挙する。例えば、推定部12は、図4に示すユーザXの訪問POI情報(1)における店舗が「未特定」のログについて、直前及び直後の滞在の推定滞在時間に基づいて、「(12時まで店舗Fにいて、13時から現在の滞在なので)店舗Fから1時間以内に移動可能な店舗」及び「(13時55分まで現在の滞在で、14時には店舗Oにいるので)店舗Oまで5分以内にたどり着ける店舗」を列挙する。例えば、店舗候補として、店舗N、店舗J、店舗I、店舗E、店舗D及び店舗Hを列挙する。推定部12は、全ユーザ分実施(列挙)する。
 図10は、滞在POI推定装置1が実行する店舗候補の抽出アルゴリズムの一例を示すフローチャートである。まず、未特定店舗の直前に滞在していた特定店舗の滞在終了時刻
Figure JPOXMLDOC01-appb-M000001
を抽出する(ステップS1)。次に、未特定店舗の滞在開始時刻
Figure JPOXMLDOC01-appb-M000002
を抽出する(ステップS2)。次に、
Figure JPOXMLDOC01-appb-M000003
を計算する(ステップS3)。次に、店舗の地理を反映した隣接行列を取得する(ステップS4)。次に、未特定店舗として対象の全店舗数Numを取得する(ステップS5)。
 次に、全店舗について探索する。まず、iがNumより小さいか否かを判定する(ステップS6)。S6にて小さいと判定された場合(S6:Yes)、取得した隣接行列から、ダイクストラ法等を用いて、特定店舗から店舗iまでの最短経路の距離Xを算出する(ステップS7)。次に、店舗iへの最短到達時間
Figure JPOXMLDOC01-appb-M000004
を算出する(ステップS8)。ここでvは速度を表す。例えば、一般的にはv=80m/sを採用する。次に、
Figure JPOXMLDOC01-appb-M000005

Figure JPOXMLDOC01-appb-M000006
以下であるか否かを判定する(ステップS9)。S9にて以下であると判定された場合(S9:Yes)、店舗iを店舗候補として訪問POI情報に追加する(ステップS10)。S10に続いて、又は、S9にて以下でないと判定された場合(S9:No)、(iをインクリメントした上で)S6に戻る。S6にて小さくないと判定された場合(S6:No)、店舗候補を追加した訪問POI情報を出力する(ステップS11)。
 訪問店舗の起点又は終点が未特定店舗の場合について説明する。図11は、ユーザAの訪問POI情報(1)のテーブル例を示す図である。図11において、訪問店舗の終点が未特定店舗となっている。この場合、店Aから10分で移動できる店舗として、店B、店C、店G、店H、店K、店L及び店Fの7店舗を列挙する。起点と終点が特定されている場合と比較し、候補店舗数が多くなりシミュレーションの実行時間は増大するが、同様の処理は可能となる。
 未特定店舗が複数存在する場合について説明する。図12は、ユーザAの訪問POI情報(1)の別のテーブル例を示す図である。図12において、未特定店舗が2つ存在している。この場合、まず、1店舗目の、店Aから10分(12:00~12:10)で移動できる店舗として、店B、店C、店G、店H、店K、店L及び店Fの7店舗を列挙する。次に、2店舗目の、店Oまで5分(13:55~14:00)で移動できる店舗として、店E、店J、店N及び店Iの4店舗を列挙する。次に、1店舗目の7店舗それぞれと、2店舗目の4店舗それぞれとの組み合わせ、すなわち7*4=28通りの組み合わせのうち、10分間(12:50~13:00)で移動できる店舗の組み合わせを抽出して(余分な組み合わせを排除して)列挙する。
 [計算2]
 推定部12は、計算2.a~2.cの本処理を行う。
 [計算2.a]
 推定部12は、一定時間における全ユーザの訪問POI情報を抽出する。図13は、12時~14時に限定した、ユーザXの訪問POI情報(2)のテーブル例を示す図である。図14は、12時~14時に限定した、ユーザYの訪問POI情報(2)のテーブル例を示す図である。図13及び図14の訪問POI情報(2)では、計算1.cで列挙した店舗候補が「店舗候補」列として追記されている。
 [計算2.b]
 推定部12は、(当該時間内に)接触情報があるユーザ同士を群としてラベル付けする。例えば、図13及び図14の訪問POI情報(2)より、ユーザX、ユーザY及びユーザZが群1としてラベル付け(グループ化)される。同様にして、例えば、ユーザA及びユーザBなどが群2としてラベル付けされる。
 [計算2.b(1)]
 推定部12は、ユーザ同士で重複している店舗を絞り込む。例えば、図13及び図14の訪問POI情報(2)において、ユーザXの未特定の店舗候補「N、J、I、E、D、H」とユーザYの未特定の店舗候補「K、L、M、N、I、H」との重複は、店舗N、店舗I及び店舗Hであるため、当該3つの店舗候補に絞り込む。図15は、ユーザXの訪問POI情報(3)のテーブル例を示す図である。図15に示す訪問POI情報(3)の通り、店舗候補が絞り込まれて「N、I、H」となっている。この絞り込まれた店舗候補に基づいて、後述の試行パターンの条件が決定される。
 [計算2.b(2)]
 推定部12は、群ごとに各ユーザの店舗候補をグリッドサーチする(複数の店舗が条件に合致する場合は各店舗の合致率を出力する)。
 例えば、群1であるユーザX、ユーザY及びユーザZについて、各ユーザの店舗候補の数に応じて総当たりでシミュレーションを行う。試行回数は以下の式で示される。
試行回数={ユーザXとYの店舗候補数×ユーザZの店舗候補数}×n
ここでnは、実施する乱数シードのパターン数である。一般的なシミュレーションでは乱数を用いる際にシードを設定するが、何個のシード数で検証するかを決定する変数である。
 図16は、各ユーザの店舗候補に応じた総当たりシミュレーションの経路の一例を示す図である。図16に示す経路の通り、店舗候補を経由する経路がシミュレーションされる。
 図17は、シミュレーションの入力データの一例を示す図である。図17に示す入力データでは、ユーザを識別するユーザIDと、当該ユーザの出発時刻と、当該ユーザの出発店舗と、当該ユーザの到着時刻と、当該ユーザの到着店舗と、当該ユーザの到着店舗での滞在時間である到着店舗滞在時間とが対応付いている。推定部12は、図17に示すような入力データをシミュレータに入力し、試行回数の数だけ、地図データに則って歩行シミュレーションを実施する。
 図18は、試行パターンのテーブル例を示す図である。図18に示す試行パターンでは、試行パターン毎に、(接触している)ユーザXとユーザYの店舗と、ユーザZの店舗と、乱数シードとが対応付いている。
 推定部12は、BLEによる接触をシミュレータ上で再現するため、ユーザ間の距離が閾値以下になった場合には、接触を表すログ(接触ログ)を残す。図19は、接触ログのテーブル例を示す図である。図19に示す接触ログでは、接触した時刻と、接触したユーザである接触ユーザ(のユーザID)とが対応付いている。推定部12は、ログ結果(試行パターンの数だけ存在)と実績(訪問POI情報(1)など)とを突合させ、接触ログが実績と合致する場合、合致する試行を抽出する。図20は、接触ログのログ結果と実績との突合の一例を示す図である。図20に示す突合では、ユーザXとユーザZ、及び、ユーザXとユーザYが接触する試行が抽出される。
 図21は、滞在POI推定装置1が実行する歩行シミュレーションのアルゴリズムの一例を示すフローチャートである。まず、店舗の地理を反映した隣接行列を取得する(ステップS20)。次に、各ユーザの入力データを取得(ステップS21)。次に、乱数シードのパターン数を設定する(ステップS22)。次に、各ユーザの店舗候補・乱数シードの組合せを一つ抽出する(ステップS23)。具体的には、図18に示すような試行パターンの1列を抽出する。次に、乱数に基づいて歩行速度を設定する(ステップS24。詳細は後述)。次に、探索対象となる経路を抽出する(ステップS25。詳細は後述)。次に、経路を一つ抽出する(ステップS26)。次に、シミュレーション開始時刻Tstart及び終了時刻Tendを取得する(ステップS27)。次に、t=Tstartに設定する(ステップS28)。
 次に、tがTendよりも小さいか否かを判定する(ステップS29)。S29にて小さいと判定された場合(S29:Yes)、設定した経路に沿って、設定した歩行速度で歩行(シミュレーション)する(ステップS30)。次に、ユーザ同士の距離が閾値以下になったら、ログを出力する(ステップS31)。次に、tをt+dtに設定し(ステップS32)、S29に戻る。S29にて小さくないと判定された場合(S29:No)、接触ログを出力する(ステップS33)。S33に続いて、まだ探索対象となる経路が残っている場合はS26に戻り、そうでなければS23に戻る。S29~S33の処理がシミュレーションである。
 S24の歩行速度の設定について詳細を説明する。ユーザiの歩行速度は、正規分布に従い、以下の式で示される(単位はm/s)。
Figure JPOXMLDOC01-appb-M000007
ここで、vはユーザiの歩行速度であり、Nは正規分布であり、μ(パラメータ)は歩行速度平均値であり、σ(パラメータ)は歩行速度標準偏差である。
 S25の探索経路の抽出について詳細を説明する。前提として、図22に示すノードリンクを参照する。図22は、地図データの一例(その3)のノードリンクへの分解を示した図である。図22に示すノードリンクにおいて、EからNへの最短経路は下記2通り考えられる。
1.E→e→d→c→f→N
2.E→e→d→c→b→N
また、最短ではないが、下記の経路も考えられる。
3.E→e→d→g→b→N
1及び2のように、最短経路が1つに決まらない場合、及び、3のように、多少迂回にはなるが移動時間に大きな差がない場合も、対象経路として抽出することを目的として、
(経路距離)≦(最短経路+Xthres
を満たす経路をすべて抽出してもよい。ここで、Xthresはパラメータである。
 [計算2.b(3)]
 推定部12は、別の群について(1)を実施する。
 [計算2.c]
 推定部12は、対象の時間帯を更新し、計算2.aに戻る。
 [計算3]
 推定部12は、訪問POI情報を更新する。まず、推定部12は、試行パターンのうち実績と異なる(合致しなかった)ものを区別し、抽出結果とする。図23は、実績と異なるものをハッチングした試行パターンのテーブル例を示す図である。
 Mを、BLE接触実績と合致した数とすると、以下の式が成立する。
M≦試行回数
また、Nを、M回の試行の内、店舗iだった回数とすると、以下の式が成立する。
≦M
店舗iの合致率は以下の式で示される。
/M
 図23のテーブル例において、例えば、M=18になり、ユーザXとユーザYの店舗が店舗Nだった回数N=12になったとする。この場合、ユーザXとユーザYにとっての店舗Nの合致率は12/18=0.67となる。図24は、ユーザXの訪問POI情報(4)のテーブル例を示す図である。図24に示す通り、未特定の店舗に対して、一つ以上の店舗候補及びその合致率が追記されている。
 図25は、滞在POI推定装置1を含む滞在POI推定システム3が実行する処理フローの一例を示すシーケンス図である。まず、外部サーバが、滞在POI推定装置1に地図情報及びPOI情報を送信する(ステップS40)。次に、携帯端末2が、自端末の位置情報及びBLE接触情報を取得する(ステップS41)。次に、携帯端末2が、S41にて取得した位置情報及びBLE接触情報をアプリサーバに送信する(ステップS42)。次に、アプリサーバが、S42にて受信した位置情報及びBLE接触情報に基づいて訪問POIを導出して保存する(ステップS43)。次に、アプリサーバが、S43にて導出した訪問POI情報を滞在POI推定装置1に送信する(ステップS44)。次に、滞在POI推定装置1が、S40にて受信した地図情報及びPOI情報、並びに、S44にて受信した訪問POI情報に基づいて数理計算(シミュレーション)を実施する(ステップS45)。次に、滞在POI推定装置1が、S45にて得られた訪問POIの追加情報をアプリサーバに送信する(ステップS46)。次に、アプリサーバが、S46にて受信した訪問POIの追加情報に基づいて(保存していた)訪問POI情報を更新する(ステップS47)。
 図25に示すシーケンス図において、S40のタイミングは、S45よりも前であればいつでもよい。また、アプリサーバは、滞在POI推定装置1に含まれていてもよい。すなわち、S42は滞在POI推定装置1に対して送信され、S43、S45及びS47は滞在POI推定装置1内で行われてもよい。
 続いて、実施形態に係る滞在POI推定装置1の作用効果について説明する。
 滞在POI推定装置1によれば、各ユーザの、移動中の滞在であって一部は滞在したPOIが対応付いた滞在と、他のユーザへの近接との時系列の履歴であるユーザ情報に含まれる滞在のうちPOIが対応付いていない滞在である未対応滞在にてユーザが滞在したPOIである滞在POIをユーザ情報に基づいて推定する推定部12であって、滞在POIの候補であるPOI候補を経由してユーザが移動したと仮定するシミュレーションをユーザ毎に行い、シミュレーションの際に抽出したユーザ間の近接と、ユーザ情報に含まれる近接との時系列上の合致に基づいて、滞在POIをPOI候補から推定する推定部12を備える。この構成により、ユーザの移動中の滞在のうちPOIが対応付いていない滞在にてユーザが滞在したPOIが推定される。すなわち、ユーザが滞在したPOIを推定することができる。
 また、滞在POI推定装置1によれば、推定部12は、ユーザの未対応滞在の直前の滞在又は直後の滞在の少なくとも一方に基づいて当該ユーザのPOI候補を決定してもよい。この構成により、ユーザの未対応滞在の直前の滞在又は直後の滞在の少なくとも一方に基づいた、より正確なPOI候補を利用することができるため、より正確な推定を行うことができる。
 また、滞在POI推定装置1によれば、推定部12は、互いに未対応滞在にて接触するユーザについては、それぞれのPOI候補として、それぞれに決定されたPOI候補のうち互いに重複するPOI候補に絞り込んで決定してもよい。この構成により、POI候補が絞り込まれるため、シミュレーションの計算量が減り、より高速な推定を行うことができる。
 また、滞在POI推定装置1によれば、推定部12は、所定の期間内において接触するユーザ同士をグループ化し、グループ毎に当該所定の期間のシミュレーションを行ってもよい。この構成により、シミュレーションの計算量が減り、より高速な推定を行うことができる。
 また、滞在POI推定装置1によれば、推定部12は、シミュレーションでの合致の数に基づいて、滞在POIの推定精度を算出してもよい。この構成により、例えば、推定結果だけでなくその推定精度も把握することができる。
 また、滞在POI推定装置1によれば、推定部12は、一のPOI候補に対するシミュレーションでの合致の数に基づいて、当該一のPOI候補の推定精度を算出してもよい。この構成により、例えば、推定結果だけでなくその推定精度も把握することができる。
 また、滞在POI推定装置1によれば、推定部12は、シミュレーションでの合致の数と、一のPOI候補に対するシミュレーションでの合致の数とに基づいて、当該一のPOI候補の推定精度を算出してもよい。この構成により、例えば、推定結果だけでなくその推定精度も把握することができる。
 滞在POI推定装置1は、数値計算に基づく訪問店舗補完技術である。
 一般的に、商業施設に関する施策及び広告の効果測定・利用者層の分析のためには、ユーザ単位でどの店舗に来店しているかを正確に判定できることが好ましい。来店を判定する方法として、位置情報の利用及び決済履歴の活用が考えられるが、全てのユーザの位置情報及び決済履歴の情報を取得することは困難である。
 滞在POI推定装置1は、既存技術で特定できた訪問POI(店舗)をベースにして、歩行シミュレーションを実施し、特定できなかった店舗について、ユーザ間のBLE接触情報から時空間的に尤もらしい訪問POI(店舗)を推定する。
 滞在POI推定装置1は、ユーザの妥当な訪問店舗を推定する装置であり、位置情報及び決済情報のみではユーザの訪問店舗を推定できない場合において、BLEに代表される接触検知技術と、シミュレーション技術を活用することで、訪問の可能性の高い店舗をその精度とともに提示するシステムであってもよい。滞在POI推定装置1によれば、群ごとにシミュレーションを実施することで、興味対象のユーザに絞ることも可能であり、シミュレーションの実行効率の向上が見込める。
 なお、本実施形態において、「店舗候補の列挙」、「一定時間の区切り」及び「群の区切り」の順序については、実行速度の観点から相互に入れ変えてもよい。また、テーブルの仕様については、同様の計算処理が行えるのであれば形式は問わない。また、BLEに限らず赤外線通信など、同様の接触判定が行える技術を前提としてもよい。
 本開示の滞在POI推定装置1は、以下の構成を有してもよい。
[1]
 各ユーザの、移動中の滞在であって一部は滞在したPOI(Point of interest)が対応付いた滞在と、他のユーザへの近接との時系列の履歴であるユーザ情報に含まれる滞在のうちPOIが対応付いていない滞在である未対応滞在にてユーザが滞在したPOIである滞在POIをユーザ情報に基づいて推定する推定部であって、滞在POIの候補であるPOI候補を経由してユーザが移動したと仮定するシミュレーションをユーザ毎に行い、シミュレーションの際に抽出したユーザ間の近接と、ユーザ情報に含まれる近接との時系列上の合致に基づいて、滞在POIをPOI候補から推定する推定部を備える滞在POI推定装置。
[2]
 前記推定部は、ユーザの未対応滞在の直前の滞在又は直後の滞在の少なくとも一方に基づいて当該ユーザのPOI候補を決定する、
 [1]に記載の滞在POI推定装置。
[3]
 前記推定部は、互いに未対応滞在にて接触するユーザについては、それぞれのPOI候補として、それぞれに決定されたPOI候補のうち互いに重複するPOI候補に絞り込んで決定する、
 [1]又は[2]に記載の滞在POI推定装置。
[4]
 前記推定部は、所定の期間内において接触するユーザ同士をグループ化し、グループ毎に当該所定の期間のシミュレーションを行う、
 [1]~[3]の何れか一項に記載の滞在POI推定装置。
[5]
 前記推定部は、シミュレーションでの合致の数に基づいて、滞在POIの推定精度を算出する、
 [1]~[4]の何れか一項に記載の滞在POI推定装置。
[6]
 前記推定部は、一のPOI候補に対するシミュレーションでの合致の数に基づいて、当該一のPOI候補の推定精度を算出する、
 [1]~[5]の何れか一項に記載の滞在POI推定装置。
[7]
 前記推定部は、シミュレーションでの合致の数と、一のPOI候補に対するシミュレーションでの合致の数とに基づいて、当該一のPOI候補の推定精度を算出する、
 [1]~[6]の何れか一項に記載の滞在POI推定装置。
 なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
 機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
 例えば、本開示の一実施の形態における滞在POI推定装置1などは、本開示の滞在POI推定方法の処理を行うコンピュータとして機能してもよい。図26は、本開示の一実施の形態に係る滞在POI推定装置1のハードウェア構成の一例を示す図である。上述の滞在POI推定装置1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。滞在POI推定装置1のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 滞在POI推定装置1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の取得部11及び推定部12などは、プロセッサ1001によって実現されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、取得部11及び推定部12は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
 通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。例えば、上述の取得部11及び推定部12などは、通信装置1004によって実現されてもよい。
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
 また、滞在POI推定装置1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
 情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。
 本開示において説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、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(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi(登録商標))、IEEE 802.16(WiMAX(登録商標))、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及びこれらに基づいて拡張された次世代システムの少なくとも一つに適用されてもよい。また、複数のシステムが組み合わされて(例えば、LTE及びLTE-Aの少なくとも一方と5Gとの組み合わせ等)適用されてもよい。
 本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
 本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
 本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
 なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
 本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
 また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
 上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。
 本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
 「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
 本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
 上記の各装置の構成における「手段」を、「部」、「回路」、「デバイス」等に置き換えてもよい。
 本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
 本開示において、例えば、英語でのa、an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
 本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
 1…滞在POI推定装置、2…携帯端末、3…滞在POI推定システム、10…格納部、11…取得部、12…推定部、1001…プロセッサ、1002…メモリ、1003…ストレージ、1004…通信装置、1005…入力装置、1006…出力装置、1007…バス。

 

Claims (7)

  1.  各ユーザの、移動中の滞在であって一部は滞在したPOI(Point of interest)が対応付いた滞在と、他のユーザへの近接との時系列の履歴であるユーザ情報に含まれる滞在のうちPOIが対応付いていない滞在である未対応滞在にてユーザが滞在したPOIである滞在POIをユーザ情報に基づいて推定する推定部であって、滞在POIの候補であるPOI候補を経由してユーザが移動したと仮定するシミュレーションをユーザ毎に行い、シミュレーションの際に抽出したユーザ間の近接と、ユーザ情報に含まれる近接との時系列上の合致に基づいて、滞在POIをPOI候補から推定する推定部を備える滞在POI推定装置。
  2.  前記推定部は、ユーザの未対応滞在の直前の滞在又は直後の滞在の少なくとも一方に基づいて当該ユーザのPOI候補を決定する、
     請求項1に記載の滞在POI推定装置。
  3.  前記推定部は、互いに未対応滞在にて接触するユーザについては、それぞれのPOI候補として、それぞれに決定されたPOI候補のうち互いに重複するPOI候補に絞り込んで決定する、
     請求項2に記載の滞在POI推定装置。
  4.  前記推定部は、所定の期間内において接触するユーザ同士をグループ化し、グループ毎に当該所定の期間のシミュレーションを行う、
     請求項1に記載の滞在POI推定装置。
  5.  前記推定部は、シミュレーションでの合致の数に基づいて、滞在POIの推定精度を算出する、
     請求項1に記載の滞在POI推定装置。
  6.  前記推定部は、一のPOI候補に対するシミュレーションでの合致の数に基づいて、当該一のPOI候補の推定精度を算出する、
     請求項1に記載の滞在POI推定装置。
  7.  前記推定部は、シミュレーションでの合致の数と、一のPOI候補に対するシミュレーションでの合致の数とに基づいて、当該一のPOI候補の推定精度を算出する、
     請求項1に記載の滞在POI推定装置。

     
PCT/JP2023/017466 2022-08-30 2023-05-09 滞在poi推定装置 WO2024047949A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-137076 2022-08-30
JP2022137076 2022-08-30

Publications (1)

Publication Number Publication Date
WO2024047949A1 true WO2024047949A1 (ja) 2024-03-07

Family

ID=90099245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/017466 WO2024047949A1 (ja) 2022-08-30 2023-05-09 滞在poi推定装置

Country Status (1)

Country Link
WO (1) WO2024047949A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049681A (ja) * 2013-08-30 2015-03-16 Kddi株式会社 類似移動経路をとるユーザを検索する装置、プログラム及び方法
JP2020144587A (ja) * 2019-03-06 2020-09-10 本田技研工業株式会社 車両位置分析装置及び車両位置分析方法
JP2020193860A (ja) * 2019-05-28 2020-12-03 本田技研工業株式会社 推定装置、推定方法、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049681A (ja) * 2013-08-30 2015-03-16 Kddi株式会社 類似移動経路をとるユーザを検索する装置、プログラム及び方法
JP2020144587A (ja) * 2019-03-06 2020-09-10 本田技研工業株式会社 車両位置分析装置及び車両位置分析方法
JP2020193860A (ja) * 2019-05-28 2020-12-03 本田技研工業株式会社 推定装置、推定方法、およびプログラム

Similar Documents

Publication Publication Date Title
CN108875007B (zh) 兴趣点的确定方法和装置、存储介质、电子装置
CN106462627B (zh) 根据多个位置数据报告分析语义地点和相关数据
CN106471851B (zh) 基于学习模型的设备定位
US11143518B2 (en) Destination extrapolation device
CN106055607B (zh) 用户到访预测模型建立、用户到访预测方法和装置
JP2018041189A (ja) 通信端末、サーバ装置、店舗推奨方法、プログラム
US20220245939A1 (en) Systems and methods for identifying a service qualification of a multi-unit building based on exterior access
US11748424B2 (en) Visiting destination prediction device and visiting destination prediction method
WO2024047949A1 (ja) 滞在poi推定装置
JP5998182B2 (ja) Poiデータ生成装置、端末装置、poiデータ生成方法およびプログラム
JP6811849B2 (ja) アプリ利用推定装置及びルール作成装置
JP7254070B2 (ja) 訪問先推定装置および訪問先推定方法
US11948472B2 (en) Popularity evaluation system and geographical feature generation model
US11895559B2 (en) Moving means determination device
WO2019216046A1 (ja) 情報処理装置
US20210123765A1 (en) Pastime preference estimation device and pastime preference estimation method
US20210248196A1 (en) Interest estimation device
US20220022157A1 (en) Check-in determination device
JP6811587B2 (ja) 訪問先推定装置
WO2024100937A1 (ja) 人口出力装置及び推定モデル
WO2024048036A1 (ja) 店舗判定装置
WO2023203842A1 (ja) 混雑度探索システム
JP7366767B2 (ja) 情報提供装置
WO2024047978A1 (ja) 店舗判定装置
CN114297325A (zh) 轨迹预测模型构建方法、装置以及可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23859720

Country of ref document: EP

Kind code of ref document: A1