Method, system, and computer readable medium for finding target users based on signaling traces

By recalling candidate users and using dynamic programming to calculate the shortest path between trajectories, the OWD and DTW algorithms are improved for trajectory similarity comparison under time constraints. This solves the problems of low accuracy and long time consumption in signaling trajectory search in existing technologies, and achieves target user search with high recall and high accuracy.

CN115460552BActive Publication Date: 2025-10-24HANGZHOU SHULAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211079003.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-05
Publication Date
2025-10-24
Estimated Expiration
2042-09-05

AI Technical Summary

Technical Problem

Existing technologies have low accuracy and are time-consuming when using signaling traces to find target users, which hinders the promotion and application of this technology.

Method used

By recalling candidate users who match the target trajectory point sequence, a distance matrix is ​​generated. Dynamic programming is used to calculate the shortest path between trajectories. The target user is found by combining trajectory similarity. An improved OWD algorithm and DTW algorithm are used to compare trajectory similarity under time constraints.

Benefits of technology

It improved the recall rate of trajectory retrieval to about 85% and the accuracy rate to over 90%, thus expanding the application scope of trajectory retrieval.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115460552B_ABST
    Figure CN115460552B_ABST
Patent Text Reader

Abstract

The application relates to a method, system and computer readable medium for finding a target user based on a signaling trajectory. The method comprises: recalling candidate users meeting a target trajectory point sequence T(p1, p2,..., p n ); obtaining a candidate trajectory point sequence Ts(ps1, ps2,..., ps m ); comparing the candidate trajectory point sequence with the target trajectory point sequence to generate a distance matrix d; calculating a shortest path D between trajectories based on the distance matrix by using dynamic programming; and finding the target user according to the shortest path.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to data analysis technology, and more particularly, to a method, system and computer readable medium for finding a target user based on signaling trajectory. BACKGROUND

[0002] Communication operators store a large amount of mobile communication signaling data. Signaling is different from user's useful signals (which are transmitted directly by a sender to a receiver through a mobile communication network), and needs to be transmitted between mobile stations, base stations, base station control centers and mobile switching centers of a mobile communication network, and analyzed and processed to form a series of operations and controls. The signaling data contains trajectory data (also known as "signaling trajectory") that can reflect the user's moving path. In some cases, relevant agencies can rely on this data to find and track users with a specific trajectory. This technology is particularly important for tracking suspected criminals. However, the accuracy of the prior art is low and the time is long, which greatly hinders the popularization and application of this technology. SUMMARY

[0003] The present application provides a method for finding a target user based on a signaling trajectory. The method comprises: recalling candidate users that meet a target trajectory point sequence T(p1, p2,..., p n ), and then obtaining a candidate trajectory point sequence Ts(ps1, ps2,..., ps m ); comparing the candidate trajectory point sequence with the target trajectory point sequence to generate a distance matrix d; calculating the shortest path D between trajectories based on the distance matrix using dynamic programming; and finding the target user according to the shortest path.

[0004] In one embodiment, the method further comprises trajectory preprocessing of the trajectory of the candidate user, and then obtaining the candidate trajectory point sequence.

[0005] In one embodiment, the method further comprises normalizing the shortest path into a trajectory similarity.

[0006] In one embodiment, the recalling comprises, for each target trajectory point p i , matching a user whose trajectory coincides with the position of the target trajectory point within a time interval (t_start i , t_end i ) corresponding to the time t i of the target trajectory point as a candidate user.

[0007] In one embodiment, when t i is known, (t_start i , t_end i ) = (t i -x, t i+ x) when t i Unknown, t_start i = min{t_start, t1,..., tn-1} and t_end i-1 = min{tn, tn+1,..., t_end} where (t_start, t_end) is the time interval of the target trajectory point sequence. i i+1 n

[0008] In one embodiment, the distance matrix has a size of n x (m-1), and each element dijin the distance matrix is the shortest distance from the target trajectory point pi i to the line segment ps j ps j+1 in the candidate trajectory point sequence.

[0009] In one embodiment, if the time range (t_start i , t_end i ) corresponding to the target trajectory point pi i has no intersection with the time range (ts j , ts j+1 ) corresponding to the line segment ps j ps j+1 in the candidate trajectory point sequence, each element dijin the distance matrix is positive infinity, where ts j is the time corresponding to the candidate trajectory point ps j .

