Information processing apparatus, information processing method, and information processing program

The information processing device uses a learning model to associate IP addresses with geographic data, addressing inefficiencies in existing location prediction methods by generating trajectory sequences, thereby enhancing the accuracy and efficiency of location determination.

JP2026021804AActive Publication Date: 2026-02-12RAKUTEN GROUP INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024122969
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-30
Publication Date
2026-02-12
Estimated Expiration
2044-07-30

AI Technical Summary

Technical Problem

Existing methods for predicting location information from IP addresses are inefficient due to the large number of IP addresses involved, making the process of collecting access logs and predicting location information complex.

Method used

An information processing device generates a trajectory sequence of user device IP addresses and location information, using a learning model to predict location information by associating IP addresses with geographic data through a natural language model trained on user device movements.

Benefits of technology

Efficiently predicts location information corresponding to IP addresses, improving the accuracy and efficiency of location determination without relying on GPS.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026021804000001_ABST
    Figure 2026021804000001_ABST
Patent Text Reader

Abstract

To efficiently predict position information corresponding to an IP address from the IP address.SOLUTION: The information processing apparatus generates a trajectory sequence of a moving user device including one or more IP addresses of the user device and one or more pieces of location information representing an area including a location of the user device, acquires an IP address of a target user device as a target IP address, and predicts location information corresponding to the target IP address by inputting the target IP address to a learning model for machine learning that has learned a correspondence relationship between an IP address and location information using the trajectory sequence.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technique for predicting location information of a device from its IP address. [Background technology]

[0002] The location information of a device such as a user terminal can be determined using existing location detection technologies such as the Global Positioning System (GPS). However, it is difficult to determine the location of a device without using such location detection technologies. When a device communicates via the Internet, an Internet Protocol (IP) address is assigned to the device, and one effective method for determining the location information of the device is to use the IP address. However, an IP address is not generally associated with the location information of the device that uses the IP address, i.e., the location information corresponding to the IP address.

[0003] Therefore, in recent years, a technology has been developed that predicts location information corresponding to an IP address based on the IP address assigned to a device. For example, Patent Document 1 discloses a method for predicting (estimating) location information corresponding to an IP address whose location information is unknown, using an access log that includes IP addresses whose location information is known. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2022-172572 Summary of the Invention [Problem to be solved by the invention]

[0005] According to the technology disclosed in the above document, it is possible to predict location information corresponding to IP addresses whose location information is unknown by using access logs containing IP addresses whose location information is known. However, since the number of IP addresses that can be used is enormous, the process of collecting access logs containing IP addresses whose location information is known and the process of predicting location information corresponding to IP addresses whose location information is unknown based on the access logs can be complicated. Therefore, a technology is needed for more efficiently predicting location information corresponding to an IP address from the IP address.

[0006] The present invention has been made in view of the above-mentioned problems, and aims to provide a technique for efficiently predicting location information corresponding to an IP address from the IP address. [Means for solving the problem]

[0007] In order to solve the above problem, one aspect of an information processing device according to the present invention includes a generation unit that generates a trajectory sequence of a user device, the trajectory sequence including one or more IP addresses of the moving user device and one or more location information representing an area including the location of the user device; an acquisition unit that acquires the IP address of a target user device as a target IP address; and a prediction unit that predicts location information corresponding to the target IP address by inputting the target IP address into a learning model for machine learning that has learned the correspondence between IP addresses and location information using the trajectory sequence.

[0008] In order to solve the above problem, one aspect of an information processing method according to the present invention includes generating a trajectory sequence for a user device, the trajectory sequence including one or more IP addresses of the moving user device and one or more location information representing an area including the location of the user device; obtaining the IP address of a target user device as a target IP address; and predicting the location information corresponding to the target IP address by inputting the target IP address into a learning model for machine learning that has learned the correspondence between IP addresses and location information using the trajectory sequence.

[0009] In order to solve the above problem, one aspect of the information processing program of the present invention is an information processing program for causing a computer to execute information processing, the program causing a computer to execute processes including: a generation process for generating a trajectory sequence of a user device, the trajectory sequence including one or more IP addresses of a moving user device and one or more location information representing an area including the location of the user device; an acquisition process for acquiring the IP address of a target user device as the target IP address; and a prediction process for predicting location information corresponding to the target IP address by inputting the target IP address into a learning model for machine learning that has learned the correspondence between IP addresses and location information using the trajectory sequence. [Effects of the Invention]

[0010] According to the present invention, it is possible to efficiently predict location information corresponding to an IP address from the IP address. The above-mentioned objects, aspects, and advantages of the present invention, as well as other objects, aspects, and advantages of the present invention not described above, will be understood by those skilled in the art from the following detailed description of the invention by referring to the accompanying drawings and the claims. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 shows an example of the configuration of an information processing system according to an embodiment. [Figure 2] FIG. 2 shows an example of the functional configuration of the information processing device according to the embodiment. [Figure 3A] FIG. 3A shows an example of a map that includes multiple regions with assigned geodata. [Figure 3B] FIG. 3B is a diagram showing a specific example of encoding location data into geodata. [Figure 4A] FIG. 4A is a diagram for explaining the individual tokenization process. [Figure 4B] FIG. 4B is a diagram for explaining the multilingual tokenization process. [Figure 5] FIG. 5 shows a conceptual diagram of the pre-training process for a natural language model. [Figure 6] FIG. 6 shows a flowchart of the learning process executed by the information processing device. [Figure 7] FIG. 7 shows a flowchart of the location information or IP address prediction process executed by the information processing device. [Figure 8] FIG. 8 shows an example of the hardware configuration of an information processing device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, with reference to the accompanying drawings, an embodiment for carrying out the present invention will be described in detail. Among the components disclosed below, those having the same function will be given the same reference numerals, and their description will be omitted. Note that the embodiment disclosed below is an example of a means for realizing the present invention, and should be appropriately modified or changed depending on the configuration of the device to which the present invention is applied and various conditions. The present invention is not limited to the following embodiment. Furthermore, not all of the combinations of features described in the present embodiment are necessarily essential to the solution of the present invention.

