Mobile network user grouping

By applying word embedding and NLP models to mobile network transaction data, the method effectively identifies user groupings, overcoming data volume and noise challenges to uncover social connections.

JP7769449B2Active Publication Date: 2025-11-13INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2022530932
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-12-11
Filing Date
2020-12-03
Publication Date
2025-11-13
Estimated Expiration
2040-12-03

AI Technical Summary

Technical Problem

Conventional methods struggle to efficiently identify social groupings of mobile network users due to the high volume and noise in transaction data records, requiring significant computational resources and time.

Method used

Employing word embedding models like word2vec and natural language processing (NLP) algorithms to analyze transaction data records, leveraging International Mobile Subscriber Identity (IMSI), timestamps, and cell identifiers to identify user co-occurrences and relationships.

Benefits of technology

Enhances the accuracy of identifying user groupings by mitigating noise and spurious events, providing valuable insights into social connections and relationships within mobile networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007769449000001
    Figure 0007769449000001
  • Figure 0007769449000002
    Figure 0007769449000002
  • Figure 0007769449000003
    Figure 0007769449000003
Patent Text Reader

Abstract

Identifying groupings of individual users of a mobile network. In particular, some embodiments are configured to obtain transaction data records from one or more mobile network providers. User groupings may be identified by applying word embeddings to capture association patterns in the data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of mobile networks, and more particularly to identifying groupings of individual users of a mobile network. [Background technology]

[0002] Natural language processing (NLP) is known. As of December 3, 2019, the Wikipedia entry for "Natural Language Processing" states: "Natural language processing (NLP) is a subfield of linguistics, computer science, information engineering, and artificial intelligence that deals with the interaction between computers and human (natural) language, in particular how computers can be programmed to process and analyze large amounts of natural language data. Problems in NLP often include speech recognition, natural language understanding, and natural language generation."

[0003] The term "International Mobile Subscriber Identity" (IMSI) is well known. As of December 3, 2019, the Wikipedia entry for "International Mobile Subscriber Identity" states: "The International Mobile Subscriber Identity, or IMSI... is a number that uniquely identifies every user of a cellular network. It is stored as a 64-bit field and transmitted by the mobile device to the network. It is also used to obtain other mobile details in the Home Location Register (HLR) or to be copied locally in the Visitor Location Register. To prevent eavesdroppers from identifying and tracking subscribers over the air interface, the IMSI is transmitted as infrequently as possible; instead, a randomly generated TMSI is transmitted.... The IMSI is usually displayed as a 15-digit number, but it can be shorter.... The length of the [Mobile Network Code] MNC depends on the value of the [Mobile Country Code] MCC, and it is recommended that it be uniform in length within the MCC area. The remaining digits are the Mobile Subscription Identification Number (MSIN) within the network's customer base and are typically 9 to 10 digits long, depending on the length of the MNC. The IMSI conforms to the ITU E.212 numbering standard."

[0004] The term "word2vec" is well known. As of December 4, 2019, the Wikipedia entry for "word2vec" states: "Word2vec is a group of related models used to generate word embeddings. These models are shallow, two-layer neural networks trained to reconstruct the linguistic context of words. Word2vec takes a large corpus of text as input and generates a vector space, typically hundreds of dimensions, where each unique word in the corpus is assigned a corresponding vector in the space. The word vectors are arranged in the vector space such that words that share a common context in the corpus are placed near each other in the space." Summary of the Invention

[0005]

[0010] Embodiments of the present invention provide a method for identifying groupings of individual users of a mobile network. Such a method is computer-implemented. Embodiments of the present invention further provide a computer program product comprising computer program code for implementing the proposed method when executed on a processor. Embodiments of the present invention further provide a system adapted to run this computer program code.

[0006] An embodiment of the present invention further provides a system for identifying groupings of individual users of a mobile network. According to one embodiment of the present invention, a method for identifying groupings of individual users of a mobile network is provided. The method includes obtaining transaction data records from one or more mobile network providers of a mobile network. The method also includes identifying a plurality of user occurrences based on the obtained transaction data records, each user occurrence representing an associated user occurrence at a time and location within the mobile network. The method also includes applying word embeddings to the plurality of user occurrences to generate a word embedding model that maps the plurality of user occurrences to words of a vocabulary. The method further includes processing the word embedding model with a natural language processing (NLP) algorithm to identify relationships between different users of the mobile network.