[0010] In one embodiment, the method further comprises calculating the shortest path based on the shortest distance matrix SD, where the shortest distance matrix has a size of n x (m-1), and each element dijin the shortest distance matrix is the shortest path from the target trajectory point pi

[0011] In one embodiment, the shortest path D = SD n(m-1) , and the OWD distance of the target trajectory T to the candidate trajectory Ts is owd(T, Ts) = D / n. s

[0012] The present application also provides a system for finding a target user based on a signaling trajectory. The system comprises: a recalling device for recalling candidate users that meet a target trajectory point sequence T (p1, p2,..., pn), thereby obtaining a candidate trajectory point sequence Ts (ps1, ps2,..., ps n m) and a calculating device for calculating the OWD distance of the target trajectory T to the candidate trajectory Ts based on the shortest distance matrix SD. m ​​​​); a comparing device that compares the candidate trajectory point sequence with the target trajectory point sequence to generate a distance matrix d; a calculating device that calculates a shortest path D between the trajectories based on the distance matrix using dynamic programming; and a searching device that searches for the target user according to the shortest path.

[0013] The application further provides a computer readable medium, which stores a computer program, and the computer program is executed by a processor to implement the method described above.

[0014] The technical solution of the application can expand the application range of trajectory retrieval without depending on specific time points of trajectory points, and the recall rate of trajectory retrieval reaches about 85%, and the accuracy rate can reach more than 90% based on a brand-new algorithm. BRIEF DESCRIPTION OF DRAWINGS

[0015] Figure 1 is a schematic flowchart of a method for searching for a target user based on a signaling trajectory according to an embodiment of the application.

[0016] Figure 2 is a schematic diagram showing distances involved in a traditional OWD algorithm. DETAILED DESCRIPTION

[0017] The present application will now be described with reference to a number of example embodiments. It is to be understood that the embodiments are described only for the purpose of better illustrating and thus enabling the understanding of, and thus enabling the implementation of, the present application, and are not intended to imply any limitation on the scope of the present application.

[0018] As used herein, the term "comprises" and variations thereof shall mean "including but not limited to". The term "based on" shall mean "based at least in part on". The terms "one embodiment" and "an embodiment" shall mean "at least one embodiment". The term "another embodiment" shall mean "at least one additional embodiment".

[0019] The technical solution of the application can be used for various purposes and scenarios, preferably for criminal pursuit scenarios. In embodiments of the application, the target user can be walking or moving using a vehicle. The following will be described with reference to Figure 1 The method for searching for a target user based on a signaling trajectory of the application will be described in detail in steps. In embodiments of the application, one or more of the following steps can be omitted from the method, and each step does not necessarily have to be executed in the following order.

[0020] Recalling candidate users that match the target trajectory point sequence

[0021] In an embodiment of the present invention, the purpose of recall is to find one or more users whose itinerary / movement route initially matches a specific trajectory. In an embodiment of the present invention, the specific trajectory point is manually set. In an embodiment of the present invention, the specific trajectory can be represented as a sequence consisting of one or more trajectory points, called a target trajectory point sequence (or trajectory point sequence) T(p1, p2, ..., p n ), where n is the number of trajectory points, and the trajectory points in the trajectory point sequence are arranged in chronological order from earliest to latest. In an embodiment of the present invention, the time range to be searched can be expressed as (t_start, t_end). It should be noted that t_start and t_end are not necessarily equal to the time corresponding to the earliest and latest trajectory points in the trajectory point sequence, respectively. This is because trajectory points are usually discontinuous rather than continuous, and there are cases where the time of individual trajectory points or trajectory points is not recorded. In an embodiment of the present invention, any trajectory point p i Can be obtained by (lon i ,lat i ,t i ) indicates that lon i Indicates longitude, lat i Indicates latitude, t i Indicates the time of the trajectory point. If the time of the trajectory point is unknown, then t i for In other embodiments of the present invention, other methods other than longitude and latitude may be used to represent the geographical location.