[0013] [Configuration of information processing system] FIG. 1 shows an example configuration of an information processing system 1 according to this embodiment. The information processing system 1 includes an information processing device 10 and a user device (User Equipment (UE)) 11. The information processing device 10 and the user device 11 are configured to be able to communicate with each other via a network 12. The network 12 may include a wired or wireless network such as a local area network (LAN), a wide area network (WAN), or a mobile communication network. Although FIG. 1 illustrates one user device 11, the information processing system 1 may be configured such that multiple user devices, including the user device 11, can communicate with the information processing device 10 via the network 12. The user device 11 is operated by a user 13. In the present disclosure, the terms user device and user may be understood to be synonymous.

[0014] The user device 11 is a mobile terminal carried by the user 13, and the user device 11 moves as the user 13 moves. The user device 11 is, for example, a device such as a smartphone or a tablet, and is configured to be able to communicate with the information processing device 10 via a network 12. The information processing device 10 is a device that processes information received from the user device 11. The information processing device 10 may be a server device that provides an e-commerce platform such as a marketplace, and the user device 11 may be configured to use web services (internet-related services) provided by the information processing device 10.

[0015] The user device 11 includes a positioning unit capable of acquiring position data such as coordinate data indicating the position of the user device 11 in a predetermined coordinate system (map). The positioning unit is, for example, a GPS (Global Positioning System) sensor, and the position data may consist of latitude and longitude. The user device 11 is configured to acquire multiple consecutive position data along the movement of the user 13, associate the data with a user identifier that identifies the user device 11, and transmit the data to the information processing device 10. In the following description, the identifier that identifies the user device is referred to as a user ID. The user device 11 may also attach time information (timestamp) at which the position data was acquired to the position data and transmit the data to the information processing device 10. The user device 11 may acquire the position data at regular intervals or at predetermined timing. The timing of acquiring the position data may be instructed by another device such as the information processing device 10. The user device 11 may also transmit the position data with the attached time information to an external device other than the information processing device 10 via the network 12.

[0016] The user device 11 is also configured to transmit the IP (Internet Protocol) address of the user device 11, i.e., the IP address assigned to the user device 11, to the information processing device 10 in association with the user ID of the user device 11. The user device 11 may transmit the IP address to the information processing device 10 at regular intervals or at predetermined timing. The user device 11 may attach time information (timestamp) when the user device 11 is using the IP address to communicate over the Internet, and transmit the IP address to the information processing device 10.

[0017] An IP address is numerical data consisting of a predetermined number of bits that is assigned to a device when the device communicates via the Internet. The IP address is composed of a network address portion that indicates the network and a host address portion that indicates the device (host). IP addresses assigned to devices are classified into dynamic IP addresses that are dynamically assigned to devices and fixed IP addresses that are permanently assigned to devices. In the case of a dynamic IP address, for example, when the user device 11 connects to the Internet, an IP address that is not currently in use is automatically assigned to the user device 11 by the Internet service provider (ISP) to which the user 13 subscribes. On the other hand, in the case of a fixed IP address, for example, when the user device 11 connects to the Internet, the same IP address is always assigned to the user device 11 by the ISP to which the user 13 subscribes. This embodiment assumes the use of a dynamic IP address. However, this embodiment can also be applied to cases where an IP address assigned to a device by another method is used.

[0018] An ISP owns many access points (APs) located in many regions and manages many IP addresses for each access point. Therefore, the IP address assigned by the ISP may have a certain correlation with the geographic location. The location of the user device 11 changes as the user 13 moves, which may change the access point to which the user device 11 connects, and therefore the IP address assigned to the user device 11 may also change. The user device 11 may transmit information about the IP address currently being used to the information processing device 10 at regular intervals or at predetermined times.

[0019] As described above, the information processing device 10 may be a server device that provides an e-commerce platform, and the user device 11 may use web services (Internet-related services) provided by the information processing device 10. The information processing device 10 is not limited to being the server device, and the user device 11 may be configured to use web services provided by a server device (not shown) separate from the information processing device 10 via the information processing device 10. Web services may include online malls, online supermarkets, or e-commerce (EC) services related to communications, finance, real estate, sports, and travel. These web services may be used by the user 13, for example, by logging in to an API (Application Programming Interface) provided by the information processing device 10 or another device using the user's account. The user device 11 may be configured to transmit location data and / or an IP address associated with a user ID and time information to the information processing device 10 via the web service.

[0020] When the information processing device 10 receives location data and IP addresses associated with each user ID from multiple user devices 11, including the user device 11, the information processing device 10 encodes the location data to generate geo data as location information (which may also be referred to as region information or area information) representing an area including the location indicated by the location data. The information processing device 10 then stores the generated geo data and IP address in association with the user ID. Furthermore, the information processing device 10 trains a natural language model 241 based on the stored geo data and IP address to associate the geo data with the IP address (i.e., to identify a correspondence between the IP address and the location information, such as a pattern or relationship of the geo data corresponding to the IP address). Furthermore, when the information processing device 10 receives an IP address from a target user device, the information processing device 10 uses the trained natural language model 241 to predict the geo data corresponding to the received IP address as the location information corresponding to the IP address. In the present disclosure, the terms geo data and location information may be understood to have the same meaning.

[0021] [Functional configuration of information processing device] 2 shows an example of the functional configuration of the information processing device 10 according to this embodiment. As an example of its functional configuration, the information processing device 10 has a data acquisition unit 201, an encoding unit 202, a tokenization unit 203, a pre-training unit 204, a fine-tuning unit 205, a prediction unit 206, a location data database 210, an IP address database 220, a geodata database 230, and a learning model storage unit 240. The learning model storage unit 240 is configured to be able to store a natural language model 241. The pre-training unit 204 and the fine-tuning unit 205 are functional components for training the natural language model 241, and therefore may be integrated into a single functional configuration.

[0022] The natural language model 241 is, for example, a Transformer-based natural language processing model, for example, a learning model for machine learning based on BERT (Bidirectional Encoder Representations from Transformers). The natural language model 241 is a learning model configured to extract (e.g., encode) features of input linguistic information, generate feature vectors (also referred to as embedding vectors) representing the features of the linguistic information, and generate final output data (also referred to as output values) from the feature vectors. The learning model storage unit 240 can store the architecture of the natural language model 241 and various parameters derived by learning (including pre-learning and fine-tuning).

[0023] The information processing device 10 may not be entirely provided in one device, but may be provided in multiple devices. For example, part of the information processing device 10 may be provided in an external server device. In this case, the information processing device 10 and the external server device cooperate to realize the following functions.