[0007] What is proposed is a concept for identifying groupings (e.g., social groups, shared interest groups, etc.) of users of a mobile communication network by associated device usage at several different times and places. Some embodiments of the present invention leverage data traditionally collected by mobile network providers as a source of information for identifying the groupings.

[0008] By way of example, identification of user groupings can be based on data related to mobile network usage. In particular, the International Mobile Subscriber Identity (IMSI), timestamps of interactions between the network and the mobile device, and identifiers of the network's unit cell used for connectivity can be applied as important sources of information for identifying relationships between different users of a mobile network. For example, using these data variables, embodiments can be provided with sufficient information to associate an IMSI with a corresponding subscriber and with a particular location during a particular time frame. After such associations are made, co-occurrences can be determined and analyzed to identify affinities between users and / or locations.

[0009] Some embodiments leverage the widespread availability and use of mobile computing devices with mobile network connectivity (e.g., smartphones, tablets, smartwatches, laptop computers, etc.) to obtain or access large amounts of information that can be used to identify and verify relationships between users.

[0010] Embodiments address the problem that conventional approaches must process a very large number of IMSIs and cell IDs (generating many possible co-occurrences). In particular, some embodiments apply word embedding models, such as the known word2vec or Glove models, to associate the occurrence of identified users caused by simultaneous activations of mobiles within a particular cell at a given time. Also, some embodiments employ natural language processing (NLP) models for word embedding designed to work with large corpora of text and large dictionaries of words. Thus, some embodiments utilize processing well-suited to capturing association patterns from big data variables generated by mobile network providers.

[0011] Some embodiments of the present invention address the problem of high levels of noise and spurious events in large volumes of transaction data records (TDRs) from mobile network providers to identify social groups by building clusters of mobile network subscribers, which can be done based on spatial and temporal co-occurrence criteria.

[0012] The widespread proliferation of mobile networks provides large datasets from which information can be extracted. However, the dimensionality of the data makes it difficult to identify social connections between users. In some embodiments, employing word embedding techniques on the dataset provides an improved approach that can potentially provide valuable information about user groupings and / or relationships.

[0013] In some embodiments, identifying multiple user-occurrences further includes identifying co-occurrences of the user-occurrences with respect to time or location, and training at least one of a word embedding and an NLP algorithm based on the identified co-occurrences of the user-occurrences. Thus, embodiments apply learning techniques to improve the accuracy of the determination.

[0014] The transaction data record includes data regarding the International Mobile Subscriber Identity (IMSI) associated with the transaction, the time of the transaction, and an identifier for the mobile network unit cell. In this manner, embodiments leverage data readily available through mobile network providers, thus mitigating the need to generate new or proprietary information, or both.

[0015] In some embodiments, applying word embeddings includes applying a word-to-vector (word2vec) model to generate word embeddings, which help create a low-dimensional representation of the IMSIs that includes information about their relationships.

[0016] In some embodiments, processing the word embedding models with an NLP algorithm includes, for each of a plurality of subsets of the word embedding models, applying a negative sampling algorithm to the subset of the word embedding models to determine weights for the user occurrences. Further, processing the word embedding models with an NLP algorithm includes determining a vector for each user occurrence based on the determined weights.

[0017] Applying word embedding involves training a word embedding model using a Continuous Bag of Words (CBOW) with multiple IMSIs, which helps the training to capture one or more relationships between IMSIs.

[0018] According to another embodiment of the present invention, there is provided a computer program product for identifying groupings of individual users of a mobile network, the computer program product comprising a computer-readable storage medium having program instructions embodied therein, the program instructions being executable by a processing unit when executed on at least one processor of a data processing system to cause the processing unit to perform a method according to one or more embodiments.

[0019] According to yet another embodiment, there is provided a processing system including at least one processor and a computer program product according to one or more embodiments, wherein the at least one processor is adapted to execute computer program code of said computer program product.

