CN110928914A - Method and apparatus for outputting information - Google Patents
Method and apparatus for outputting information Download PDFInfo
- Publication number
- CN110928914A CN110928914A CN201811001545.9A CN201811001545A CN110928914A CN 110928914 A CN110928914 A CN 110928914A CN 201811001545 A CN201811001545 A CN 201811001545A CN 110928914 A CN110928914 A CN 110928914A
- Authority
- CN
- China
- Prior art keywords
- track point
- target
- track
- point sequence
- sequences
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims abstract description 21
- 239000013598 vector Substances 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Tourism & Hospitality (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The embodiment of the application discloses a method and a device for outputting information. One embodiment of the above method comprises: obtaining track points of a target user in a target time interval to obtain a target track point sequence; obtaining track points of a plurality of users in a city where a target user is located within a target time period to obtain a plurality of track point sequences; clustering track point sequences in a track point sequence set formed by a target track point sequence and a plurality of track point sequences to obtain at least two track point sequence subsets; determining the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset to which the target track point sequence belongs; and outputting at least one track point sequence according to the determined similarity. According to the embodiment, the obtained track point sequences are clustered, so that the accuracy is ensured, and meanwhile, the calculation amount can be effectively reduced.
Description
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a method and a device for outputting information.
Background
In the public safety field, the proportion of group crime is higher and higher, and the harm is larger and larger. Public security institutions utilize big data to analyze and solve cases, and capture gangs and meet great challenges. Especially the association between different cases and parties is difficult to obtain. How to effectively dig out the gangs of the crime in the mass data becomes the key of solving the crime.
Disclosure of Invention
The embodiment of the application provides a method and a device for outputting information.
In a first aspect, an embodiment of the present application provides a method for outputting information, including: obtaining track points of a target user in a target time interval to obtain a target track point sequence; obtaining track points of a plurality of users in the city where the target user is located in the target time period to obtain a plurality of track point sequences; clustering track point sequences in a track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets; determining the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset to which the target track point sequence belongs; and outputting at least one track point sequence according to the determined similarity.
In some embodiments, the clustering the track point sequences in the track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets includes: determining the target number of the track point sequence subset according to the number of the track point sequences in the track point sequence set; selecting the target number of track point sequences from the track point sequence set as a first center of the target number of track point sequence subsets; based on the determined first center, performing the following calculation steps: for the track point sequences in the track point sequence set, calculating the distance between the track point sequence and the first centers with the target number, and adding the track point sequence into a track point sequence subset where the first center with the closest distance is located; calculating second centers of the target number of track point sequence subsets and determining whether the target number of second centers are the same as the target number of first centers; and in response to determining that the target number of second centers is different from the target number of first centers, determining the second centers as the first centers, and continuing to perform the calculating step.
In some embodiments, the clustering the track point sequences in the track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets includes: and obtaining the subset of the track point sequences with the number of the targets respectively taking the second centers with the number of the targets as the centers in response to determining that the second centers with the number of the targets are the same as the first centers with the number of the targets.
In some embodiments, the sequence of trace points includes the positions and the acquisition times of the trace points; and the determining the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset includes: determining the track vectors of the included track points according to the positions and the acquisition moments of the included track points for the target track point sequence and the other track point sequences; obtaining a target track vector sequence corresponding to the target track point sequence and other track vector sequences corresponding to the other track point sequences according to the track vectors of the included track points; and determining the similarity between the target track vector sequence and the other track vector sequences.
In some embodiments, the outputting at least one track point sequence according to the determined similarity includes: and outputting a preset number of track point sequences corresponding to the similarity according to the sequence of the determined similarity from large to small.
In a second aspect, an embodiment of the present application provides an apparatus for outputting information, including: the first acquisition unit is configured to acquire track points of a target user in a target time interval to obtain a target track point sequence; the second acquisition unit is configured to acquire track points of a plurality of users in a city where the target user is located within the target time interval to obtain a plurality of track point sequences; a clustering unit configured to cluster the track point sequences in a track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets; the calculating unit is configured to determine the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset; an output unit configured to output at least one sequence of trajectory points according to the determined similarity.
In some embodiments, the clustering unit includes: a quantity determination module configured to determine a target quantity of the track point sequence subset according to a quantity of the track point sequences in the track point sequence set; a center determining module configured to select the target number of track point sequences from the set of track point sequences as a first center of a subset of the target number of track point sequences; a calculation module configured to perform the following calculation steps based on the determined first center: for the track point sequences in the track point sequence set, calculating the distance between the track point sequence and the first centers with the target number, and adding the track point sequence into a track point sequence subset where the first center with the closest distance is located; calculating second centers of the target number of track point sequence subsets and determining whether the target number of second centers are the same as the target number of first centers; a feedback module configured to determine the second center as the first center to feed back to the calculation module in response to determining that the target number of second centers is not the same as the target number of first centers.
In some embodiments, the clustering unit includes: and the clustering module is configured to respond to the determination that the target number of second centers is the same as the target number of first centers to obtain the target number of track point sequence subsets respectively centered on the target number of second centers.
In some embodiments, the sequence of trace points includes the positions and the acquisition times of the trace points; and the computing unit is further configured to: determining the track vectors of the included track points according to the positions and the acquisition moments of the included track points for the target track point sequence and the other track point sequences; obtaining a target track vector sequence corresponding to the target track point sequence and other track vector sequences corresponding to the other track point sequences according to the track vectors of the included track points; and determining the similarity between the target track vector sequence and the other track vector sequences.
In some embodiments, the output unit is further configured to: and outputting a preset number of track point sequences corresponding to the similarity according to the sequence of the determined similarity from large to small.
In a third aspect, an embodiment of the present application provides a server, including: one or more processors; a storage device, on which one or more programs are stored, which, when executed by the one or more processors, cause the one or more processors to implement the method as described in any of the embodiments of the first aspect.
In a fourth aspect, the present application provides a computer-readable medium, on which a computer program is stored, which when executed by a processor implements the method as described in any one of the embodiments of the first aspect.
According to the method and the device for outputting the information, provided by the embodiment of the application, the track points of the target user in the target time period can be obtained firstly, and the target track point sequence is obtained. Then, track points of a plurality of users in the city where the target user is located in the target time period can be obtained, and a plurality of track point sequences are obtained. And the target track point sequence and the plurality of track point sequences form a track point sequence set. And clustering the track point sequences in the track point sequence set to obtain at least two track point sequence subsets. Then, the similarity between the target track point sequence and other track point sequences in the track point sequence subset to which the target track point sequence belongs is calculated. And finally, outputting at least one track point sequence according to the similarity. According to the method and the device, the obtained track point sequences are clustered, so that the accuracy is ensured, and meanwhile, the calculation amount can be effectively reduced.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present application may be applied;
FIG. 2 is a flow diagram for one embodiment of a method for outputting information, in accordance with the present application;
FIG. 3 is a schematic diagram of an application scenario of a method for outputting information according to the present application;
FIG. 4 is a flow diagram of yet another embodiment of a method for outputting information according to the present application;
FIG. 5 is a schematic block diagram illustrating one embodiment of an apparatus for outputting information according to the present application;
FIG. 6 is a schematic block diagram of a computer system suitable for use in implementing a server according to embodiments of the present application.
Detailed Description
The present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 shows an exemplary system architecture 100 to which embodiments of the present method for outputting information or apparatus for outputting information may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. Various communication client applications, such as a positioning application, a network connection application, a call application, a web browser application, etc., may be installed on the terminal devices 101, 102, 103.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices that support location acquisition, including but not limited to smart phones, tablet computers, e-book readers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 105 may be a server providing various services, such as a background server that processes the locations collected by the terminal devices 101, 102, 103. The background server can analyze and process the received data such as the track points.
The server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster formed by multiple servers, or may be implemented as a single server. When the server is software, it may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be noted that the method for outputting information provided in the embodiment of the present application is generally performed by the server 105, and accordingly, the apparatus for outputting information is generally disposed in the server 105. It is understood that the terminal devices 101, 102, 103 and the network 104 may not be included in the architecture 100. The server 105 may obtain the trace points from the image capture device, or the server 105 may store the trace points locally.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to FIG. 2, a flow 200 of one embodiment of a method for outputting information in accordance with the present application is shown. The method for outputting information of the embodiment comprises the following steps:
In this embodiment, an execution subject (for example, the server 105 shown in fig. 1) of the method for outputting information may locally acquire track points of the target user in the target time period from a terminal device (for example, the terminal devices 101, 102, 103 shown in fig. 1), an image capture device (for example, various monitoring cameras capable of capturing road surface information), or a server through a wired connection manner or a wireless connection manner. The target user may be a suspect, and the target time period may be a crime time period of the suspect, and the like. The track points can be longitude and latitude information and can also be geographical position information. The plurality of track points form a target track point sequence, and in the target track point sequence, the track points are sequenced according to the acquisition time of the track points.
It should be noted that the wireless connection means may include, but is not limited to, a 3G/4G connection, a WiFi connection, a bluetooth connection, a WiMAX connection, a Zigbee connection, a uwb (ultra wideband) connection, and other wireless connection means now known or developed in the future.
In this embodiment, in order to determine a peer group with the target user, track points of multiple users in a city where the target user is located within the target time period may also be obtained. The plurality of users may be all residents of the city or other known case-related suspects. After obtaining the track points of a plurality of users, the execution main body can obtain a plurality of track point sequences. It will be appreciated that the track points for each user form a sequence of track points.
And 203, clustering the track point sequences in the track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets.
In this embodiment, the execution main body can add the target track point sequence and the plurality of track point sequences into the track point sequence set after obtaining the target track point sequence and the plurality of track point sequences. And then clustering each track point sequence in the track point sequence set to obtain at least two track point sequence subsets. And each track point sequence subset is a cluster obtained after clustering. In clustering, various clustering algorithms may be employed. Such as K-means, mean shift clustering, density-based clustering methods, and the like.
And step 204, determining the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset.
In this embodiment, after clustering each track point sequence in the track point sequence set, a track point sequence subset to which the target track point sequence belongs may be determined. Then, the execution subject may calculate the similarity between the target track point sequence and other track point sequences in the track point sequence subset to which the target track point sequence belongs. Specifically, the execution subject may calculate a distance between each track point in the target track point sequence and a corresponding track point in another track point sequence. And then, averaging the obtained multiple distances, and taking the finally obtained average as the similarity of the target track point sequence and other track point sequences.
And step 205, outputting at least one track point sequence according to the determined similarity.
After determining the similarity between the target track point sequence and other track point sequences, at least one track point sequence can be output according to the determined similarity. For example, the execution subject may output the sequence of trace points with the highest similarity. Alternatively, the execution subject may output the first 5 higher-similarity sequences of trajectory points. It will be appreciated that the sequence of track points may include a user identification, and the technician may determine the person associated with the suspect based on the user identification of the output sequence of track points.
With continued reference to fig. 3, fig. 3 is a schematic diagram of an application scenario of the method for outputting information according to the present embodiment. In the application scenario of fig. 3, the server first obtains each track point of the target user in the target time interval to obtain a target track point sequence (Z1, Z2, Z3 … … Zn), then obtains track points of a plurality of users in the city where the target user is located in the target time interval to obtain a track point sequence (a1, a2, A3 … … An), (B1, B2, B3 … … Bn), (C1, C2, C3 … … Cn), (D1, D2, D3 … … Dn) … …, and obtains a plurality of track point sequence subsets after cluster analysis. Then, the server calculates the similarity between the target track point sequence (Z1, Z2, Z3 … … Zn) and other track point sequences (B1, B2, B3 … … Bn), (D1, D2, D3 … … Dn) in the subset of the target track point sequences. Finally, two track point sequences (B1, B2, B3 … … Bn), (D1, D2, D3 … … Dn) with higher similarity and corresponding similarities are output.
According to the method for outputting the information provided by the embodiment of the application, the track points of the target user in the target time period can be firstly obtained, and the target track point sequence is obtained. Then, track points of a plurality of users in the city where the target user is located in the target time period can be obtained, and a plurality of track point sequences are obtained. And the target track point sequence and the plurality of track point sequences form a track point sequence set. And clustering the track point sequences in the track point sequence set to obtain at least two track point sequence subsets. Then, the similarity between the target track point sequence and other track point sequences in the track point sequence subset to which the target track point sequence belongs is calculated. And finally, outputting at least one track point sequence according to the similarity. According to the method, the obtained track point sequences are clustered, so that the accuracy is guaranteed, and meanwhile, the calculation amount can be effectively reduced.
In some optional implementations of this embodiment, the sequence of trace points includes positions of the trace points and acquisition times. The step 204 may be specifically implemented by the following steps not shown in fig. 2: firstly, for a target track point sequence and other track point sequences, determining track vectors of included track points according to positions and acquisition moments of the included track points. And then, obtaining a target track vector sequence corresponding to the target track point sequence and other track vector sequences corresponding to other track point sequences according to the track vectors of the included track points. And finally, determining the similarity of the target track vector sequence and other track vector sequences.
In this implementation, the trace point sequence includes the position and the collection time of the trace point. For each track point, the execution main body can combine the acquisition time and the acquisition position of the track point to obtain a track vector of the track point. After the track vector of each track point is obtained, a target track vector sequence corresponding to the target track point sequence and other track vector sequences corresponding to other track point sequences can be obtained. Finally, the execution subject may calculate the similarity of the target trajectory vector sequence with other trajectory vector sequences. The realization mode comprehensively considers the position of the track point and the time when the user appears at the track point, thereby improving the accuracy rate of searching for the party of the same party.
In some optional implementation manners of this embodiment, the step 205 may be implemented by the following steps not shown in fig. 2: and outputting a preset number of track point sequences corresponding to the similarity according to the sequence of the determined similarity from big to small.
In this implementation manner, after obtaining the similarity between the target trace point sequence and other trace point sequences, the execution main body may arrange the similarities in descending order, and then output the corresponding first N trace point sequences. Wherein N is a preset constant.
With further reference to fig. 4, a flow 400 for clustering sequences of track points in a set of sequences of track points in a method for outputting information according to the present application is shown. As shown in fig. 4, in this embodiment, the execution subject may cluster the track point sequences in the track point sequence set by the following steps:
In this embodiment, the execution subject may first determine the number of track point sequences in the track point sequence set. The target number of subsets of sequences of track points can then be determined from the above numbers. For example, the execution body may take the square root of the above-mentioned number as the value of the target number, or take the logarithm of the above-mentioned number as the value of the target number.
In some optional implementations of this embodiment, the execution subject may determine the value of the target number according to the following formula:
and k is the number of targets, and n is the number of track point sequences in the track point sequence set. In the existing scheme, each track point sequence is usually compared pairwise, and whether two users are same-person or not is determined according to the comparison result. If the population in a city is 100 million, hundreds of millions of calculations may be required. Therefore, the reasonable selection of the k value can reduce the calculation amount and avoid the accuracy reduction caused by the reduction of the calculation times.
And step 402, selecting a target number of track point sequences from the track point sequence set as a first center of a target number of track point sequence subsets.
After determining the value of the target number, the execution main body may select each trace point sequence of the target number from the set of trace point sequences. At the time of selection, the execution subject may adopt various selection methods, such as random selection. The execution subject may take the selected sequence of trajectory points as a first center of a subset of the target number of sequences of trajectory points.
After determining the first centers of the subset of the target number of sequences of trace points, for each sequence of trace points in the set of sequences of trace points, the executing entity may calculate the distance between the sequence of trace points and the first centers of the target number of sequences of trace points. The distance may be a euclidean distance, a manhattan distance, a chebyshev distance, a cosine distance, or the like. Then, adding the track point sequence into a track point sequence subset located at the first center closest to the track point sequence.
After each track point sequence in the track point sequence set is divided, the execution main body can calculate the second centers of the target number of track point sequence subsets. In calculating the second center, the executing entity may use the mean value of each track point sequence in each track point sequence subset as the second center of the track point sequence subset. The execution subject may determine whether the second center of each track point sequence subset is the same as the first center of the track point sequence subset. If so, go to step 405; if not, step 404 is performed.
In step 404, in response to determining that the number of second centers is not the same as the number of first centers, determining that the second centers are the first centers, and continuing to execute step 4031.
If the executing entity determines that the second centers are different from the first centers, the calculated second center may be used as a new first center, and the step 4031 is continuously executed.
In some optional implementations of this embodiment, the step 404 may further include the following content not shown in fig. 4: in response to determining that the target number of second centers is different from the target number of first centers, determining the second centers as the first centers and determining a preset iteration number value plus 1; determining whether the iteration number value is the same as a preset iteration number threshold value; in response to determining whether the iteration count value is not equal to the preset iteration count threshold, continue to step 4031.
In this implementation, the execution body may also record the number of iterations. And if the iteration times reach a preset iteration time threshold value, stopping iteration and ending the clustering process. And (4) obtaining each track point sequence subset obtained by the last iteration, namely each cluster obtained by clustering.
And if the execution main body determines that the second centers are the same as the first centers, finishing clustering, wherein the obtained track point sequence subset is each cluster obtained by clustering. The centers of the track point sequence subsets are the second centers.
According to the method for outputting information provided by the embodiment of the application, the accuracy of calculation can be ensured by determining the value of the track point sequence subset; and meanwhile, the calculation amount can be effectively reduced.
With further reference to fig. 5, as an implementation of the methods shown in the above-mentioned figures, the present application provides an embodiment of an apparatus for outputting information, which corresponds to the method embodiment shown in fig. 2, and which is particularly applicable to various electronic devices.
As shown in fig. 5, the apparatus 500 for outputting information of the present embodiment includes: a first acquisition unit 501, a second acquisition unit 502, a clustering unit 503, a calculation unit 504, and an output unit 505.
The first obtaining unit 501 is configured to obtain track points of a target user in a target time period, so as to obtain a target track point sequence.
The second obtaining unit 502 is configured to obtain track points of multiple users in a city where the target user is located within the target time period, so as to obtain multiple track point sequences.
The clustering unit 503 is configured to cluster the track point sequences in a track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets.
The calculating unit 504 is configured to determine similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset to which the target track point sequence belongs.
An output unit 505 configured to output at least one track point sequence according to the determined similarity.
In some optional implementations of this embodiment, the clustering unit 503 may further include a number determining module, a center determining module, a calculating module, and a feedback module, which are not shown in fig. 5.
A number determination module configured to determine a target number of the subset of sequences of track points based on a number of sequences of track points in the set of sequences of track points.
And the center determining module is configured to select a target number of track point sequences from the track point sequence set as a first center of a target number of track point sequence subsets.
A calculation module configured to perform the following calculation steps based on the determined first center: calculating the distance between the track point sequence and first centers of the number of targets and adding the track point sequence into a track point sequence subset where the first center with the closest distance is located for the track point sequence in the track point sequence set; calculating second centers of the target number of track point sequence subsets and determining whether the target number of second centers is the same as the target number of first centers.
A feedback module configured to determine the second center as the first center to feed back to the calculation module in response to determining that the target number of second centers is not the same as the target number of first centers.
In some optional implementations of this embodiment, the clustering unit 503 may further include a clustering module, not shown in fig. 5, configured to, in response to determining that the target number of second centers is the same as the target number of first centers, obtain a target number of track point sequence subsets respectively centered on the target number of second centers.
In some optional implementations of this embodiment, the sequence of trace points includes positions of the trace points and acquisition times. The above-mentioned computing unit 504 may be further configured to: determining the track vector of the included track points according to the positions and the acquisition moments of the included track points for the target track point sequence and other track point sequences; obtaining a target track vector sequence corresponding to the target track point sequence and other track vector sequences corresponding to other track point sequences according to the track vectors of the included track points; and determining the similarity of the target track vector sequence and other track vector sequences.
In some optional implementations of this embodiment, the output unit 505 may be further configured to: and outputting a preset number of track point sequences corresponding to the similarity according to the sequence of the determined similarity from big to small.
The device for outputting information provided by the above embodiment of the application can first obtain the track points of the target user in the target time interval, and obtain the target track point sequence. Then, track points of a plurality of users in the city where the target user is located in the target time period can be obtained, and a plurality of track point sequences are obtained. And the target track point sequence and the plurality of track point sequences form a track point sequence set. And clustering the track point sequences in the track point sequence set to obtain at least two track point sequence subsets. Then, the similarity between the target track point sequence and other track point sequences in the track point sequence subset to which the target track point sequence belongs is calculated. And finally, outputting at least one track point sequence according to the similarity. The device of this embodiment, through clustering a plurality of track point sequences that acquire, when guaranteeing the accuracy, can reduce the calculated amount effectively.
It should be understood that units 501 to 505, which are described in the apparatus 500 for outputting information, correspond to the respective steps in the method described with reference to fig. 2, respectively. Thus, the operations and features described above for the method for outputting information are equally applicable to the apparatus 500 and the units included therein and will not be described again here.
Referring now to FIG. 6, shown is a block diagram of a computer system 600 suitable for use in implementing a server according to embodiments of the present application. The server shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU)601 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the system 600 are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a machine-readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program performs the above-described functions defined in the method of the present application when executed by a Central Processing Unit (CPU) 601.
It should be noted that the computer readable medium described herein can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart 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 application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a first obtaining unit, a second obtaining unit, a clustering unit, a calculating unit, and an output unit. The names of the units do not form a limitation on the units themselves in some cases, and for example, the first acquisition unit may also be described as a "unit that acquires a track point of the target user within the target time period".
As another aspect, the present application also provides a computer-readable medium, which may be contained in the apparatus described in the above embodiments; or may be present separately and not assembled into the device. The computer readable medium carries one or more programs which, when executed by the apparatus, cause the apparatus to: obtaining track points of a target user in a target time interval to obtain a target track point sequence; obtaining track points of a plurality of users in a city where a target user is located within a target time period to obtain a plurality of track point sequences; clustering track point sequences in a track point sequence set formed by a target track point sequence and a plurality of track point sequences to obtain at least two track point sequence subsets; determining the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset to which the target track point sequence belongs; and outputting at least one track point sequence according to the determined similarity.
The above description is only a preferred embodiment of the application and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention herein disclosed is not limited to the particular combination of features described above, but also encompasses other arrangements formed by any combination of the above features or their equivalents without departing from the spirit of the invention. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.
Claims (12)
1. A method for outputting information, comprising:
obtaining track points of a target user in a target time interval to obtain a target track point sequence;
obtaining track points of a plurality of users in the city where the target user is located in the target time period to obtain a plurality of track point sequences;
clustering the track point sequences in a track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets;
determining the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset to which the target track point sequence belongs;
and outputting at least one track point sequence according to the determined similarity.
2. The method according to claim 1, wherein the clustering the track point sequences in the set of track point sequences formed by the target track point sequence and the plurality of track point sequences to obtain at least two subsets of track point sequences comprises:
determining the target number of the track point sequence subset according to the number of the track point sequences in the track point sequence set;
selecting the target number of track point sequences from the track point sequence set as a first center of the target number of track point sequence subsets;
based on the determined first center, performing the following calculation steps: for the track point sequences in the track point sequence set, calculating the distances between the track point sequences and the first centers with the number of the targets, and adding the track point sequences into a track point sequence subset where the first center with the closest distance is located; calculating second centers of the target number of track point sequence subsets and determining whether the target number of second centers are the same as the target number of first centers;
and in response to determining that the target number of second centers is not the same as the target number of first centers, determining that the second centers are the first centers, and continuing to perform the calculating step.
3. The method according to claim 2, wherein the clustering the track point sequences in the set of track point sequences formed by the target track point sequence and the plurality of track point sequences to obtain at least two subsets of track point sequences comprises:
and obtaining the target number of track point sequence subsets respectively taking the target number of second centers as centers in response to determining that the target number of second centers are the same as the target number of first centers.
4. The method of claim 1, wherein the sequence of trace points includes the location and acquisition time of the trace points; and
the determining the similarity between the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset includes:
determining the track vectors of the included track points according to the positions and the acquisition moments of the included track points for the target track point sequence and the other track point sequences;
obtaining a target track vector sequence corresponding to the target track point sequence and other track vector sequences corresponding to the other track point sequences according to the track vectors of the included track points;
and determining the similarity of the target track vector sequence and the other track vector sequences.
5. The method of any one of claims 1-4, wherein the outputting at least one sequence of trajectory points according to the determined similarity comprises:
and outputting a preset number of track point sequences corresponding to the similarity according to the sequence of the determined similarity from big to small.
6. An apparatus for outputting information, comprising:
the first acquisition unit is configured to acquire track points of a target user in a target time interval to obtain a target track point sequence;
the second acquisition unit is configured to acquire track points of a plurality of users in a city where the target user is located within the target time interval to obtain a plurality of track point sequences;
a clustering unit configured to cluster the track point sequences in a track point sequence set formed by the target track point sequence and the plurality of track point sequences to obtain at least two track point sequence subsets;
the calculating unit is configured to determine the similarity of the target track point sequence and other track point sequences except the target track point sequence in the track point sequence subset;
an output unit configured to output at least one sequence of trajectory points according to the determined similarity.
7. The apparatus of claim 6, wherein the clustering unit comprises:
a number determination module configured to determine a target number of the subset of track point sequences according to a number of track point sequences in the set of track point sequences;
a center determining module configured to select the target number of trace point sequences from the set of trace point sequences as a first center of a subset of the target number of trace point sequences;
a calculation module configured to perform the following calculation steps based on the determined first center: for the track point sequences in the track point sequence set, calculating the distances between the track point sequences and the first centers with the number of the targets, and adding the track point sequences into a track point sequence subset where the first center with the closest distance is located; calculating second centers of the target number of track point sequence subsets and determining whether the target number of second centers are the same as the target number of first centers;
a feedback module configured to determine a second center as the first center to feed back to the calculation module in response to determining that the target number of second centers is not the same as the target number of first centers.
8. The apparatus of claim 7, wherein the clustering unit comprises:
a clustering module configured to obtain the target number of track point sequence subsets respectively centered on the target number of second centers in response to determining that the target number of second centers is the same as the target number of first centers.
9. The device of claim 6, wherein the sequence of trace points includes the location of the trace points and the acquisition time; and
the computing unit is further configured to:
determining the track vectors of the included track points according to the positions and the acquisition moments of the included track points for the target track point sequence and the other track point sequences;
obtaining a target track vector sequence corresponding to the target track point sequence and other track vector sequences corresponding to the other track point sequences according to the track vectors of the included track points;
and determining the similarity of the target track vector sequence and the other track vector sequences.
10. The apparatus of any of claims 6-9, wherein the output unit is further configured to:
and outputting a preset number of track point sequences corresponding to the similarity according to the sequence of the determined similarity from big to small.
11. A server, comprising:
one or more processors;
a storage device having one or more programs stored thereon,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-5.
12. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811001545.9A CN110928914A (en) | 2018-08-30 | 2018-08-30 | Method and apparatus for outputting information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811001545.9A CN110928914A (en) | 2018-08-30 | 2018-08-30 | Method and apparatus for outputting information |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110928914A true CN110928914A (en) | 2020-03-27 |
Family
ID=69854914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811001545.9A Pending CN110928914A (en) | 2018-08-30 | 2018-08-30 | Method and apparatus for outputting information |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928914A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111612675A (en) * | 2020-05-18 | 2020-09-01 | 浙江宇视科技有限公司 | Method, device and equipment for determining peer objects and storage medium |
CN111737387A (en) * | 2020-06-11 | 2020-10-02 | 南京森根安全技术有限公司 | Method and module for discovering specific personnel based on track similarity |
CN111831178A (en) * | 2020-06-29 | 2020-10-27 | 中国科学院软件研究所 | Auxiliary target selection method and system in three-dimensional environment based on motion trend information |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116614A (en) * | 2013-01-25 | 2013-05-22 | 北京奇艺世纪科技有限公司 | Collaborative filtering recommendation method, device and system base on user track |
CN105409306A (en) * | 2014-06-11 | 2016-03-16 | 华为技术有限公司 | Method and apparatus for predicting location of mobile terminal |
CN105787104A (en) * | 2016-03-21 | 2016-07-20 | 百度在线网络技术(北京)有限公司 | User attribute information acquiring method and device |
CN106506705A (en) * | 2016-12-29 | 2017-03-15 | 平安科技(深圳)有限公司 | Listener clustering method and device based on location-based service |
-
2018
- 2018-08-30 CN CN201811001545.9A patent/CN110928914A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116614A (en) * | 2013-01-25 | 2013-05-22 | 北京奇艺世纪科技有限公司 | Collaborative filtering recommendation method, device and system base on user track |
CN105409306A (en) * | 2014-06-11 | 2016-03-16 | 华为技术有限公司 | Method and apparatus for predicting location of mobile terminal |
CN105787104A (en) * | 2016-03-21 | 2016-07-20 | 百度在线网络技术(北京)有限公司 | User attribute information acquiring method and device |
CN106506705A (en) * | 2016-12-29 | 2017-03-15 | 平安科技(深圳)有限公司 | Listener clustering method and device based on location-based service |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111612675A (en) * | 2020-05-18 | 2020-09-01 | 浙江宇视科技有限公司 | Method, device and equipment for determining peer objects and storage medium |
CN111612675B (en) * | 2020-05-18 | 2023-08-04 | 浙江宇视科技有限公司 | Method, device, equipment and storage medium for determining peer objects |
CN111737387A (en) * | 2020-06-11 | 2020-10-02 | 南京森根安全技术有限公司 | Method and module for discovering specific personnel based on track similarity |
CN111831178A (en) * | 2020-06-29 | 2020-10-27 | 中国科学院软件研究所 | Auxiliary target selection method and system in three-dimensional environment based on motion trend information |
CN111831178B (en) * | 2020-06-29 | 2023-01-17 | 中国科学院软件研究所 | Method and system for assisting target selection in three-dimensional environment based on motion trend information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229419B (en) | Method and apparatus for clustering images | |
CN108280477B (en) | Method and apparatus for clustering images | |
CN109492772B (en) | Method and device for generating information | |
CN109376267B (en) | Method and apparatus for generating a model | |
CN109447156B (en) | Method and apparatus for generating a model | |
CN109308490B (en) | Method and apparatus for generating information | |
CN108520470B (en) | Method and apparatus for generating user attribute information | |
CN107944481B (en) | Method and apparatus for generating information | |
WO2017012236A1 (en) | Method and apparatus for crowd risk early warning | |
CN108228428B (en) | Method and apparatus for outputting information | |
CN110929799B (en) | Method, electronic device, and computer-readable medium for detecting abnormal user | |
CN109214501B (en) | Method and apparatus for identifying information | |
CN108509921B (en) | Method and apparatus for generating information | |
CN110619078B (en) | Method and device for pushing information | |
CN110928914A (en) | Method and apparatus for outputting information | |
CN111814910A (en) | Abnormality detection method, abnormality detection device, electronic apparatus, and storage medium | |
CN109934142B (en) | Method and apparatus for generating feature vectors of video | |
CN110941978A (en) | Face clustering method and device for unidentified personnel and storage medium | |
CN109919220B (en) | Method and apparatus for generating feature vectors of video | |
CN113256339B (en) | Resource release method and device, storage medium and electronic equipment | |
JP7216757B2 (en) | Method and apparatus for obtaining information | |
CN110414613A (en) | Method, apparatus, equipment and the computer readable storage medium of region clustering | |
US10845485B2 (en) | Method and apparatus for generating information | |
CN108062576B (en) | Method and apparatus for output data | |
CN113034580B (en) | Image information detection method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200327 |