[0024] The data acquisition unit 201 acquires various data from multiple user devices including the user device 11. For example, the data acquisition unit 201 acquires, from multiple user devices including the user device 11, location data and IP addresses associated with the user IDs of each user device. The location data acquired from the user device 11 corresponds to coordinate data indicating the location of the user device 11 in a predetermined coordinate system, and is accompanied by time information when the coordinate data was acquired by the user device 11. In this embodiment, the location data is assumed to be data including latitude and longitude. Alternatively, the location data may be data indicating a location at any coordinates on a map.

[0025] Furthermore, the IP address acquired from the user device 11 corresponds to an IP address assigned to the user device 11 and includes time information used by the user device 11. The timing at which the data acquiring unit 201 acquires the location data and the IP address may or may not be the same. Furthermore, the data acquiring unit 201 may acquire the location data and the IP address associated with the user ID of each user device from multiple user devices including the user device 11 via another device, rather than directly.

[0026] Data acquisition unit 201 stores the acquired location data in location data database 210, and stores the acquired IP addresses in IP address database 220. As a result, location data associated with the user IDs of multiple user devices is stored in sequence together with time information in location data database 210, and IP addresses associated with the user IDs of multiple user devices are stored in sequence and consecutively together with time information in IP address database 220.

[0027] The encoding unit 202 encodes (also referred to as converting) location data stored in the location data database 210 into a character string representing an area including the location indicated by the location data. In this embodiment, the character string corresponds to geodata. Each character constituting the geodata may be in any format. In this embodiment, the encoding unit 202 encodes the location data into geodata using multiple areas predefined on a map. The multiple areas correspond to multiple sections obtained by dividing the map into a grid, and geodata is assigned to each of the multiple areas based on its geographic location. The encoding unit 202 encodes each piece of location data into geodata assigned to an area including the location indicated by the location data (e.g., the latitude and longitude of the location). In other words, the encoding unit 202 generates geodata by mapping each piece of location data to one of multiple areas.

[0028] FIG. 3A shows an example of a map 300 including multiple regions to which geodata are assigned. The map 300 includes 32 regions. In FIG. 3A, Geohash is used as an example of geodata assigned to each region. Geohash is an example of hashed location information, and in this example, Geohash6, a six-digit Geohash, is used. Hashed location information is location information that can be obtained by inputting data (e.g., the latitude and longitude of a specific position) in each region (e.g., the center position) as an argument (input value) to a hash function. In other words, each geodata is information obtained by inputting data of a specific position in the region represented by each geodata (i.e., the region corresponding to each geodata) as an argument to a hash function.

[0029] The Geohash6 used in this embodiment consists of six digits (i.e., six characters). As an example, each area represented by Geohash6 is a rectangle with an east-west (x) dimension of 1.2 km (kilometers) and a north-south (y) dimension of 906 m (meters). The x- and y-dimensional dimensions of each area and the size (e.g., area) of each area are not limited to specific numerical values, but are assumed to have a range larger than the position indicated by the location data.

[0030] The multiple characters that make up the geographic data are composed of multiple blocks corresponding to multiple hierarchical geographic areas (large and small areas). Here, common geographic areas share one or more common (i.e., the same) characters. For example, character strings corresponding to the same numerical parts of latitude and longitude are expressed using one or more common characters.

[0031] In the example of FIG. 3A, all 32 regions shown form the same major division (upper) area, and the letters "xn76u" are applied to this major division area. Therefore, all 32 regions have the letters "xn76u" applied to the beginning. In addition, each of the 32 regions forms a minor division (lower) area, and a different letter is applied to each. Specifically, the letters "0," "1," "2," "3," "4," "5," "6," "7," "8," "9," "b," "c," "d," "e," "f," "g," "h," "j," "k," "m," "n," "p," "q," "r," "s," "t," "u," "v," "w," "x," "y," and "z" are applied to each of the 32 regions following "xn76u." Thus, in the example of FIG. 3A, the geodata assigned to each region consists of two blocks.

[0032] As shown in FIG. 3A, the geodata is composed of six characters, or in other words, realizes location information with six levels of precision. As described above, in this embodiment, each area to which geodata is assigned has a size expressed in Geohash6 (for example, 1.2 km x 906 m). The geodata is data with a higher resolution (i.e., a higher granularity) than the location data (latitude and longitude in this embodiment) acquired by the user device 11. However, for example, the geodata can be said to have a sufficiently effective resolution as information indicating the location of the user device 11 that needs to be known in order to provide a web service. For example, when providing weather information as a web service, it is sufficient to know the area in which the user device 11 is located, which is a size expressed in Geohash6, even if the location of the user device 11 cannot be accurately known.

[0033] The area to which geodata is assigned may be larger or smaller than the size represented by Geohash6. The smaller the area to which geodata is assigned, the longer the character string that constitutes the geodata may be. In other words, increasing the number of digits in the geodata allows for a narrower area to be represented, and decreasing the number of digits in the geodata allows for a wider area to be represented. Also, in Figure 3A, each area is composed of a rectangle represented by Geohash6, but the shape of the area represented by the geodata is not limited to this. For example, the shape of the area represented by the geodata may be other polygons or shapes, such as a pentagon or hexagon.

[0034] FIG. 3B shows a specific example of encoding location data into geo data. In FIG. 3B, location data 301 to 304 are location data consisting of latitude and longitude, and time information and user ID information are omitted. Encoding unit 202 generates geo data 311 to 314 by encoding each of location data 301 to 304 into geo data assigned to an area (e.g., one of the rectangular areas shown in FIG. 3A) that includes the location indicated by the location data. Location data 301 = '35.524,139.759' and location data 302 = '35.527,139.757' are encoded into geo data 311 = geo data 312 = 'xn7tz4'. This corresponds to the fact that the location at latitude = 35.524 and longitude = 139.759 and the location at latitude = 35.527 and longitude = 139.757 are located in the same area on the map (the same rectangular area in the example of Figure 3A). On the other hand, location data 303 = '35.538, 139.769' is encoded as geo data 313 = 'xn9dh1', and location data 304 = '35.559, 139.755' is encoded as geo data 314 = 'xmfp7', so they are each encoded as different geo data. This corresponds to the fact that the location at latitude = 35.538 and longitude = 139.769 and the location at latitude = 35.559 and longitude = 139.755 are located in different areas on the map (different rectangular areas in the example of Figure 3A).