[0020] According to another embodiment of the present invention, there is provided a system for identifying groupings of individual users of a mobile network. The system includes an interface component configured to retrieve transaction data records from one or more mobile network providers of the mobile network. The system also includes a data analysis component configured to identify a plurality of user occurrences based on the retrieved transaction data records, each user occurrence representing an associated user occurrence at a time and location within the mobile network. The system also includes a word embedding component configured to apply word embeddings to the plurality of user occurrences to generate a word embedding model that maps the plurality of user occurrences to words of a vocabulary. The system further includes a processing unit configured to process the word embedding model using an NLP algorithm to identify relationships between different users of the mobile network.

[0021] Some embodiments may be applied in conjunction with existing and / or legacy mobile networks. For example, a mobile network may be provided that includes a system according to the proposed embodiments. Alternatively, some embodiments may be implemented in a server device, such as a cloud-based server resource accessible via the Internet.

[0022] According to one aspect, a computer-implemented method is provided that includes obtaining transaction data records from one or more mobile network providers of a mobile network; identifying a plurality of user occurrences based on the obtained transaction data records, each user occurrence representing an occurrence of an associated user at a time and location within the mobile network; applying word embeddings to the plurality of user occurrences to generate a word embedding model that maps the plurality of user occurrences to words of a vocabulary; and processing the word embedding model with a natural language processing (NLP) algorithm to identify relationships between different users of the mobile network.

[0023] According to another aspect, there is provided a computer program product comprising a machine-readable storage device and computer code stored on the machine-readable storage device, the computer code comprising instructions and data to cause a processor set to perform operations including obtaining transaction data records from one or more mobile network providers of a mobile network; identifying a plurality of user occurrences based on the obtained transaction data records, each user occurrence representing an occurrence of an associated user at a time and location within the mobile network; applying word embeddings to the plurality of user occurrences to generate a word embedding model that maps the plurality of user occurrences to words of a vocabulary; and processing the word embedding model with a natural language processing (NLP) algorithm to identify relationships between different users of the mobile network.

[0024] According to another aspect, there is provided a system comprising: an interface component configured to retrieve transaction data records from one or more mobile network providers of a mobile network; a data analysis component configured to identify a plurality of user occurrences based on the retrieved transaction data records, each user occurrence representing an occurrence of an associated user at a time and location within the mobile network; a word embedding component configured to apply word embeddings to the plurality of user occurrences to generate a word embedding model that maps the plurality of user occurrences to words of a vocabulary; and a processing unit configured to process the word embedding model using a natural language processing (NLP) algorithm to identify relationships between different users of the mobile network.

[0025] Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which: [Brief explanation of the drawings]

[0026] [Figure 1] 1 is a diagram of an exemplary distributed system in which aspects of the exemplary embodiments may be implemented; [Figure 2] 1 is a schematic diagram of a distributed communication system according to one embodiment of the present invention. [Figure 3] FIG. 1 is a flow diagram illustrating the steps involved in creating an input dataset onto which a word2vec model can be applied, according to some embodiments of the present invention. [Figure 4] FIG. 1 is a block diagram of a system according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0027] Some embodiments of the present invention are directed to identifying groupings of individual users of a mobile network. In particular, some embodiments of the present invention are configured to obtain transaction data records from one or more mobile network providers. Additionally, user groupings may be identified by applying word embeddings to capture association patterns in the data.

[0028] It should be understood that the figures are schematic only and are not drawn to scale, and that the same reference numerals are used throughout the figures to indicate the same or similar parts.

[0029] In the context of this application where embodiments of the invention constitute methods, it should be understood that such methods may be processes for execution by a computer, i.e., computer-implementable methods, and thus various steps of a method may reflect various portions of a computer program, such as, for example, various portions of one or more algorithms.

[0030] Also, in the context of the present invention, a system may be a single device or a collection of distributed devices adapted to perform one or more embodiments of the method of the present invention. For example, a system may be a collection of personal computers (PCs), servers, or PCs and / or servers connected via a network, such as a local area network or the Internet, that cooperatively perform at least one embodiment of the method of the present invention. Furthermore, a component may be an integrated flow executed by one or more processing units.