[0022] Since the number of mobile communication users is very large, it is unrealistic to compare the above trajectory sequence with the trajectory of each user one by one. Therefore, it is necessary to recall the candidate users to greatly improve the efficiency of subsequent comparison and matching. In addition, as discussed above, trajectory points are usually discontinuous and there may be unrecorded situations. In order to improve the recall rate and avoid omissions, the inventors propose to convert the trajectory point time. In a preferred embodiment of the present invention, t i Convert to time interval (t_start i ,t_end i ). In some embodiments of the present invention for time conversion, if t i is known, then (t_start i ,t_end i )=(t i -x,t i + x), where x can be any time that can be adjusted according to the specific situation, such as 10 minutes. In some embodiments of the present invention for time conversion, if t i is unknown, then t_start i= min{t_start, t1,..., t i-1} and t_end i = min{t i+1 ,...,t n ,t_end}, the min{} function compares the time in the brackets and takes the earliest one. In the embodiments of the present application, the time interval can also be defined by other methods.

[0023] In the embodiments of the present application, for each trajectory point p i , the full amount of signaling data is searched to match a candidate user set S i . In the embodiments of the present application, the "full amount of signaling data" refers to all the signaling data saved by one or more communication operators. In the embodiments of the present application, the matched user refers to the user whose location coincides with the trajectory point p i in the time interval (t_start i , t_end i ). In the preferred embodiments of the present application, the (lon i , lat i ) corresponding to the trajectory point p i can be converted into a location code before matching. In the more preferred embodiments of the present application, Geohash or s2 indexing is used for location code conversion. In the embodiments of the present application, for all trajectory points, a candidate user set sequence {S1, S2,..., S n} can be obtained. In the embodiments of the present application, the number of times the users in the set sequence appear can be counted, and then a part of the users with the highest number of appearances (for example, the first 20,000 users) are selected as candidate users for subsequent processes.

[0024] Trajectory preprocessing of candidate users

[0025] In the embodiments of the present application, the candidate users can be subjected to trajectory preprocessing, the purpose of which is to remove or correct unreasonable trajectory points in the trajectory sequence. In the embodiments of the present application, for any candidate user, the trajectory in the interval (t_start, t_end) is Ts. In the embodiments of the present application, trajectory preprocessing of Ts includes operations such as trajectory deduplication, elimination of ping-pong switching, and removal of drift points. In the embodiments of the present application, some representative trajectory preprocessing examples are as follows:

[0026] (1) Trajectory deduplication : For trajectory points that repeat within a certain short time (for example, 1 minute), only the earliest trajectory point is retained, and the other trajectory points are removed.

[0027] (2) Eliminating ping-pong handover"Ping-pong switching" refers to the switching of a mobile communication device (e.g., a cell phone) back and forth between two base stations. If the location of a current trajectory point p i is different from the location of a next trajectory point p i+1 but is the same as the location of two next trajectory points p i+2 and the time interval is within a certain short time (e.g., 5 minutes), the requirement of ping-pong switching is met. In the above case, only the trajectory point p i is kept and the two trajectory points p i+1 and p i+2 are removed.

[0028] (3) De-drift points : If the current trajectory point has a speed greater than a threshold (e.g., 200 km / h) compared to the previous trajectory point, the current trajectory point is removed.

[0029] In embodiments of the present application, the above operations are repeatedly performed until all trajectory points meet the above requirements, and the trajectory preprocessing is completed. In embodiments of the present application, after the trajectory preprocessing, for each candidate user's trajectory point sequence, a preprocessed trajectory point sequence (or candidate trajectory point sequence) Ts (ps1, ps2,..., ps m ) is obtained, where m is the number of trajectory points, and ps i may also consist of (lon i , lat i , t i ), where t i is explicit and is a real / actual time.

[0030] The candidate trajectory point sequence is compared with the target trajectory point sequence to generate a distance matrix

[0031] In the art, the OWD algorithm is commonly used to evaluate the trajectory similarity. This algorithm, proposed in 2008, is a shape-based distance algorithm without considering time constraints. According to its definition, the OWD distance of a trajectory T1 and T2 is calculated as follows:

[0032]

[0033] where T1 is (p1, p2,..., p n ), p i is (lon i , lat i ), T2 is (ps1, ps2,..., ps n ), and ps j is (lon j , lat j); |T1| represents the length n of the trajectory T1 (i.e., the number of trajectory points), and (p, T2) represents the distance from the trajectory point p to the trajectory T2, i.e., the distance from the trajectory point p to all line segments in T2 (ps i , ps i+1 )'s shortest distance (e.g. Figure 2 shown).