[0035] The encoding unit 202 may generate geo data by combining one or more pieces of position data, each having time information within a predetermined time, into one piece of position data. Alternatively, the encoding unit 202 may combine one or more pieces of encoded geo data, each having time information within a predetermined time, into one piece of geo data. The encoding unit 202 stores the generated geo data in the geo data database 230. The encoding unit 202 encodes the position data stored in the position data database 210 into geo data in order according to the time information, whereby the geo data associated with the user IDs of multiple user devices is stored in the geo data database 230 in order and consecutively together with the time information.

[0036] Returning to the description of FIG. 2, the tokenizer 203 acquires and processes IP addresses and geodata (history data associated with the user ID) associated with the user ID from the IP address database 220 and the geodata database 230, respectively, to generate a trajectory sequence representing the movement characteristics of the user device corresponding to the user ID. Specifically, the tokenizer 203 tokenizes consecutive IP addresses stored in the IP address database 220 and generates each IP address as an IP address token. The tokenizer 203 also tokenizes consecutive geodata stored in the geodata database 230 and generates each geodata as a geodata token. The tokenizer 203 then generates a trajectory sequence consisting of multiple tokens (including IP addresses and / or geodata). The trajectory sequence includes at least one IP address. Similar to conventional tokenization processing, the tokenizer 203 may insert special tokens such as “[UNK]”, “[PAD]”, “[CLS]”, and “[SEP]” into the trajectory sequence. The generated trajectory sequence corresponds to training data for training the natural language model 241. Since IP addresses and geodata have different language formats, they can be said to be different languages. Therefore, the tokenization unit 203, which processes IP addresses and geodata together, functions as a multilingual tokenizer that realizes multilingual tokenization.

[0037] To explain the processing of the tokenizer 203 functioning as a multilingual tokenizer, the individual tokenization process for individually tokenizing IP addresses and geodata will first be described with reference to FIG. 4A. In this case, the tokenizer 203 functions as an individual tokenizer. FIG. 4A is a diagram for explaining the individual tokenization process. The tokenizer 203 specifies a user ID and acquires, from the IP address database 220, consecutive IP addresses associated with the specified user ID and associated with time information within a predetermined time range (e.g., one hour or one week). The user ID may be specified by the tokenizer 203 in accordance with a predetermined program, or by an operator of the information processing device 10, etc. In the example of FIG. 4A, the specified user ID is user ID=1. The tokenizer 203 then generates an IP address sequence 401 including multiple IP addresses by separating each tokenized IP address from the acquired consecutive IP addresses with a space and arranging them in order according to the time information. Similarly, the tokenizer 203 acquires consecutive geo data associated with the user ID of user ID=1 and having time information within a predetermined time range from the geo data database 230. The tokenizer 203 then generates a geo data sequence 402 containing multiple geo data by separating each tokenized geo data from the acquired consecutive geo data with a space and arranging them in order according to the time information. The IP address sequence 401 and the geo data sequence 402 respectively represent the transition of IP address changes and the transition of geo data changes as characteristics of the movement of user ID=1.

[0038] In FIG. 4A, for the sake of explanation, the IP address sequence 401 and the geo data sequence 402 include the same number of tokens, and the time information attached to each token indicates the same time period. In this embodiment, the term "same time period" refers to a time range including the same time or an approximate time (for example, within a 10-minute difference). Therefore, the first IP address = '106.178.105.203' in the IP address sequence 401 and the first geo data = 'xn7tz4' in the geo data sequence 402 correspond to an IP address and geo data in the same time period. In other words, the geo data corresponding to the IP address = '106.178.105.203' is geo data = 'xn7tz4'. In this way, the nth IP address in the IP address sequence 401 corresponds to the nth geo data in the geo data sequence 402 (n is 1 to N (the number of IP addresses included in the IP address sequence 401 = the number of geo data included in the geo data sequence 402)).

[0039] Next, the processing of the tokenization unit 203 functioning as a multilingual tokenizer will be described. FIG. 4B is a diagram illustrating the multilingual tokenization processing according to this embodiment. The tokenization unit 203 designates a user ID and acquires consecutive IP addresses and geo data associated with the designated user ID, each of which has time information within a predetermined time range (e.g., one hour or one week), from the IP address database 220 and the geo data database 230, respectively. Next, the tokenization unit 203 tokenizes the consecutive IP addresses to generate each IP address as an IP address token, and also tokenizes the consecutive geo data to generate each geo data as a geo data token. As a result, one or more tokenized IP addresses and one or more tokenized geo data are generated. The tokenization unit 203 then generates a trajectory sequence by arranging multiple tokens (including IP addresses and / or geo data) separated by spaces. The user ID may be designated by the tokenization unit 203 according to a predetermined program, or may be designated by an operator of the information processing device 10, etc.

[0040] FIG. 4B shows trajectory sequence 411, trajectory sequence 412, and trajectory sequence 413 as examples of trajectory sequences generated by tokenization unit 203. Trajectory sequence 411 is a trajectory sequence for a user with user ID = 1, trajectory sequence 412 is a trajectory sequence for a user with user ID = 2, and trajectory sequence 413 is a trajectory sequence for a user with user ID = 3. Trajectory sequence 411 is a trajectory sequence for a user with user ID = 1, in which the IP addresses and geo data included in IP address sequence 401 and geo data sequence 402 shown in FIG. 4A are arranged consecutively in the same time period. For example, in trajectory sequence 411, IP address = '106.178.105.203' and geo data = 'xn7tz4', which are assigned time information for the same time period, are arranged consecutively. In trajectory sequence 411, the IP address and geo data for the same time period are arranged consecutively, although the geo data may be arranged consecutively.

[0041] In the trajectory sequence 411, IP addresses and geodata correspond one-to-one to each other during the same time period. That is, a user device corresponding to user ID = 1 can acquire location data, which is the basis of the geodata, during the time period when the IP address is used, and transmit the acquired location data to the information processing device 10. On the other hand, the user device may temporarily deactivate its positioning unit, temporarily preventing it from acquiring location data. In such cases, the trajectory sequence is not generated so that one piece of geodata always corresponds to one IP address. That is, the trajectory sequence is partially missing geodata. The trajectory sequence 412 is a trajectory sequence that is partially missing geodata and contains only one piece of geodata = 'xn9dh1'. It is also possible that the user device has deactivated its location data detection function, preventing it from acquiring any location data at all. In such cases, the trajectory sequence is not generated so that one piece of geodata corresponds to one IP address. The trajectory sequence 413 is a trajectory sequence that does not contain geodata and is composed only of IP addresses.