[0031] Some embodiments of the present invention recognize the following facts, which are potential problems and / or potential areas for improvement with respect to the current state of the art: (i) identifying groupings of people is a common desire (e.g., for marketing purposes); (ii) traditional approaches to grouping people typically require a significant amount of time and / or computational resources; (iii) recent technological revolutions with the proliferation of mobile smartphones and Internet of Things (IoT) systems have created unprecedented amounts of available data, offering the potential to analyze even greater details of human social interactions; (iv) user interactions with technological systems can generate large datasets documenting the collective behavior of users; or (v) while the amount of datasets (and therefore available information) has increased, so too has the level of noise and spurious events, or a combination thereof.

[0032] In some embodiments, the mobile network includes a mobile network communication system including a plurality of servers and a number of client (mobile) computing devices connected to the server via communication links provided by the mobile network. Each client (mobile) computing device may be associated with a particular user and configured to communicate over the network with a mobile network provider that enables communication with other client (mobile) computing devices. Each client (mobile) computing device may be assigned an International Mobile Subscriber Identity that is unique to the device, the associated user, or both.

[0033] Embodiments are presented below for identifying groupings of individual users of a mobile network. Such embodiments are applied to identify relationships or associations between users of a mobile network. This is particularly useful for overcoming noise and spurious events in large volumes of transaction data records (TDRs) from mobile network providers. In particular, the application of word embeddings to identify user occurrences is employed by some embodiments.

[0034] For example, some embodiments are configured to identify social groups of users based on their associated device activations at different times and in several locations. Such embodiments leverage TDRs collected by mobile network providers as a source of data. Identification of the groupings may be based on associated data regarding mobile network usage. In particular, embodiments use information regarding the International Mobile Subscriber Identity (IMSI), timestamps of interactions between the network and the mobile device, and identifiers of the network's unit cell used to connect. Such data may be used to associate the IMSI with user appearances on the mobile network.

[0035] By way of example, some embodiments utilize word2vec machine learning generalization capabilities to determine user relationships within a mobile communications network by constructing a training dataset representing user co-occurrences using TDRs available within the network.

[0036] 1 is an illustration of an exemplary distributed system in which aspects of the exemplary embodiments may be implemented. Distributed system 100 may include a network of computers in which aspects of the exemplary embodiments may be implemented. Distributed system 100 includes at least one mobile network 102, which is the medium used to provide communications links between various mobile devices and computers connected together in distributed data processing system 100. Network 102 may include connections such as wires, wireless communications links, or fiber optic cables.

[0037] In the illustrated example, a first server 104 and a second server 106 are connected to the network 102 along with a storage unit 108. In addition, clients 110, 112, and 114 are also connected to the network 102. The clients 110, 112, and 114 may be, for example, personal computers, network computers, edge devices such as IoT devices, etc. In the illustrated example, the first server 104 provides data such as boot files, operating system images, and applications to the clients 110, 112, and 114. The clients 110, 112, and 114 are clients to the first server 104 in the illustrated example. The distributed processing system 100 may include additional servers, clients, and other devices not shown.

[0038] In the depicted example, distributed system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol / Internet Protocol (TCP / IP) suite of protocols to communicate with each other. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, comprised of thousands of commercial, government, educational, and other computer systems that route data and messages. Of course, distributed system 100 may also be implemented to include several different types of networks, such as, for example, an intranet, a local area network (LAN), a wide area network (WAN), etc. As noted above, FIG. 1 is intended as an example, and not as an architectural limitation for different embodiments of the present invention, and thus the specific elements illustrated in FIG. 1 should not be considered limiting with regard to the environments in which illustrative embodiments of the present invention may be implemented.

[0039] Those skilled in the art will appreciate that the hardware in Figure 1 may vary depending on the implementation, and the processes of the exemplary embodiments may be applied to multiprocessor data processing systems other than those described above without departing from the scope of the present invention.

[0040] Additionally, embodiments may take the form of any of a number of different data processing systems, including a client computing device, a server computing device, a tablet computer, a laptop computer, a telephone or other communications device, a personal digital assistant (PDA), etc. In some illustrative examples, a system according to an embodiment may be a portable computing device configured with flash memory to provide non-volatile memory for storing, for example, operating system files and / or user-generated data. Thus, a system according to proposed embodiments may be essentially any known or later-developed data processing system without architectural limitations.