[0034] However, traditional OWD algorithms can only calculate the similarity between two trajectories without time constraints and cannot solve the similarity comparison under "time constraints" conditions. In actual trajectory retrieval processes (such as those described above in this invention), the time of candidate trajectory points is clear, while the time of target trajectory points may be unclear or missing. The trajectory point sequence T to be compared and the candidate trajectory sequence Ts have corresponding time elements of the trajectory points. Therefore, the traditional OWD algorithm needs to be modified to use a distance matrix method to calculate the distance between each trajectory point in T and each line segment in Ts.

[0035] In an embodiment of the present invention, the inventors define a distance matrix d, the size of which is n×(m-1), where n and m correspond to the number of trajectory points in the trajectory point sequence T and the candidate trajectory sequence Ts, respectively, and each element dij in the matrix is ​​any trajectory point p in the trajectory T. i To any line segment ps in the trajectory Ts j ps j+1 In the embodiment of the present invention, the shortest distance refers to the perpendicular distance from the point to the line segment; when the perpendicular does not exist, it refers to the distance from the point to the nearest end point of the line segment. In the embodiment of the present invention, if p i The corresponding time range (t_start i ,t_end i ) and line segment ps j ps j+1 The corresponding time range (ts j ,ts j+1 ) have an intersection, then dij is equal to point p i To line segment ps j ps j+1 Otherwise, dij is recorded as positive infinity.

[0036] Based on the distance matrix, dynamic programming is used to calculate the shortest path between trajectories

[0037] In the embodiment of the present invention, the shortest path D is obtained by dynamic programming based on the distance matrix dij calculated above, and the shortest path D is used as the distance from trajectory T to Ts. The specific method is as follows:

[0038] Define the shortest path matrix SD, the matrix size is n×(m-1), where n and m correspond to the number of trajectory points in the trajectory point sequence T and the candidate trajectory sequence Ts, respectively, and SD ij represents a subsequence of T (p1,p2,...,p i ) to a subsequence of Ts (ps1,ps2,...,ps j+1 ). The subsequence corresponds to a subset of the trajectory sequence. Dynamic programming is to continuously extend the subsequence until the complete trajectory is obtained, and the shortest path between the trajectories can be solved. To this end, the inventors make the following definition:

[0039]

[0040] Using the dynamic programming algorithm, i cycles from 1 to n, and j cycles from 1 to m-1, the values ​​of all items in the matrix SD can be calculated in sequence, and then D=SD can be obtained. n(m-1) Finally, the OWD distance from trajectory T to Ts is defined as owd(T,T s )=D / |T|, where |T| represents the length n of the trajectory T (ie, the number of trajectory points). In an embodiment of the present invention, suspicious targets can be found based on the shortest path, for example, users within a certain distance can be identified as target users.

[0041] Convert the shortest path into trajectory similarity to find suspicious targets that meet the conditions

[0042] In the embodiment of the present invention, the OWD distance obtained above can also be normalized to obtain the trajectory similarity s=max(1-owd(T,T s ) / dist,0), where dist is the normalized distance, typically 1000. In an embodiment of the present invention, the users can be sorted from largest to smallest by similarity, obtaining the top N (e.g., 200) users for further analysis by relevant departments. In an embodiment of the present invention, the above improvements can also be applied based on other algorithms. For example, the OWD algorithm can be replaced with a DTW (dynamic time wrapping) algorithm, and a distance matrix and dynamic programming calculation can be applied based on the DTW algorithm.

[0043] The methods and devices of the various embodiments of the present invention can be implemented as pure software modules (such as software programs written in Java), or as pure hardware modules (such as dedicated ASIC chips or FPGA chips) as needed, or as modules that combine software and hardware (such as a firmware system that stores fixed code).

[0044] Another aspect of the present application is a computer readable medium having stored thereon computer readable instructions which, when executed, implement the method of any of the embodiments of the present application.

[0045] Those skilled in the art can realize that the above described embodiments are only exemplary and not used to limit the present application. The present application can also include various modifications and variations. Any modification and variation should be included in the scope of the present application.