[0042] In this way, the tokenizer 203 generates multiple trajectory sequences that include at least IP addresses. Each trajectory sequence may have characteristics of IP address transitions that occur as each user device moves. In the pre-training unit 204, to train the natural language model 241 on the relationship between IP addresses and geodata (the correspondence between IP addresses and location information), it is optimal to train using trajectory sequences 411 in which IP addresses and geodata have a one-to-one correspondence during the same time period.

[0043] In this embodiment, the tokenization unit 203 performs multilingual tokenization processing on IP addresses and geodata, but the tokenization unit 203 may be configured to tokenize each data piece for a data group that includes multiple data pieces having different language formats.

[0044] The pre-training unit 204 pre-trains the natural language model 241 using the trajectory sequence generated by the tokenization unit 203. The natural language model 241 is, for example, a Transformer-based natural language processing model, such as a BERT (Bidirectional Encoder Representations from Transformers)-based machine learning model. The natural language model 241 may also be a DistilBERT-based machine learning model that is a faster / lighter version of the conventional BERT.

[0045] In this embodiment, the pre-training unit 204 uses a Masked Language Model (MLM) methodology to train the natural language model 241 through a self-supervised learning strategy. That is, the pre-training unit 204 can perform a self-contained learning process using the trajectory sequence generated by the tokenization unit 203, without using ground truth data of location information provided by other businesses or third parties.

[0046] Specifically, the pre-training unit 204 intentionally masks some tokens in the trajectory sequence generated by the tokenization unit 203 and inputs the partially token-masked trajectory sequence to the natural language model 241. For example, the tokenization unit 203 replaces the tokens to be masked with [MASK]. The natural language model 241 extracts features of each of multiple tokens included in the partially token-masked trajectory sequence to generate a feature vector for each token. The pre-training unit 204 then predicts the feature vectors of the masked tokens and trains the natural language model 241 to perform the task of predicting the masked tokens (i.e., the masked portions). The pre-training unit 204 may randomly determine one or more tokens to mask in the trajectory sequence. Alternatively, the one or more tokens to mask in the trajectory sequence may be determined by an operator of the information processing device 10 or an external device.

[0047] FIG. 5 shows a conceptual diagram of the pre-training process performed by the pre-training unit 204 on the natural language model 241. For illustrative purposes, the trajectory sequence 411 shown in FIG. 4B is used. For illustrative purposes, in the trajectory sequence 411, IP addresses and geodata that are assigned time information for the same time period are surrounded by the same type of line. For example, IP address = '106.178.105.203' and geodata = 'xn7tz4' are assigned time information that falls within the same time period and are surrounded by a dashed line. Furthermore, IP address = '118.9.58.132' and geodata = 'xn9dh1' are assigned time information that falls within the same time period and are surrounded by a dashed line. Furthermore, IP address = '113.106.38.136' and geodata = 'xm3fp7' are assigned time information that falls within the same time period and are surrounded by a solid line.

[0048] The pre-training unit 204 generates a trajectory sequence 411', which is a partially token-masked trajectory sequence in which some tokens (IP addresses or geodata) of the trajectory sequence 411 are masked. In the trajectory sequence 411', multiple tokens that are random or predetermined are masked. The pre-training unit 204 inputs the trajectory sequence 411' to the natural language model 241 and trains the natural language model 241 to predict the masked multiple tokens. In FIG. 5, the natural language model 241 to which the trajectory sequence 411' is input outputs a trajectory sequence 411'', and the prediction results (predicted tokens) of the masked tokens in the trajectory sequence 411' are indicated by shading. The pre-training unit 204 trains the natural language model 241 by comparing the trajectory sequence 411'' with the trajectory sequence 411.

[0049] As a result, the natural language model 241 learns the relationship between geodata and IP addresses in the same time period, and the relationship between IP addresses and geodata in the same time period, in the trajectory sequence 411. By performing such pre-learning using multiple trajectory sequences, the natural language model 241 learns the geodata corresponding to IP addresses and the IP addresses corresponding to the geodata.

[0050] The performance of the natural language model 241 is evaluated based on the accuracy of predicting masked tokens. Since correct tokens are obtained from the trajectory sequence generated by the tokenizer 203, the masked tokens are compared with the correct tokens corresponding to them, and the parameters, weights, etc. of the natural language model 241 are updated to maximize accuracy. By continuously performing this task and evaluation, the ability to learn contextual relationships between tokens in the trajectory sequence can be improved. The contextual relationships between tokens include the mutual relationships between IP addresses and geodata (geodata corresponding to IP addresses and IP addresses corresponding to geodata).

[0051] The fine tuning unit 205 performs fine tuning on the natural language model 241 pre-trained by the pre-training unit 204. In this embodiment, fine tuning is performed by a contrastive fine tuning method using correct answer data. Specifically, the fine tuning unit 205 first generates correct answer data pairs from the IP address database 220 and the geo data database 230. For example, the fine tuning unit 205 acquires an IP address (also referred to as a reference IP address) of an arbitrary user and geo data (also referred to as reference location information) corresponding to the IP address from the IP address database 220 and the geo data database 230, and generates a correct answer data pair of the IP address and the geo data. The fine tuning unit 205 inputs the IP address of the correct answer data pair into the natural language model 241, generates a feature vector of the IP address (hereinafter referred to as an IP address feature vector), and embeds it in a common vector space. Furthermore, the fine-tuning unit 205 inputs the geo data of the correct data pair into the natural language model 241 to generate a feature vector of the geo data (hereinafter referred to as a geo feature vector) and embeds it in a common vector space. Then, the fine-tuning unit 205 trains the natural language model 241 to reduce, preferably minimize, the distance between the IP address feature vector and the geo feature vector embedded in the common vector space. If the distance between the feature vectors embedded in the common vector space is short, it means that the relationship between the features represented by the feature vectors is high.

[0052] The fine-tuning unit 205 can calculate the distance between feature vectors in the common vector space as cosine distance or Euclidean distance. The cosine distance corresponds to the cosine value (-1 to +1) of the angle between two vectors in the common vector space, and the Euclidean distance corresponds to the normal distance between two vectors in the common vector space. In addition, the minimization and maximization criteria (i.e., the target learning accuracy) can be set arbitrarily.