[0041] The proposed embodiment provides a method and system for identifying associations between individual users of a mobile network. By way of further explanation, the proposed embodiment of the system 300 will now be described in the context of a distributed communications system including multiple users 3101, 3102 and multiple network providers 3301, 3302.

[0042] 2, a schematic diagram of a distributed communication system according to one embodiment is shown. The communication system includes a system 300 for identifying associations between individual users of a mobile network according to one embodiment.

[0043] In this example, first client 3101 and second client 3102 are configured to communicate with first network provider 3301 and second network provider 3302 over network 335. First network provider 3301 and second network provider 3302 maintain transaction data records in database 355 accessible over network 335. By way of example, each transaction data record stored in the database comprises data regarding the IMSI associated with each transaction, the time of the transaction, and an identifier for a unit cell of the mobile network.

[0044] The system 300 includes an interface component 320 configured to retrieve TDRs from one or more of the network providers. In this example, retrieving the TDRs from the network providers includes accessing the TDRs associated with the network providers in a database 355.

[0045] The system 300 also includes a data analysis component 322. The data analysis component 322 is configured to identify a plurality of user occurrences based on the acquired transaction data records, where each user occurrence represents an occurrence of an associated user at a time and place within the mobile network, i.e., a user occurrence in the TDR is an interaction between a device and the mobile network.

[0046] 2, the data analysis component 322 includes an identification component 324 configured to identify co-occurrences of user-occurrences with respect to time or location. The data analysis component 322 also includes a training component 325 configured to train at least one of a word embedding and an NLP algorithm based on the identified co-occurrences of user-occurrences.

[0047] The system 300 also includes a word embedding component 326 configured to apply word embeddings to the plurality of user occurrences to generate a word embedding model that maps the plurality of user occurrences to words in the vocabulary. By way of example, the word embedding component 326 is configured to apply a word2vec model to generate the word embeddings. The word embedding component 326 is also configured to train the word embedding model using a CBOW with the plurality of IMSIs.

[0048] System 300 also includes a processing unit 328. Processing unit 328 is configured to process the word embedding models using a natural language processing (NLP) algorithm to identify relationships between different users of the mobile network. Specifically, in this example, processing unit 328 is configured to, for each of a plurality of subsets of the word embedding models, apply a negative sampling algorithm to the subset of the word embedding models to determine weight values ​​for the user occurrences. Then, based on the determined weight values, processing unit 328 determines a vector for each user occurrence.

[0049] As a further explanation and illustration of the proposed concepts, an exemplary implementation of the method according to the embodiment may include the following three basic steps. (i) Create two data table inputs to build a word2vec model using a set of database operations from the acquired TDR. The first of these two tables contains a list of IMSI sequences, and the second contains the distribution of record counts for each IMSI in the TDR. The first table corresponds to a corpus of sentences in the NLP problem, and the second table corresponds to the distribution of word occurrences in the corpus. As an example, Figure 3 shows the steps involved in creating an input dataset on which a word2vec model can be applied. Here, it may be desirable to join the TDR table with a subset of IMSIs selected from customer relationship management records typically maintained by network providers. However, there are no restrictions on the data tables that can be used. In practice, some IMSIs present in the TDR may not be useful, so it may be desirable to use a CRM. (ii) Train a word embedding model using CBOW and negative sampling. (iii) If one IMSI is provided, calculate the list of the remaining most similar IMSIs by calculating all the cosine similarities between the given IMSI and other IMSIs.

[0050] After completing the three steps (i)-(iii) above, we can identify subscribers who spend more time in a given location, but we cannot identify association patterns associated with a specific location. This is done by applying small variations to word2vec (e.g., "doc2vec"). The results of the variations are fed into a model configured to learn document vector representations. Thus, by considering cell IDs as paragraph indicators (from an NLP analogy), we can obtain labels / centers that can adjust similarity calculations, predict closest person-place affinities, and build association clusters for social group identification.

[0051] Therefore, the steps can be summarized as follows: (A) The process described in steps (i)-(iii) above is performed in a similar way, except that at the end a unique identifier is created from the cell and time labels. In particular, the day of the week and the period of that day labels are appended to the cell ID (following the usual string concatenation). This new label can be a doc2vec paragraph indicator. (B) A word embedding model is trained by adding location IDs to the CBOW described in step (ii) above. (C) Given one IMSI, calculate the list of most similar IMSIs in the network. However, this time the location and period of the day ID are added to get a location- and time-related list.

