Detailed Description
Features and exemplary embodiments of various aspects of the present invention will be described in detail below, and in order to make objects, technical solutions and advantages of the present invention more apparent, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not to be construed as limiting the invention. It will be apparent to one skilled in the art that the present invention may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present invention by illustrating examples of the present invention.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
In a first aspect, embodiments of the present invention provide a user position location method, which may be performed by a computer device having a processor, the computer device generally including a processor and a memory, the processor being configured to execute a computer program stored in the memory. Referring to fig. 1, the user position locating method of the present embodiment includes:
step S11, collecting measurement report data of each grid region.
In implementation, a reported MR (Measurement Report) may be collected from an OMC (Operation and Maintenance Center, each functional entity in the Operation and Maintenance network system), where the MR data generally includes a user identity, a time, and a network environment parameter: the system comprises a global unique identifier of a main cell, MR.RSRP (reference signal received power) of the main cell and a neighbor cell, MR.RSRQ (reference signal received quality) of the main cell and the neighbor cell, MR.TADV (time advance), NcPci (physical cell identification code of which the neighbor relation is defined and not defined in LTE), and SinrUL (TD-LTE serving cell uplink signal-to-noise ratio).
In step S12, for each grid region, a plurality of different calculation models are trained using the measurement report data of the grid region.
In general, training as used herein refers to obtaining a model for subsequent training and generation by using measurement report data of a grid region as training data of a calculation model and using an artificial intelligence learning method.
And step S13, determining an optimal calculation model corresponding to the grid region, wherein the optimal calculation model is the calculation model with the highest positioning accuracy.
Specifically, the position information of the user predicted by the calculation model may be compared with the actual position information of the user, and the calculation model with the smallest difference may be determined as the calculation model with the highest accuracy.
Step S14, using the determined optimal calculation model as a grid area fingerprint database corresponding to the grid area, so as to locate the user position in the grid area.
The grid area fingerprint database is a multi-dimensional matrix database which generally comprises network environment characteristic parameters such as global unique identification of a main cell, MR.RSRP of the main cell and adjacent cells, MR.RSRQ of the main cell and adjacent cells, MR.TADV, NcPci, SinrUL and the like, and longitude and latitude. The specific process of using the fingerprint database to locate the position of the user can refer to the related prior art, and is not described herein again.
In the embodiment of the invention, aiming at different grid areas, a plurality of different types of calculation models are trained, and the optimal calculation model is selected as a grid area fingerprint library to position a user. Compared with the mode of adopting the same calculation model as a fingerprint database for all grid areas in the prior art, the method can better match the specific conditions of different grid areas, thereby ensuring that the positioning of the user position in the grid area is more accurate.
In particular, the grid area may be referred to herein generally as 100 x 100 (units: meters).
Training data generation process
As described above, in implementation, MR data may be acquired from the OMC, and the acquired measurement report data may be directly used as training data. Alternatively, in an optional implementation manner of the embodiment of the present invention, the MR data acquired in the OMC may be first screened to obtain better MR data as training data.
Specifically, the MR data may be filtered by using user location information reported by an application program (APP), and then each calculation model may be trained by using measurement report data obtained by filtering as training data. Specific screening processes may include:
step S21, determining a position deviation between the position information reported by the application program and the position information corresponding to the measurement report data acquired by the base station positioning algorithm.
Specifically, the step S21 may include:
and S211, the MR data do not carry latitude and longitude data, and only comprise user identity, time and network environment parameters. For example, MR data contains the following measured parameters: the system comprises a global unique identifier of a main cell, MR.RSRP (reference signal received power) of the main serving cell and a neighbor cell, MR.RSRQ (reference signal received quality) of the main cell and the neighbor cell, MR.TADV (time advance), and SinrUL (TD-LTE serving cell uplink signal-to-noise ratio). More APPs of the smart phone can acquire the longitude and latitude information of the smart phone through a GPS module of the smart phone, and the user identity, time, longitude and latitude information is reported through a mobile data network, and the data acquisition mode is acquired through analysis at an S1-U interface of an LTE network. And associating user position information, such as user longitude and latitude information, of the same user and the same time point in the APP reported data and the MR data with the MR data through the common 'time' and 'user identity' fields in the APP reported data and the MR data. Since the time points of the two types of data acquisition are not necessarily completely matched, the matching can be carried out by adopting a time window mode, for example, whether the APP reports the longitude and latitude data is searched within a preset time (for example, 3 seconds) range of the MR data reporting time point.
In one embodiment, LTE network cell parameter data including a globally unique cell identifier, a longitude, a latitude, and a direction angle may be collected from the resource management system. And acquiring data carrying the longitude and latitude of the user reported by the APP from an S1-U (interface between an LTE base station and an SGW) interface of the LTE network.
S212, through the 'cell global unique identifier' in the cell parameter data, longitude and latitude data and direction angle data of the cell can be obtained, and MR data with longitude and latitude after the data are subjected to S211 correlation matching is used as input parameters of the base station positioning algorithm of S213.
And S213, inputting the MR data and the cell parameter data which are reported by the user APP in the S211 and are subjected to longitude and latitude correlation into a base station positioning method, and calculating corresponding longitude and latitude data. The calculation principle is as follows:
the longitude and latitude of the cell are first converted into plane coordinates (xc, yc). Then, according to AOA (angle of arrival, angle of arrival of mobile phone wireless signal to base station cell) in MR, TA Timing Advance (Timing Advance, which is used to compensate electric wave transmission delay and primarily to improve channel coding and decoding efficiency), direction angle (azimuth) calculates longitude and latitude data coordinates (x, y) corresponding to the MR data. The calculation formula is as follows:
x ═ xc +78.24 × TA × cos ((90-azimuth + AOA × 0.5) × pi/180) (formula 1);
y ═ yc +78.24 × TA × sin ((90-azimuth + AOA × 0.5) × pi/180) (formula 2).
Then (x, y) is converted to WG84 coordinates (WGS84: World geographic System 1984, a coordinate System established for use by the GPS global positioning System, established by coordinates observed by satellite observers throughout the World).
S214, comparing the longitude and latitude data reported by the APP with the longitude and latitude data corresponding to the MR data acquired by the base station positioning algorithm, and determining the longitude and latitude deviation calculated by the two modes.
And step S22, when the longitude and latitude position deviation is smaller than a preset value, taking the corresponding measurement report MR data as training data.
In this way, the measurement report data as the training data can be made more accurate. Therefore, the trained calculation model can more accurately position the user position.
In specific implementation, the preset value can be defined according to actual needs. In one embodiment, the preset value here may be 0.5% to 1.5%. More specifically, it may be 1%.
The MR data is composed of a plurality of MR points, and one MR point data contains information such as user identity, time, network environment parameters and the like. Thus, in one embodiment, the MR points in S22 may be attributed to grid regions of approximately 100 x 100 (units: meters). In the subsequent training process, the MR training data (learning sample data, MRO points carrying accurate longitude and latitude and network environment parameters) screened by the two positioning methods can be input into an artificial intelligence model established for each region (100 × 100 grid region) for comparison, and then the neural network calculation model of each region is stored as a grid region fingerprint library. The fingerprint library is the result of comparison of various machine learning methods (e.g., neural networks, bayesian networks, SVMs, C & R).
Training process
In an alternative embodiment, the trained plurality of calculation models may be: the system comprises a neural network calculation model, a Bayesian network calculation model, a Support Vector Machine (SVM) calculation model and a classification and regression tree C & R calculation model. In order to build a model and facilitate comparison, a relatively mature analysis tool SPSS (Statistical Product and Service Solutions) is selected in the technical scheme. Accordingly, the four calculation models are trained as follows.
In one example, the neural network computational model training method may be: inputting the prepared training data set into the SPSS tool (e.g., the train _ data node in fig. 2), converting the input data set into a training sample set using a type node (e.g., the type node in fig. 2), and filtering garbage data (e.g., the filter node in fig. 2). Dragging out a neural network node (such as a neural net node in fig. 2), configuring the number of input neurons, for example, 8, and the number of output layers, for example, 2, then transferring according to a discrete function, and finally storing the trained result.
In one example, the bayesian network model building method can be: inputting the prepared training data set into the SPSS tool (e.g., the train _ data node in fig. 2), converting the input data set into a training sample set using a type node (e.g., the type node in fig. 2), and filtering garbage data (e.g., the filter node in fig. 2). Pulling out a neural network node (such as a baysian _ MKV node in fig. 2), inputting sample data in a partitioned mode, adopting a Markov blank structure for transmission, selecting a maximum likelihood learning method for model training, and adjusting the weight ratio of input elements to enable the model to be debugged to be optimal.
In one example, the training method of the SVM computation model may be: inputting the prepared training data set into the SPSS tool (e.g., the train _ data node in fig. 2), converting the input data set into a training sample set using a type node (e.g., the type node in fig. 2), and filtering garbage data (e.g., the filter node in fig. 2). And dragging out a neural network node (such as an SVM node in fig. 2), taking the sample data as input, selecting an important prediction parameter as input, and generating a training result through regression classification.
In one example, the C & R computational model training method may be: inputting the prepared training data set into the SPSS tool (e.g., the train _ data node in fig. 2), converting the input data set into a training sample set using a type node (e.g., the type node in fig. 2), and filtering garbage data (e.g., the filter node in fig. 2). Dragging out a neural network node (such as a C & R node in FIG. 2), selecting a tree depth, for example, a depth of 5, selecting a classification target, for example, 3, and then adjusting the weight of the modified input parameters until the result reaches the optimal value.
Then, training can be performed on the 4 models in each grid area, the 4 models are stored, then the MR data network environment data with known accurate longitude and latitude are input into a comparison model, the calculated predicted longitude and latitude data are respectively output, and the optimal calculation model can be determined by comparing the two formulas of precision and recall.
Determining an optimal computational model
In one embodiment, the basic steps of the process of determining the optimal computational model may include:
in step S31, the predicted position information specified by each calculation model is obtained by inputting measurement report data of known position information to each calculation model.
And step S32, obtaining the accuracy and the recall rate according to the known position information and the predicted position information.
In practice, the calculation formula of the accuracy P may be:
p ═ TP/(TP + FP) (formula 3);
the recall ratio R may be calculated as:
r ═ TP/(TP + FN) (formula 4);
wherein, TP is the searched related information quantity; FP is the total amount of information retrieved; FN is the total amount of relevant information in the system.
(TP calculation: the number of samples successfully matched with the fingerprint database operation longitude and latitude in the grid area)
The algorithm satisfies the following conditions:
the known longitude and latitude of the same sample and the longitude and latitude deviation after the operation of a certain model fingerprint database are less than 5 percent for example.
[ FP calculation-number of samples with high matching success with fingerprint database operation longitude and latitude in grid region ]
The algorithm satisfies the following conditions:
the number of primary serving cells and neighbor cells collected by the sample is consistent with 90% in the fingerprint database, for example.
[ FN calculation: number of samples (training data) all belonging to the grid region ]
The algorithm satisfies the following conditions:
all MR data in the grid area with known accurate latitude and longitude data.
Step S33, determining an optimal calculation model according to the accuracy rate and the recall rate;
by substituting the calculated parameters of TP, FP and FN into a formula, the accuracy and recall rate can be calculated. Then, in one embodiment, the F value (F-score) may be used as a comprehensive index for reconciling two parameters, namely, the precision and the recall, and the model with the largest F-score value among the four models is selected as the neural network calculation model with the highest accuracy. The optimal computational model can be used as a neural network computational model for subsequent training and production of the grid region.
In one specific example, the ratio of the precision P and recall R is adjusted by a parameter β in F-score. The calculation formula with this parameter is:
f _ score ═ PR (β ^2+1) PR)/(β ^2(P + R)) (Gong 5).
F-score combines the results of P and R, indicating that the method is more optimal when higher, by alignment of numerous training data.
In one embodiment, after the most suitable neural network computation model of the grid area is determined, for the MR data without latitude and longitude, the network environment parameters are input into the neural network computation model fingerprint database, and the center of the specific grid area of the MR data is obtained as the position of the point.
In a second aspect, an embodiment of the present invention provides a user position locating apparatus, which may be used to execute the user position locating method provided in the embodiment of the first aspect, and referring to fig. 3, the apparatus may include:
an acquisition module 31, configured to acquire measurement report data of each grid region;
a training module 32, configured to train, for each grid region, a plurality of different calculation models respectively by using the measurement report data of the grid region;
a determining module 33, configured to determine an optimal computation model corresponding to the grid region, where the optimal computation model is a computation model with the highest positioning accuracy;
and the positioning module 34 is configured to use the determined optimal calculation model as a grid area fingerprint library corresponding to the grid area, so as to perform user position positioning on a user in the grid area.
In some embodiments, the training module 32 is configured to train a plurality of different computational models respectively using the measurement report data of the grid region, including:
respectively training at least the following calculation models by using the measurement report data of the grid region: the system comprises a neural network calculation model, a Bayesian network calculation model, a Support Vector Machine (SVM) calculation model and a classification and regression tree C & R calculation model.
In some embodiments, the training module 32 is configured to train a plurality of different computational models respectively using the measurement report data of the grid region, including:
screening the measurement report data of the grid area by using the position information reported by the application program;
and taking the screened measurement report data as training data to respectively train a plurality of different calculation models.
In some embodiments, the training module 32 is configured to filter the measurement report data of the grid area by using the location information reported by the application program, and includes:
determining the position deviation between the position information reported by the application program and the position information corresponding to the measurement report data acquired by the base station positioning algorithm;
and when the position deviation is smaller than a preset value, taking the corresponding measurement report data as training data.
In some embodiments, the preset value ranges from 0.5% to 1.5%.
In some embodiments, the determining module 33 is configured to determine the optimal calculation model corresponding to the grid region, and includes:
inputting measurement report data of known position information into each calculation model to obtain predicted position information determined by each calculation model;
obtaining accuracy and recall rate according to the known position information and the predicted position information;
and determining an optimal calculation model according to the accuracy rate and the recall rate.
In some embodiments, the determining module 33 is configured to obtain an accuracy rate and a recall rate according to the known location information and the predicted location information, and includes:
determining the accuracy rate according to the searched related information quantity and the searched total information quantity;
and determining the recall rate according to the retrieved related information amount and the related information total amount in the system.
In some embodiments, the determining module 33 is configured to determine an optimal calculation model according to the precision rate and the recall rate, and includes:
determining corresponding F-score in each calculation model according to the accuracy, the recall rate and a preset adjusting parameter beta;
and determining the corresponding calculation model with the maximum F-score in each calculation model as the optimal calculation model.
In some embodiments, the positioning module 34 is configured to perform user location positioning on the user in the grid area, and includes:
and inputting the measurement report data without latitude and longitude into a neural network calculation model corresponding to the grid area, and taking the center of the grid area corresponding to the measurement report MR data as the position of the user.
In some embodiments, the location information includes latitude and longitude information.
The user position locating device provided by the embodiment of the second aspect of the present invention is a device that can be used to implement the position locating method provided by the embodiment of the first aspect, and related terms and specific implementation thereof may be referred to the description of the first aspect, and will not be described in detail herein.
In addition, the user position locating method of the embodiment of the present invention described in conjunction with fig. 1 may be implemented by a user position locating device. Fig. 4 is a schematic diagram illustrating a hardware structure of a user position locating device according to an embodiment of the present invention.
The user position location device may include a processor 401 and a memory 402 storing computer program instructions.
Specifically, the processor 401 may include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or may be configured as one or more Integrated circuits implementing embodiments of the present invention.
Memory 402 may include mass storage for data or instructions. By way of example, and not limitation, memory 402 may include a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, tape, or Universal Serial Bus (USB) Drive or a combination of two or more of these. Memory 402 may include removable or non-removable (or fixed) media, where appropriate. The memory 402 may be internal or external to the data processing apparatus, where appropriate. In a particular embodiment, the memory 402 is a non-volatile solid-state memory. In a particular embodiment, the memory 402 includes Read Only Memory (ROM). Where appropriate, the ROM may be mask-programmed ROM, Programmable ROM (PROM), Erasable PROM (EPROM), Electrically Erasable PROM (EEPROM), electrically rewritable ROM (EAROM), or flash memory or a combination of two or more of these.
The processor 401 reads and executes computer program instructions stored in the memory 402 to implement any of the user position location methods in the above embodiments.
In one example, the user position locating device may also include a communication interface 403 and a bus 410. As shown in fig. 4, the processor 401, the memory 402, and the communication interface 403 are connected via a bus 410 to complete communication therebetween.
The communication interface 403 is mainly used for implementing communication between modules, apparatuses, units and/or devices in the embodiments of the present invention.
The communication bus 410 comprises hardware, software, or both that couple the components of the user position locating device to each other. By way of example, and not limitation, a bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hypertransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable bus or a combination of two or more of these. Communication bus 410 may include one or more buses, where appropriate. Although specific buses have been described and shown in the embodiments of the invention, any suitable buses or interconnects are contemplated by the invention.
The user position positioning device can execute the user position positioning method in the embodiment of the invention based on the network management performance index of the cell to be detected, thereby realizing the user position positioning method described in combination with the figure 1.
In addition, in combination with the user position locating method in the foregoing embodiment, the embodiment of the present invention may be implemented by providing a computer-readable storage medium. The computer readable storage medium having stored thereon computer program instructions; the computer program instructions, when executed by a processor, implement any of the user position location methods in the above embodiments.
It is to be understood that the invention is not limited to the specific arrangements and instrumentality described above and shown in the drawings. A detailed description of known methods is omitted herein for the sake of brevity. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present invention are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications and additions or change the order between the steps after comprehending the spirit of the present invention.
The functional blocks shown in the above-described structural block diagrams may be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, plug-in, function card, or the like. When implemented in software, the elements of the invention are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine-readable medium or transmitted by a data signal carried in a carrier wave over a transmission medium or a communication link. A "machine-readable medium" may include any medium that can store or transfer information. Examples of a machine-readable medium include electronic circuits, semiconductor memory devices, ROM, flash memory, Erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, Radio Frequency (RF) links, and so forth. The code segments may be downloaded via computer networks such as the internet, intranet, etc.
It should also be noted that the exemplary embodiments mentioned in this patent describe some methods or systems based on a series of steps or devices. However, the present invention is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, may be performed in an order different from the order in the embodiments, or may be performed simultaneously.
As described above, only the specific embodiments of the present invention are provided, and it can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system, the module and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again. It should be understood that the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present invention, and these modifications or substitutions should be covered within the scope of the present invention.