[0053] The fine-tuning unit 205 fine-tunes the natural language model 241 using a plurality of correct data pairs, thereby training the natural language model 241 so that, in a common vector space, a geo data feature vector having a higher correlation with an IP address feature vector is positioned closer to the IP address feature vector. This enables the natural language model 241 to identify, in the common vector space, a geo data feature vector that is closest to the IP address feature vector generated from the input IP address. The geo data corresponding to the identified geo data feature vector is output from the natural language model 241 as the geo data corresponding to the IP address (i.e., the geo data in the time period when the IP address was used). Similarly, by fine-tuning, the natural language model 241 can identify, in the common vector space, an IP address feature vector that is closest to the geo data feature vector generated from the input geo data. The IP address corresponding to the identified IP address feature vector is output from the natural language model 241 as the IP address corresponding to the geo data (i.e., the IP address in the time period when the location data on which the geo data is based was acquired). As a result, the natural language model 241 is configured to predict and output geo data corresponding to the input IP address, and also to predict and output an IP address corresponding to the input geo data.

[0054] Furthermore, since IP addresses may be changed or added daily, in order to more accurately predict geodata corresponding to IP addresses (and vice versa), the fine-tuning unit 205 needs to continue fine-tuning the natural language model 241 using correct data pairs, i.e., re-learning. Therefore, for example, the fine-tuning unit 205 generates correct data pairs for any user from the IP address database 220 and the geodata database 230, and continues fine-tuning the natural language model 241 using the correct data pairs. Alternatively or in addition to this, the fine-tuning unit 205 may continue fine-tuning the natural language model 241 using trajectory sequences including correct data pairs. This makes it possible to quickly track even when IP addresses corresponding to location data change dynamically.

[0055] The prediction unit 206 predicts geodata corresponding to a target IP address from an IP address for predicting location information (hereinafter referred to as a target IP address) using the natural language model 241 fine-tuned by the fine-tuning unit 205. Specifically, the prediction unit 206 inputs the target IP address acquired from an arbitrary user device via the data acquisition unit 201 to the natural language model 241. The natural language model 241 outputs location information corresponding to the target IP address, and the prediction unit 206 predicts the output location information as location information corresponding to the target IP address.

[0056] Furthermore, the prediction unit 206 may predict an IP address corresponding to location data of a target from location data for predicting an IP address (hereinafter referred to as target location data) using the natural language model 241 fine-tuned by the fine-tuning unit 205. Specifically, the encoding unit 202 first encodes the target location data acquired from an arbitrary user device via the data acquisition unit 201 into geo data. Then, the prediction unit 206 inputs the geo data into the natural language model 241. The natural language model 241 outputs an IP address corresponding to the geo data, and the prediction unit 206 predicts the output IP address as the IP address corresponding to the target location data.

[0057] Furthermore, the prediction unit 206 may predict an IP address corresponding to target geo data from geo data for predicting an IP address (hereinafter referred to as target geo data) using the natural language model 241 fine-tuned by the fine-tuning unit 205. Specifically, the prediction unit 206 inputs the target geo data into the natural language model 241. The natural language model 241 outputs an IP address corresponding to the target geo data, and the prediction unit 206 predicts the output IP address as the IP address corresponding to the target geo data.

[0058] [Processing flow] Fig. 6 shows a flowchart of the learning process executed by the information processing device 10. Here, with reference to Fig. 1, the interaction between the information processing device 10 and the user device 11 will be described, but the same explanation can be applied to the interaction between the information processing device 10 and another user device. The process shown in Fig. 6 is performed after the user device 11 is assigned an IP address to be used for communication and acquires location data of the user device 11 by the positioning unit.

[0059] In S61, the data acquiring unit 201 acquires an IP address and location data (in this embodiment, data including latitude and longitude) from the user device 11. The IP address and location data are associated with the user ID of the user device 11. The IP address is assigned time information used by the user device 11 for communication, and the location data is assigned time information acquired by the user device 11. The data acquiring unit 201 stores the acquired location data in the location data database 210, and stores the acquired IP address in the IP address database 220.

[0060] In S62, the encoding unit 202 encodes (converts) the location data stored in the location data database 210 into geo data consisting of character strings. As described with reference to Figures 3A and 3B, the encoding unit 202 encodes the location data into geo data assigned to an area that includes the location indicated by the location data.

[0061] In S63, the tokenization unit 203 generates one or more IP addresses and geo data associated with the user ID of the user device 11 by tokenizing consecutive data acquired from the IP address database 220 and the geo data database 230, respectively. Then, the tokenization unit 203 uses the generated one or more IP addresses and geo data to generate a trajectory sequence representing the movement characteristics of the user device 11. As described with reference to FIG. 4B , an example of a trajectory sequence is a sequence in which IP addresses and geo data with time information of the same time period are arranged in order, and represents the transition of changes in the IP address and the transition of changes in the geo data as the movement characteristics of the user device 11.

[0062] In S64, the pre-training unit 204 pre-trains the natural language model 241 using the trajectory sequence generated by the tokenization unit 203. The pre-training unit 204 may pre-train the natural language model 241 using a large number of trajectory sequences generated using data acquired from a large number of user devices other than the user device 11. The pre-training unit 204 stores the pre-trained natural language model 241 in the training model storage unit 240.

[0063] In S65, the fine tuning unit 205 fine-tunes the natural language model 241 pre-trained by the pre-training unit 204. The fine tuning unit 205 generates a supervised data pair consisting of an IP address of an arbitrary user and geo data corresponding to the IP address from the IP address database 220 and the geo data database 230. The fine tuning unit 205 then inputs each of the supervised data pairs into the natural language model 241 to generate an IP address feature vector and a geo data feature vector, and fine-tunes the natural language model 241 so as to minimize the distance between the two feature vectors in a common vector space. The fine tuning unit 205 stores the fine-tuned natural language model 241 in the learning model storage unit 240. The fine tuning unit 205 may periodically and continuously fine-tune the natural language model 241, and store the fine-tuned natural language model 241 in the learning model storage unit 240 each time. The fine tuning unit 205 may continue to fine tune the natural language model 241 using the correct data pairs or trajectory sequences containing correct data pairs.