[0052] From the above description, it will be appreciated that the proposed embodiments may be configured to provide enhanced functionality in relation to mobile networks by identifying social groupings of people. In particular, the embodiments may be configured to monitor (user-associated) device activations at different locations and different times, which may be done using Time Domain Recognition (TDR) data from mobile network providers. Such TDR data may include, for example, IMSI, timestamps, and unit cell identifiers. User groupings may be identified by applying a word embedding model (e.g., word2vec) to capture association patterns in the data.

[0053] Some embodiments identify relationships between users by exclusively discovering their interactions with the network by determining their co-occurrence (the occurrence of multiple IMSIs with a particular cell ID in a given time frame). Such co-occurrence can be identified based on data extracted from, for example, IMSI, cell ID, and timestamp. This co-occurrence information can then be used to train a word2vec model, which in turn can be used to determine similarity relationships between the trained model and the rest of the users of the network.

[0054] 3 illustrates a flow diagram 400 including steps involved in creating an input dataset on which a word2vec model can be applied, according to some embodiments of the present invention. More specifically, flow diagram 400 includes the following: CRM information storage module 402, selected IMSI 404, aggregated inner join IMSI 406, TDR table storage 408, IMSI aggregation 418, selected timestamp / location / IMSI 420, timestamp storage 422, time / location / IMSI aggregation 424, selected IMSI 426, data field storage 428, and event table storage 430.

[0055] Additionally, flow diagram 400 illustrates a method according to one embodiment of the present invention, which includes the following operations (not necessarily in the following order): (i) sorting the results in descending order (operation 410); (ii) normalizing the results based at least in part on the total number of records (operation 412); (iii) storing the results of the normalization in a PDF table (operation 414); and (iv) creating an embedded table (operation 416).

[0056] Figure 4 is a block diagram of a system according to one embodiment of the present invention. Figure 4 includes a computer system 70 that may form part of a networked system 7. For example, according to one embodiment, a data analysis component configured to identify multiple user occurrences based on acquired transaction data records may be implemented in the computer system 70 (e.g., as a processing unit 71). Components of the computer system / server 70 may include, but are not limited to, one or more processing configurations comprising, for example, a processor or processing unit 71, a system memory 74, and a bus 90 coupling various system components including the system memory 74 to the processing unit 71.

[0057] The system memory 74 may include computer system-readable media in the form of volatile memory, such as random access memory (RAM) 75 and / or cache memory 76. The system memory 74 also includes a storage system 77. The computer system / server 70 may further include other removable / non-removable, volatile / non-volatile computer system storage media. In such cases, each may be connected to the bus 90 by one or more data medium interfaces. The memory 74 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the proposed embodiments. For example, the memory 74 may include a computer program product having a program executable by the processing unit 71 to cause the input / output (I / O) interface 72 to perform a method for identifying groupings of individual users of a mobile network according to the proposed embodiments.

[0058] A program / utility 78 having a set (at least one) of program modules 79 may be stored in memory 74. The program modules 79 generally implement the functionality and / or methodology of the proposed embodiments for partial write operations to memory.

[0059] The computer system / server 70 may also communicate with one or more external devices 80, such as a keyboard, pointing device, display 85, etc., one or more devices that allow a user to interact with the computer system / server 70, or any device (e.g., network card, modem, etc.) that allows the computer system / server 70 to communicate with one or more other computing devices, or a combination thereof. Such communication may occur via an input / output (I / O) interface 72. Nevertheless, the computer system / server 70 may communicate with one or more networks, such as a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet), or a combination thereof, via a network adapter 73 (e.g., to communicate the determined optimal value of the DFWF to edge devices of the distributed network).

[0060] In the context of this application, where embodiments of the present invention constitute methods, it should be understood that such methods are processes for execution by a computer, i.e., computer-implementable methods, and thus the steps of the methods reflect various portions of a computer program, e.g., as part of one or more algorithms.

[0061] The present invention may be a system, a method, and / or a computer program product, which may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0062] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), storage class memory (SCM), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, punch cards or mechanically encoded devices such as raised structures in grooves with recorded instructions, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as being ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.