Claims

1. A method for searching a target user based on signaling trajectories, comprising: For each target trajectory point p i in the target trajectory point sequence T(p1,p2,...,p n ), a candidate user set sequence is obtained by matching users whose trajectories coincide with the target trajectory point position within the time interval (t_start i , t_end i ) converted from the target trajectory point time t i . counting the number of times each user appears in the sequence of candidate user sets, and selecting a part of users with high appearance frequency as candidate users; For the candidate user, taking his trajectory in the time interval (t_start, t_end) of the target trajectory point sequence as a candidate trajectory point sequence Ts(ps1, ps2,..., ps m ); The candidate trajectory point sequence is compared with the target trajectory point sequence to generate a distance matrix d, where the size of the distance matrix is ​​n×(m-1), and each element dij is any target trajectory point p i To any line segment ps in the candidate trajectory point sequence j ps j+1 The shortest distance, if the target trajectory point p i The corresponding time range (t_start i ,t_end i ) and the line segment ps in the candidate trajectory point sequence j ps j+1 The corresponding time range (ts j ,ts j+1 ) have no intersection, then each element dij in the distance matrix is ​​positive infinity, where ts j is the candidate trajectory point ps j corresponding time; calculating the shortest path D between trajectories based on the distance matrix by dynamic programming, including calculating the shortest path D based on a shortest path matrix SD, wherein the size of the shortest path matrix SD is n x (m-1), and each element in the shortest path matrix SD is The shortest path D=SD n(m-1) , and the OWD distance from the target trajectory T to the candidate trajectory Ts is owd(T,T s ) = D / n; and searching the target user according to the shortest path D.

2. The method of claim 1, further comprising: performing trajectory preprocessing on the trajectories of the candidate users, and obtaining the sequence of candidate trajectory points.

3. The method of claim 1, further comprising: normalizing the shortest path into trajectory similarity.

4. The method of claim 1, wherein when t i is known, (t_start i ,t_end i ) = (t i -x, t i +x), when t i is unknown, t_start i = min{t_start, t1,..., t i-1} and t_end i = min{t i+1 ,...,t n ,t_end}. 5.A system for searching a target user based on signaling trajectories, comprising: A recall device is used for matching each target trajectory point p n in a target trajectory point sequence T(p1, p2,..., p i ) with a user whose trajectory coincides with the target trajectory point position within a time interval (t_start i , t_end i ) corresponding to the target trajectory point time t i , to obtain a candidate user set sequence, to count the number of times a user appears in the candidate user set sequence, to select a part of users with high appearance frequency as candidate users, and to take the trajectory of the candidate users within the time interval (t_start, t_end) of the target trajectory point sequence as a candidate trajectory point sequence Ts(ps1, ps2,..., ps m ). A comparison device compares the candidate trajectory point sequence with the target trajectory point sequence to generate a distance matrix d, wherein the size of the distance matrix is ​​n×(m-1), and each element dij is an arbitrary target trajectory point p i To any line segment ps in the candidate trajectory point sequence j ps j+1 The shortest distance, if the target trajectory point p i The corresponding time range (t_start i ,t_end i ) and the line segment ps in the candidate trajectory point sequence j ps j+1 The corresponding time range (ts j ,ts j+1 ) have no intersection, then each element dij in the distance matrix is ​​positive infinity, where ts j is the candidate trajectory point ps j corresponding time; a computing device configured to calculate the shortest path D between trajectories based on the distance matrix by dynamic programming, including calculating the shortest path D based on a shortest path matrix SD, wherein the size of the shortest path matrix SD is n x (m-1), and each element in the shortest path matrix SD is The shortest path D=SD n(m-1) , and the OWD distance from the target trajectory T to the candidate trajectory Ts is owd(T,T s ) = D / n; and a searching device configured to search the target user according to the shortest path D.

6. A computer readable medium having stored thereon a computer program, characterized in that, The computer program is executed by a processor to implement the method according to any one of claims 1-4.

Citation Information

Patent Citations

  • Spatial-temporal trajectory matching method and system based on Beidou positioning and mobile signaling

    CN112785223A

  • Peer determination method, electronic equipment and storage medium

    CN114187565A