[0064] FIG. 7 shows a flowchart of a location information or IP address prediction process executed by the information processing device 10. Here, with reference to FIG. 1, the process will be described as an interaction between the information processing device 10 and the user device 11, but a similar description can be applied to an interaction between the information processing device 10 and another user device. The process shown in FIG. 7 is performed after the fine-tuned natural language model 241 is stored in the learning model storage unit 240. In S71, the data acquisition unit 201 acquires, from the user device 11, a target IP address for predicting location information or target location data for predicting an IP address. If the target IP address has been acquired, the process proceeds to S72; if the target location data has been acquired, the process proceeds to S73.

[0065] When the data acquisition unit 201 acquires a target IP address, in S72, the prediction unit 206 inputs the target IP address into the natural language model 241 to predict geo data corresponding to the target IP address. That is, the prediction unit 206 predicts that the geo data output by inputting the target IP address into the natural language model 241 is the geo data corresponding to the target IP address. The prediction unit 206 may use the predicted geo data as location information corresponding to the IP address to provide a service, or may output the predicted geo data to an external device. For example, the information processing device 10 may provide a web service based on the location information to the user device 11. Similarly, the external device that acquired the location information may provide a web service based on the location information to the user device 11.

[0066] On the other hand, when the data acquisition unit 201 acquires the target location data, in S73 the encoding unit 202 generates geo data by encoding the target location data. In S74, the prediction unit 206 inputs the geo data into the natural language model 241 to predict an IP address corresponding to the geo data. That is, the prediction unit 206 predicts that the IP address output by inputting the geo data into the natural language model 241 is the IP address corresponding to the geo data. The prediction unit 206 may use the predicted IP address to perform a predetermined process or may output it to an external device.

[0067] As described above, the information processing device 10 according to the present embodiment trains (pre-trains and fine-tunes) the natural language model 241 using a trajectory sequence generated from location information (area information) based on the IP address of the user device and location data (coordinate data indicating the location of the user device in a predetermined coordinate system). The information processing device 10 can then predict location information corresponding to an arbitrary IP address using the trained natural language model 241. Conversely, the information processing device 10 can also predict an IP address corresponding to arbitrary location data using the trained natural language model 241. Because IP addresses assigned to user devices are subject to change, the information processing device 10 continues to train the natural language model 241 using correct answer data, thereby updating the relationship between IP addresses and location information based on location data and enabling highly accurate prediction processing.

[0068] Furthermore, the information processing device 10 according to this embodiment identifies IP addresses and location information as tokens from a database of IP addresses of user devices and a database of location information based on location data, and generates a trajectory sequence for training the natural language model 241. Although the IP addresses and location information have different language formats, the information processing device 10 can appropriately separate each token according to each language format and generate a trajectory sequence that is training data suitable for training the natural language model 241.

[0069] Furthermore, the information processing device 10 according to this embodiment can predict the location information of the user device 11 from the IP address without acquiring GPS location data from the user device 11. Therefore, the user device 11 can enjoy services based on the location of the user device 11 even with the GPS function deactivated, leading to energy savings for the user device 11. Furthermore, GPS location data includes latitude and longitude data and is updated frequently in response to the movement of the user device 11, whereas the IP address has a smaller data volume than GPS location data and is updated less frequently in response to the movement of the user device 11. Therefore, the information processing device 10 can predict location information of a size sufficient to provide web services (a size expressed by Geohash6 in this embodiment) using location data that is small in data volume and updated less frequently. Furthermore, the processing load for predicting location information can be reduced, and processing efficiency can be improved.

[0070] [Hardware configuration of information processing device] A description will now be given of an example of the hardware configuration of the information processing device 10. Fig. 8 is a block diagram showing an example of the hardware configuration of the information processing device 10 according to this embodiment. The information processing device 10 according to this embodiment can be implemented on a single or multiple computers, mobile devices, or any other processing platform. 8, an example in which the information processing device 10 is implemented in a single computer is shown, but the information processing device 10 according to this embodiment may be implemented in a computer system including multiple computers. The multiple computers may be connected to each other via a wired or wireless network so that they can communicate with each other.

[0071] 8, the information processing device 10 may include a CPU (Central Processing Unit) 801, a ROM (Read Only Memory) 802, a RAM (Random Access Memory) 803, a HDD (Hard Disk Drive) 804, an input unit 805, a display unit 806, a communication I / F (communication unit) (interface) 807, and a system bus 808. The information processing device 10 may also include an external memory. The CPU 801 controls the overall operation of the information processing device 10, and controls each component (802 to 807) via a system bus 808, which is a data transmission path.

[0072] The ROM 802 is a non-volatile memory that stores a control program and the like required for the CPU 801 to execute processing. The program includes instructions (code) for executing the processing according to the above-described embodiment. The program may be stored in a non-volatile memory such as the HDD 804 or an SSD (Solid State Drive), or in an external memory such as a removable storage medium (not shown). The RAM 803 is a volatile memory and functions as the main memory, work area, etc. of the CPU 801. That is, when executing a process, the CPU 801 loads necessary programs, etc. from the ROM 802 into the RAM 803 and executes the programs, etc. to realize various functional operations. The RAM 803 may include the location data database 210, IP address database 220, geodata database 230, and learning model storage unit 240 shown in FIG. 2.

[0073] The HDD 804 stores, for example, various data and information required when the CPU 801 performs processing using a program. The HDD 804 also stores, for example, various data and information obtained when the CPU 801 performs processing using a program. The input unit 805 is composed of a keyboard and a pointing device such as a mouse. The display unit 806 is configured by a monitor such as a liquid crystal display (LCD), etc. The display unit 806 may be configured in combination with the input unit 805 to function as a GUI (Graphical User Interface).

[0074] The communication I / F 807 is an interface that controls communication between the information processing device 10 and an external device. The communication I / F 807 provides an interface with a network and executes communication with the external device via the network. Various data, parameters, and the like are transmitted and received between the information processing device 10 and the external device via the communication I / F 807. In this embodiment, the communication I / F 807 may execute communication via a wired LAN (Local Area Network) or a dedicated line that conforms to a communication standard such as Ethernet (registered trademark). However, the network that can be used in this embodiment is not limited to this and may be configured as a wireless network. This wireless network includes wireless PANs (Personal Area Networks) such as Bluetooth (registered trademark), ZigBee (registered trademark), and UWB (Ultra Wide Band). It also includes wireless LANs (Local Area Networks) such as Wi-Fi (Wireless Fidelity) (registered trademark) and wireless MANs (Metropolitan Area Networks) such as WiMAX (registered trademark). It also includes wireless WANs (Wide Area Networks) such as 4G and 5G. The network may be any network that connects devices to each other so that they can communicate with each other, and the communication standard, scale, and configuration are not limited to those described above.