[0063] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may comprise copper transmission cables, optical fiber transmission cables, wireless transmission cables, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device.

[0064] The computer-readable program instructions for carrying out the operations of the present invention may be either source or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object code, including object-oriented programming languages ​​such as Smalltalk®, Python, C++, and traditional procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider).

[0065] In some embodiments, electronic circuitry including, for example, programmable logic circuitry, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.

[0066] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be embodied by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to generate a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams. These computer-readable program instructions can also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that a computer-readable storage medium having instructions stored thereon can comprise an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowchart illustrations and / or block diagrams.

[0067] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device perform the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.

[0068] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which comprises one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may be executed in the reverse order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.

[0069] The description of various embodiments of the present invention has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein have been selected to best explain the principles of the embodiments, practical applications or technical improvements to technology found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

[0070] Some useful definitions are provided below. While the present invention should not be considered as an absolute indication that the subject matter described by the term "the present invention" is covered by either the claims as filed or the claims that may ultimately be issued after patent prosecution, the term "the present invention" is used to help the reader gain a general sense that the disclosures herein are considered potentially new, but this understanding implied by the use of the term "the present invention" is temporary and provisional, and is subject to change during the course of patent prosecution as relevant information is developed and the claims are potentially revised. For embodiments, see the definition of "present invention" above. A similar caution applies to the term "embodiment." Or and / or is inclusive or, for example, A, B, "or" C, "or a combination thereof" means that at least one of A, B, or C is true and applicable. Including / Including / Including means "including but not necessarily limited to," unless otherwise expressly stated.

Claims

1. obtaining transaction data records from one or more mobile network providers of a mobile network; identifying a plurality of user occurrences based on the obtained transaction data records, each user occurrence representing an occurrence of an associated user at a time and location within the mobile network; applying word embeddings to the plurality of user occurrences to map the plurality of user occurrences to words of a vocabulary to generate a word embedding model, the word embedding model being trained with a Continuous Bag of Words (CBOW) model that includes a plurality of International Mobile Subscriber Identities (IMSIs); and processing the word embedding model with a natural language processing (NLP) algorithm for word embedding to identify relationships between different users of the mobile network.

2. identifying co-occurrences of user occurrences with respect to time or location; and training the word embedding model based on the identified co-occurrences of the user-occurrences.

3. 2. The computer-implemented method of claim 1, wherein the transaction data record includes data, the data including information indicative of an International Mobile Subscriber Identity (IMSI) associated with a given transaction, time data for the given transaction, and an identifier for a unit cell of the mobile network.

4. 10. The computer-implemented method of claim 1, wherein applying word embeddings comprises generating a word embedding model using a word2vec model.

5. an interface component configured to retrieve transaction data records from one or more mobile network providers of the mobile network; a data analysis component configured to identify a plurality of user occurrences based on the obtained transaction data records, each user occurrence representing an occurrence of an associated user at a time and location within the mobile network; a word embedding component configured to apply word embeddings to the plurality of user occurrences to map the plurality of user occurrences to words of a vocabulary to generate a word embedding model, the word embedding model being trained using a Continuous Bag of Words (CBOW) model that includes a plurality of International Mobile Subscriber Identities (IMSIs); and a processing unit configured to process the word embedding model using a natural language processing (NLP) algorithm for word embedding to identify relationships between different users of the mobile network.

6. The data analysis component includes: an identification component configured to identify co-occurrences of user occurrences with respect to time or location; a training component configured to train the word embedding model based on the identified co-occurrences of user-occurrences.

7. 6. The system of claim 5, wherein the transaction data record includes information indicative of an International Mobile Subscriber Identity (IMSI) associated with a given transaction, time data for the given transaction, and an identifier for a unit cell of the mobile network.

8. 6. The system of claim 5, wherein the word embedding component is configured to generate the word embedding model using a word2vec model.

9. A computer program comprising program code means adapted to perform the method of any one of claims 1 to 4 when said program is run on a computer.

Citation Information

Patent Citations

  • Approach detection and notification system, approach detection and notification server of mobile portable terminal, information terminal, program, and recording medium

    JP2011217128A