[0075] At least some of the functions of each element of the information processing device 10 shown in Fig. 2 can be realized by the CPU 801 executing a program. However, at least some of the functions of each element of the information processing device 10 shown in Fig. 2 may be configured to operate as dedicated hardware. In this case, the dedicated hardware operates under the control of the CPU 801.

[0076] The disclosure of this embodiment includes the following configuration. [1] An information processing device having: a generation unit that generates a trajectory sequence of a user device, the trajectory sequence including one or more IP addresses of the moving user device and one or more location information representing an area including the location of the user device; an acquisition unit that acquires the IP address of a target user device as a target IP address; and a prediction unit that predicts location information corresponding to the target IP address by inputting the target IP address into a learning model for machine learning that has learned the correspondence between IP addresses and location information using the trajectory sequence.

[0077] [2] The information processing device described in [1], wherein the generation unit generates the one or more position information of the user device by encoding coordinate data indicating the position of the user device in a predetermined coordinate system into position information assigned to an area including the position.

[0078] [3] The information processing device according to [1] or [2], wherein the location information is a Geohash of a predetermined number of digits.

[0079] [4] The information processing device according to any one of [1] to [3], wherein the size of the area is a size expressed in Geohash of a predetermined number of digits.

[0080] [5] The information processing device according to any one of [2] to [4], wherein the coordinate data includes latitude and longitude.

[0081] [6] An information processing device according to any one of [2] to [5], wherein the one or more IP addresses are assigned time information indicating the time when they were used by the user device, and the one or more location information are assigned time information indicating the time when they were obtained by the user device, and the generation unit generates the trajectory sequence by arranging the IP addresses of the user devices and the location information of the user devices in order according to the IP addresses of the user devices and the time information assigned to the user devices.

[0082] [7] An information processing device described in any of [1] to [6], wherein the generation unit generates the one or more IP addresses by tokenizing consecutive IP addresses obtained from the user device.

[0083] [8] An information processing device according to any one of [1] to [7], further comprising a learning unit for training the learning model, wherein the generation unit generates correct answer data including a reference IP address and reference location information which is location information corresponding to the reference IP address, and the learning unit pre-trains the learning model by masking one or more of the one or more IP addresses and one or more location information in the trajectory sequence and predicting the masked parts, and fine-tuning the pre-trained learning model using the correct answer data, thereby training the learning model.

[0084] [9] The information processing device described in [8], wherein the learning unit periodically fine-tunes the pre-trained learning model using the correct answer data.

[0085]

[10] The information processing device described in [1] to [9], wherein the acquisition unit acquires location information of a target user device as target location information, and the prediction unit predicts an IP address corresponding to the target location information by inputting the target location information into the learning model that has been trained. [Explanation of symbols]

[0086] 1: Information processing system, 10: Information processing device, 11: User device, 12: Network, 13: User, 201: Data acquisition unit, 202: Encoding unit, 203: Tokenization unit, 204: Pre-learning unit, 205: Fine tuning unit, 206: Prediction unit, 210: Location data database, 220: IP address database, 230: Geodata database, 240: Learning model storage unit, 241: Natural language model

Claims

1. a generating unit configured to generate a trajectory sequence of a moving user device, the trajectory sequence including one or more IP addresses of the user device and one or more pieces of location information representing an area including a location of the user device; an acquisition unit that acquires an IP address of a target user device as a target IP address; a prediction unit that predicts location information corresponding to the target IP address by inputting the target IP address into a learning model for machine learning that has learned a correspondence relationship between IP addresses and location information using the trajectory sequence; An information processing device having the above.

2. The information processing device according to claim 1 , wherein the generation unit generates the one or more position information of the user device by encoding coordinate data indicating the position of the user device in a predetermined coordinate system into position information assigned to an area including the position.

3. The information processing device according to claim 2 , wherein the location information is a Geohash of a predetermined number of digits.

4. The information processing device according to claim 2 , wherein the size of the area is a size expressed by Geohash of a predetermined number of digits.

5. The information processing apparatus according to claim 2 , wherein the coordinate data includes latitude and longitude.

6. the one or more IP addresses are assigned time information indicating the time when they were used by the user device, and the one or more pieces of location information are assigned time information indicating the time when they were acquired by the user device; the generation unit generates the trajectory sequence by arranging the IP addresses of the user devices and the location information of the user devices in order according to the IP addresses of the user devices and time information assigned to the user devices. The information processing device according to claim 2 .

7. The information processing device according to claim 1 , wherein the generating unit generates the one or more IP addresses by tokenizing consecutive IP addresses acquired from the user device.

8. Further comprising a learning unit that learns the learning model, the generation unit generates correct answer data including a reference IP address and reference location information that is location information corresponding to the reference IP address; The learning unit masking one or more of one or more IP addresses and one or more pieces of location information in the trajectory sequence, and pre-training the learning model to predict the masked parts; Fine-tuning the pre-trained learning model using the ground truth data; The learning model is trained by The information processing device according to claim 1 .

9. The information processing device according to claim 8 , wherein the learning unit periodically fine-tunes the pre-trained learning model using the correct answer data.

10. The acquisition unit acquires location information of a target user device as the target location information, The information processing device according to claim 1 , wherein the prediction unit predicts an IP address corresponding to the location information of the target by inputting the location information of the target into the learning model that has been trained.

11. An information processing method executed by an information processing device, generating a trajectory sequence of the moving user device, the trajectory sequence including one or more IP addresses of the user device and one or more location information representing an area including a location of the user device; Obtaining an IP address of the target user device as a target IP address; predicting location information corresponding to the IP address of the target by inputting the IP address of the target into a learning model for machine learning that has learned a correspondence relationship between IP addresses and location information using the trajectory sequence; An information processing method, including:

12. An information processing program for causing a computer to execute information processing, the program including: a generation process for generating a trajectory sequence of a moving user device, the trajectory sequence including one or more IP addresses of the user device and one or more location information representing an area including the location of the user device; an acquisition process for acquiring an IP address of a target user device as a target IP address; a prediction process of predicting location information corresponding to the IP address of the target by inputting the IP address of the target into a learning model for machine learning that has learned a correspondence relationship between IP addresses and location information using the trajectory sequence, Information processing program.

Citation Information

Patent Citations

  • Information processing device, information processing method, and program

    JP2022172572A