Permanent point identification method and device, electronic equipment and medium
By dynamically determining the clustering parameters and identifying the resident points based on the distribution of user trajectory points, the problem of low recognition accuracy caused by empirical setting of clustering parameters in the prior art is solved, and a higher recognition accuracy is achieved.
Patent Information
- Application Number
- CN202111566808.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-20
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2041-12-20
AI Technical Summary
When identifying the user's resident points in the prior art, clustering parameters are usually set by experience and cannot reflect individual differences between users and regional behavior differences, resulting in low recognition accuracy.
By obtaining the user trajectory point set, the trajectory point clustering area and subset are determined, the clustering radius and density threshold are determined based on the intertrajectory point distance and coordinates, and clustering operations are performed to identify the user resident point.
By dynamically generating clustering parameters, users' resident points can be more accurately identified and the recognition accuracy can be improved.
Smart Images

Figure CN114238794B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, in particular to the field of smart transportation, data mining and machine learning technology, and specifically to a permanent point identification method, device, electronic device, computer-readable storage medium and computer program product. Background Art
[0002] In smart transportation, user permanent points are of great significance. Through user permanent points, we can further analyze users’ travel needs and provide better services to users.
[0003] The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art. Summary of the invention
[0004] The present disclosure provides a method, an apparatus, an electronic device, a computer-readable storage medium, and a computer program product for identifying a permanent point.
[0005] According to one aspect of the present disclosure, a permanent point identification method is provided, comprising: obtaining a user trajectory point set, wherein the user trajectory point set includes multiple first trajectory points of the user; determining at least one trajectory point aggregation area based on the coordinates of the multiple first trajectory points; determining at least one trajectory point subset based on the at least one trajectory point aggregation area, wherein each trajectory point subset in the at least one trajectory point subset includes multiple second trajectory points, and wherein the multiple second trajectory points include multiple first trajectory points in the corresponding trajectory point aggregation area; and for each trajectory point subset in the at least one trajectory point subset, performing the following operations: determining a first clustering radius based on the distances between the multiple second trajectory points; determining a first density threshold based on the first clustering radius and the coordinates of the multiple second trajectory points; and performing a clustering operation on the multiple second trajectory points based on the first clustering radius and the first density threshold to determine the user permanent points of the trajectory point aggregation area corresponding to the trajectory point subset.
[0006] According to another aspect of the present disclosure, a resident point recognition device is provided, comprising: an acquisition unit configured to acquire a user trajectory point set, wherein the user trajectory point set includes a plurality of first trajectory points of the user; a first determination unit configured to determine at least one trajectory point aggregation area based on coordinates of the plurality of first trajectory points; a second determination unit configured to determine at least one trajectory point subset based on the at least one trajectory point aggregation area, wherein each trajectory point subset in the at least one trajectory point subset includes a plurality of second trajectory points, and wherein the plurality of second trajectory points include a plurality of first trajectory points in the corresponding trajectory point aggregation area. Point; and an execution unit, configured to perform the operation of the following sub-units for each trajectory point subset in the at least one trajectory point subset, wherein the execution unit includes: a first determination sub-unit, configured to determine a first clustering radius based on the distances between the multiple second trajectory points; a second determination sub-unit, configured to determine a first density threshold based on the first clustering radius and the coordinates of the multiple second trajectory points; and a clustering sub-unit, configured to perform clustering operations on the multiple second trajectory points based on the first clustering radius and the first density threshold, so as to determine the user's permanent point in the trajectory point clustering area corresponding to the trajectory point subset.
[0007] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned permanent point identification method.
[0008] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the above-mentioned permanent point identification method.
[0009] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements the above-mentioned resident point identification method when executed by a processor.
[0010] According to one or more embodiments of the present disclosure, it is possible to obtain a set of trajectory points of one or more small areas through the distribution of trajectory points, and then generate corresponding clustering parameters for the trajectory points of each small area, and cluster each small area according to the corresponding clustering parameters, so as to obtain more accurate user permanent points.
[0011] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0013] Figure 1 A schematic diagram showing an exemplary system in which the various methods described herein may be implemented according to an embodiment of the present disclosure;
[0014] Figure 2 A flow chart of a method for identifying a resident point according to an embodiment of the present disclosure is shown;
[0015] Figure 3 A flow chart of a method for identifying a resident point according to an embodiment of the present disclosure is shown;
[0016] Figure 4 A structural block diagram of a resident point identification device according to an embodiment of the present disclosure is shown;
[0017] Figure 5 A structural block diagram of a resident point identification device according to an embodiment of the present disclosure is shown;
[0018] Figure 6 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0019] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0020] In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements, and such terms are only used to distinguish one element from another element. In some examples, the first element and the second element may refer to the same instance of the element, and in some cases, based on the description of the context, they may also refer to different instances.
[0021] The terms used in the description of various examples in this disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. In addition, the term "and / or" used in this disclosure covers any one of the listed items and all possible combinations.
[0022] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0023] Figure 1 FIG. 1 is a schematic diagram of an exemplary system 100 in which various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.
[0024] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable the execution of the resident point identification method.
[0025] In some embodiments, server 120 may also provide other services or software applications that may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.
[0026] exist Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may in turn utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0027] The user may upload his / her track points and related information using client devices 101, 102, 103, 104, 105 and / or 106. The client device may provide an interface that enables the user of the client device to interact with the client device. The client device may also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure may support any number of client devices.
[0028] Client devices 101, 102, 103, 104, 105 and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, game systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular phones, smart phones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Game systems may include various handheld game devices, Internet-enabled game devices, etc. Client devices are capable of executing various different applications, such as various Internet-related applications, communication applications (such as email applications), short message service (SMS) applications, and may use various communication protocols.
[0029] The network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, the one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.
[0030] Server 120 may include one or more general purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0031] The computing units in the server 120 may run one or more operating systems including any of the above operating systems and any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0032] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.
[0033] In some embodiments, the server 120 may be a server of a distributed system, or a server combined with a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in a cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services.
[0034] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in various locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different types. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.
[0035] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0036] Figure 1 The system 100 may be configured and operated in various ways to enable the application of various methods and apparatuses described in the present disclosure.
[0037] At present, the identification of user permanent points usually uses a density-based clustering algorithm. The clustering parameters used are usually set by technicians based on their experience. However, the self-set clustering parameters often cannot reflect the individual differences of users and the behavioral differences of the same user in different areas, which leads to low accuracy in permanent point identification.
[0038] According to the embodiments of the present disclosure, Figure 2As shown, a permanent point identification method is provided, including: step S201, obtaining a user trajectory point set, wherein the user trajectory point set includes multiple first trajectory points of the user; step S202, determining at least one trajectory point aggregation area based on the coordinates of the multiple first trajectory points; step S203, determining at least one trajectory point subset based on the at least one trajectory point aggregation area, wherein each trajectory point subset in the at least one trajectory point subset includes multiple second trajectory points, and wherein the multiple second trajectory points include multiple first trajectory points in the corresponding trajectory point aggregation area; and for each trajectory point subset in the at least one trajectory point subset, performing the following operations: step S204, determining a first clustering radius based on the distances between the multiple second trajectory points; step S205, determining a first density threshold based on the first clustering radius and the coordinates of the multiple second trajectory points; and step S206, performing a clustering operation on the multiple second trajectory points based on the first clustering radius and the first density threshold to determine the user permanent points in the trajectory point aggregation area corresponding to the trajectory point subset.
[0039] According to the permanent point identification method of the embodiment of the present disclosure, a set of trajectory points of one or more small areas can be obtained through the distribution of trajectory points, and then corresponding clustering parameters are generated for the trajectory points of each small area, and each small area is clustered according to the corresponding clustering parameters, so as to obtain a more accurate user permanent point.
[0040] A user trajectory point set may include multiple trajectory points of a user. When identifying a user's permanent points through trajectory points, it is often necessary to judge the timeliness and validity of the trajectory points. For example, a user may have moved six months ago, and the permanent points obtained based on the trajectory points six months ago may have lost their timeliness. For another example, some of the user's trajectory points may only be trajectory points where they stayed for a short time or passed by, so the identification of the user's permanent points is also invalid and may even introduce noise into the identification process.
[0041] According to some embodiments, obtaining a set of user trajectory points includes: obtaining multiple first trajectory points of the user within a preset time range; obtaining the speed and wireless LAN information of each of the multiple first trajectory points, wherein the wireless LAN information includes at least one wireless LAN signal name obtained by the mobile device when the user is at the first trajectory point; counting the number of times each of the at least one wireless LAN signal name is obtained by the mobile device and its proportion in the total number of times; and in response to satisfying at least one of the following conditions, filtering out the corresponding first trajectory point: the speed exceeds a preset speed threshold; and the proportion is less than a preset ratio threshold.
[0042] In one example, the user's permanent point can be identified based on the user's trajectory points within a preset time range. For example, only the user's trajectory points in the last six months are identified and analyzed, so as to ensure the timeliness of the trajectory points and thus ensure the timeliness of the user's permanent point identification. It is understandable that the above preset time range can be determined by those skilled in the art and is not limited here.
[0043] In one example, it is possible to determine whether the trajectory point is a trajectory point where the user passes by or briefly stays by determining whether the speed recorded by the trajectory point at that time exceeds a preset speed threshold. For example, when the speed recorded by the trajectory point is 40km / h, the user is on the move when the trajectory point is collected, that is, the probability that the location of the trajectory point is the user's permanent point is extremely low, so filtering out the point can further reduce the error in identifying the user's permanent point. It is understandable that the above-mentioned preset speed threshold can be determined by a person skilled in the art, for example, it can be 7km / h, which is not limited here.
[0044] In one example, the wireless LAN information recorded by the track point can also be used to determine whether the track point is a track point where the user passes by or stays for a short time. Some of the user's track points will contain wireless LAN information, which is a list of surrounding wireless LAN signals obtained by the user's mobile device when the user is at a certain place. By counting the wireless LAN signals identified by all track points in the track point set and the number of times the signal is identified, the proportion of the number of occurrences of all wireless LAN signals can be counted. However, when the proportion is less than a preset ratio threshold, it means that the track point corresponding to the signal is a track point where the user stays for a short time or stays less frequently, that is, the probability that the location of the track point is the user's permanent point is extremely low, so the point is screened out to further reduce the error in the identification of the user's permanent point. It can be understood that the above-mentioned preset ratio threshold can be determined by a person skilled in the art, and is not limited here.
[0045] The distribution of a user's trajectory points in different locations is often different. For example, when a user is at home, the distribution of his trajectory points will be relatively concentrated; while when the user is in a large shopping mall or a large factory, the distribution of his trajectory points will be more discrete.
[0046] According to some embodiments, determining at least one trajectory point aggregation area based on the coordinates of the multiple first trajectory points includes: obtaining at least one first area based on the coordinates of each first trajectory point among the multiple first trajectory points, wherein the trajectory point density in the first area exceeds a preset density threshold; and obtaining road network information corresponding to each first area among the at least one first area to determine the at least one trajectory point aggregation area, wherein the road network information includes the outline of the building corresponding to the first area in the road network.
[0047] In one example, for a set of trajectory points of a user, its distribution density in physical space can be obtained. For example, all trajectory points of the user can be mapped to the same plane coordinate system, and the plane coordinate system can be evenly divided into several regions, and the density of trajectory points in each region is counted, and the region with a trajectory point density exceeding a preset density threshold is selected from these regions, and the region is taken as the first region. Then, by performing reverse geocoding retrieval on the trajectory points corresponding to the first region, the building corresponding to the first region in the road network is obtained, and the surface polygonal region corresponding to the first region is obtained based on the outline of the building, so as to obtain the trajectory point aggregation region corresponding to the first region.
[0048] In one example, for a user's trajectory point set, the trajectory points can be simply clustered to obtain multiple areas where the trajectory points are more concentrated, and multiple surface polygonal areas are obtained using the lines connecting the boundary points of each area obtained by clustering as boundaries, thereby obtaining multiple trajectory point aggregation areas.
[0049] Therefore, by first obtaining a plurality of trajectory point clustering areas, and by obtaining the trajectory points covered by each trajectory point clustering area, the entire trajectory point set is divided into a plurality of trajectory point subsets, thereby realizing the identification of permanent points in each subset respectively.
[0050] Since the distribution of trajectory points represented by each trajectory point subset is different, the clustering radius and density threshold used for each subset should be adjusted accordingly.
[0051] According to some embodiments, determining the first clustering radius based on the distances between the multiple second trajectory points may include: calculating the distances between the multiple second trajectory points based on the coordinates of the multiple second trajectory points to obtain at least one first distance; and calculating the normal distribution mean of the at least one first distance to determine the first clustering radius.
[0052] In one example, for a subset of trajectory points, the first distances between every two trajectory points in all second trajectory points in the set are first calculated, and a normal distribution is fitted for all first distances, and the normal distribution mean of the first distances is obtained, and the normal distribution mean is used as the first clustering radius applied to the subset of trajectory points.
[0053] In one example, for a trajectory point subset, after calculating the first distances between every two trajectory points in all second trajectory points in the set, quantile statistics may be performed on all first distances, and the distance at the 80th percentile may be used as the first clustering radius applied to the trajectory point subset.
[0054] In this way, it is possible to determine the clustering radius parameter used for clustering based on the distribution of trajectory points in each trajectory point subset.
[0055] According to some embodiments, based on the first clustering radius and the coordinates of the multiple second trajectory points, determining the first density threshold may include: taking each of the multiple second trajectory points as the center of the circle, obtaining a first number of second trajectory points within the multiple first clustering radii; and calculating the normal distribution mean of the multiple first numbers to determine the first density threshold.
[0056] Therefore, based on the first clustering radius corresponding to the trajectory point subset obtained above, the density threshold applicable to the trajectory point subset can be further obtained. For a trajectory point subset, firstly, the first clustering radius corresponding to the subset is used as the radius, and each second trajectory point in the subset is used as the center of the circle to draw multiple circular areas, and the number of second trajectory points covered by these circular areas is counted, that is, the first quantity. Then, by fitting a normal distribution to all the first quantities, the normal distribution mean of the first quantity is obtained, and the normal distribution mean is used as the first density threshold applied to the clustering of the trajectory point subset.
[0057] Optionally, quantile statistics may be performed on all first quantities, and the quantity at the 90th percentile may be used as the first density threshold applied to the trajectory point subset.
[0058] Through the above operation, the first clustering radius and the first density threshold corresponding to each trajectory point subset are obtained, and then the DBSCAN clustering algorithm is applied to all the second trajectory points in the set for clustering analysis, so as to obtain multiple cluster center points, that is, the user's permanent points.
[0059] Therefore, through the distribution of trajectory points, a set of trajectory points of one or more small areas is obtained, and then the corresponding clustering parameters are generated for the trajectory points of each small area, and each small area is clustered according to the corresponding clustering parameters, so as to obtain a more accurate user residence point.
[0060] When analyzing multiple user trajectory point sets at the same time, it is also necessary to consider that each user has different habits, so the order of magnitude of each user's trajectory points is quite different. Therefore, in response to executing multiple user permanent point identification tasks, the number of trajectory points in the user trajectory point set corresponding to each user permanent point identification task in the multiple user permanent point identification tasks is determined; and based on the number of trajectory points, the corresponding number of computing units and concurrency are determined for the corresponding user permanent point identification task. Therefore, different numbers of computing units and concurrency are allocated to different users according to different data volumes, so that computing resources can be reasonably allocated and computing performance can be further optimized.
[0061] According to some embodiments, Figure 3 As shown, a method for identifying a permanent point is provided, comprising: step S301, obtaining a plurality of first track points of the user within a preset time range; step S302, obtaining the speed and wireless local area network information of each of the plurality of first track points, wherein the wireless local area network information comprises at least one wireless local area network signal name obtained by the mobile device when the user is at the first track point; step S303, counting the number of times each of the at least one wireless local area network signal name is obtained by the mobile device and its proportion in the total number of times; step S304, in response to satisfying at least one of the following conditions, filtering out the corresponding first track point: the speed exceeds a preset speed threshold; and the proportion is less than a preset ratio threshold; step S305, determining at least one track point cluster based on the coordinates of the plurality of first track points The method comprises the following steps: determining a first clustering area of the plurality of second trajectory points based on the at least one trajectory point clustering area; step S306, determining at least one trajectory point subset based on the at least one trajectory point clustering area, wherein each trajectory point subset in the at least one trajectory point subset includes a plurality of second trajectory points, and wherein the plurality of second trajectory points include a plurality of first trajectory points in the corresponding trajectory point clustering area; and for each trajectory point subset in the at least one trajectory point subset, performing the following operations: step S307, determining a first clustering radius based on the distances between the plurality of second trajectory points; step S308, determining a first density threshold based on the first clustering radius and the coordinates of the plurality of second trajectory points; and step S309, performing a clustering operation on the plurality of second trajectory points based on the first clustering radius and the first density threshold to determine a user permanent point in the trajectory point clustering area corresponding to the trajectory point subset. Figure 3 Steps S301 to S309 in the embodiment are similar to the above embodiment and will not be described in detail here.
[0062] According to some embodiments, Figure 4As shown, a resident point recognition device 400 is provided, comprising: an acquisition unit 410, configured to acquire a user trajectory point set, wherein the user trajectory point set includes a plurality of first trajectory points of the user; a first determination unit 420, configured to determine at least one trajectory point aggregation area based on the coordinates of the plurality of first trajectory points; a second determination unit 430, configured to determine at least one trajectory point subset based on the at least one trajectory point aggregation area, wherein each trajectory point subset in the at least one trajectory point subset includes a plurality of second trajectory points, and wherein the plurality of second trajectory points include a plurality of first trajectory points in a corresponding trajectory point aggregation area; and The execution unit 440 is configured to perform the operations of the following sub-units for each trajectory point subset in the at least one trajectory point subset, wherein the execution unit includes: a first determination sub-unit 441, configured to determine a first clustering radius based on the distances between the multiple second trajectory points; a second determination sub-unit 442, configured to determine a first density threshold based on the first clustering radius and the coordinates of the multiple second trajectory points; and a clustering sub-unit 443, configured to perform clustering operations on the multiple second trajectory points based on the first clustering radius and the first density threshold to determine the user's permanent point in the trajectory point clustering area corresponding to the trajectory point subset.
[0063] The operations of the units 410 to 440 and the subunits 441 to 443 of the permanent point identification device 400 are similar to the operations of steps S201 to S206 of the above-mentioned text data preprocessing method, and are not described in detail here.
[0064] According to some embodiments, the first determination subunit may include: a first calculation module, configured to calculate the distances between the multiple second trajectory points based on the coordinates of the multiple second trajectory points to obtain at least one first distance; and a second calculation module, configured to calculate the normal distribution mean of the at least one first distance to determine the first clustering radius.
[0065] According to some embodiments, the second determination subunit may include: an acquisition module, configured to acquire a first number of second trajectory points within a plurality of first clustering radii with each of the plurality of second trajectory points as the center of a circle; and a third calculation module, configured to calculate a normal distribution mean of the plurality of the first numbers to determine the first density threshold.
[0066] According to some embodiments, the first determination unit of the permanent point identification device includes: a first acquisition subunit, configured to acquire at least one first area based on the coordinates of each first trajectory point among the multiple first trajectory points, wherein the trajectory point density in the first area exceeds a preset density threshold; and a second acquisition subunit, configured to acquire road network information corresponding to each first area among the at least one first area to determine the at least one trajectory point aggregation area, wherein the road network information includes the outline of the building corresponding to the first area in the road network.
[0067] According to some embodiments, Figure 5 As shown, a permanent point identification device 500 is also provided, wherein an acquisition unit 510 includes: a third acquisition subunit 511, configured to acquire a plurality of first trajectory points of the user within a preset time range; a fourth acquisition subunit 512, configured to acquire the speed and wireless LAN information of each of the plurality of first trajectory points, wherein the wireless LAN information includes at least one wireless LAN signal name acquired by the mobile device when the user is at the first trajectory point; a counting subunit 513, configured to count the number of times each of the at least one wireless LAN signal name is acquired by the mobile device and its proportion in the total number of times; and a screening subunit 514, configured to screen out the corresponding first trajectory point in response to satisfying at least one of the following conditions: the speed exceeds a preset speed threshold; and the proportion is less than a preset ratio threshold. Figure 5 The units 520 - 540 and subunits 541 - 543 in the embodiment are similar to those described above and will not be described in detail herein.
[0068] The operations of the units 510 to 540 and the subunits 511 to 514 and the subunits 541 to 543 in the permanent point identification device 500 are similar to the operations of steps S301 to S309 of the above-mentioned text data preprocessing method, and are not described in detail here.
[0069] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0070] According to an embodiment of the present disclosure, an electronic device, a readable storage medium and a computer program product are also provided.
[0071] refer to Figure 6, a block diagram of an electronic device 600 that can be used as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0072] like Figure 6 As shown, the electronic device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0073] Multiple components in the electronic device 600 are connected to the I / O interface 605, including: an input unit 606, an output unit 607, a storage unit 608 and a communication unit 609. The input unit 606 can be any type of device that can input information to the electronic device 600. The input unit 606 can receive input digital or character information, and generate key signal input related to user settings and / or function control of the electronic device, and can include but is not limited to a mouse, a keyboard, a touch screen, a trackpad, a trackball, a joystick, a microphone and / or a remote control. The output unit 607 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator and / or a printer. The storage unit 608 can include but is not limited to a disk, an optical disk. The communication unit 609 allows the electronic device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver and / or a chipset, such as Bluetooth TM devices, 802.11 devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.
[0074] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as the resident point identification method. For example, in some embodiments, the resident point identification method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the resident point identification method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the resident point identification method in any other appropriate manner (e.g., by means of firmware).
[0075] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0076] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0077] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0078] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0079] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0080] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0081] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0082] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but only by the claims after authorization and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by their equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples can be combined in various ways. It is important that with the evolution of technology, many elements described herein can be replaced by equivalent elements that appear after the present disclosure.
Claims
1. A method for identifying a permanent point, comprising: Acquire a user trajectory point set, wherein the user trajectory point set includes a plurality of first trajectory points of the user; Based on the coordinates of the plurality of first trajectory points, determining at least one trajectory point gathering area; Based on the at least one trajectory point aggregation area, determining at least one trajectory point subset, wherein each of the at least one trajectory point subset includes a plurality of second trajectory points, wherein the plurality of second trajectory points include a plurality of first trajectory points in the corresponding trajectory point aggregation area; and For each of the at least one trajectory point subset, the following operations are performed: Determining a first clustering radius based on distances between the plurality of second trajectory points includes: Based on the coordinates of the plurality of second trajectory points, calculating the distance between any two of the plurality of second trajectory points to obtain at least one first distance; and Calculating a normal distribution mean of the at least one first distance to determine the first clustering radius; determining a first density threshold based on the first cluster radius and the coordinates of the plurality of second trajectory points; and Based on the first clustering radius and the first density threshold, a clustering operation is performed on the plurality of second trajectory points to determine a user's permanent point in a trajectory point clustering area corresponding to the trajectory point subset.
2. The method according to claim 1, wherein: The determining a first density threshold based on the first clustering radius and the coordinates of the plurality of second trajectory points comprises: Taking each of the plurality of second trajectory points as a circle center, obtaining a first number of second trajectory points within a plurality of the first clustering radii; and A plurality of normal distribution means of the first quantities are calculated to determine the first density threshold.
3. The method according to claim 1 or 2, wherein: The determining at least one trajectory point gathering area based on the coordinates of the plurality of first trajectory points comprises: Based on the coordinates of each of the plurality of first trajectory points, acquiring at least one first area, wherein a density of trajectory points in the first area exceeds a preset density threshold; and Obtain road network information corresponding to each of the at least one first area to determine the at least one trajectory point aggregation area, wherein the road network information includes the outline of the building corresponding to the first area in the road network.
4. The method according to claim 1 or 2, wherein: The obtaining of a user trajectory point set comprises: Acquire a plurality of first trajectory points of the user within a preset time range; Acquire a speed and wireless local area network information of each of the plurality of first track points, wherein the wireless local area network information includes at least one wireless local area network signal name acquired by the mobile device when the user is at the first track point; Counting the number of times each wireless local area network signal name in the at least one wireless local area network signal name is acquired by the mobile device and the proportion of the number of times in the total number; and In response to satisfying at least one of the following conditions, the corresponding first trajectory point is filtered out: The speed exceeds a preset speed threshold; and The proportion is less than a preset ratio threshold.
5. A permanent point identification device, comprising: An acquisition unit is configured to acquire a user trajectory point set, wherein the user trajectory point set includes a plurality of first trajectory points of the user; A first determining unit is configured to determine at least one trajectory point gathering area based on the coordinates of the plurality of first trajectory points; a second determining unit configured to determine at least one trajectory point subset based on the at least one trajectory point aggregation area, wherein each trajectory point subset in the at least one trajectory point subset includes a plurality of second trajectory points, and wherein the plurality of second trajectory points include a plurality of first trajectory points in a corresponding trajectory point aggregation area; and An execution unit is configured to execute the operations of the following subunits for each trajectory point subset in the at least one trajectory point subset, wherein the execution unit comprises: The first determining subunit is configured to determine a first clustering radius based on distances between the plurality of second trajectory points, wherein the first determining subunit includes: A first calculation module is configured to calculate the distance between any two of the plurality of second trajectory points based on the coordinates of the plurality of second trajectory points to obtain at least one first distance; and a second calculation module, configured to calculate a normal distribution mean of the at least one first distance to determine the first clustering radius; a second determining subunit configured to determine a first density threshold based on the first clustering radius and the coordinates of the plurality of second trajectory points; and The clustering subunit is configured to perform a clustering operation on the plurality of second trajectory points based on the first clustering radius and the first density threshold to determine a user's permanent point in the trajectory point clustering area corresponding to the trajectory point subset.
6. The device according to claim 5, wherein: The second determining subunit includes: an acquisition module, configured to acquire a first number of second trajectory points within a plurality of first clustering radii with each of the plurality of second trajectory points as a circle center; and The third calculation module is configured to calculate a plurality of normal distribution means of the first quantities to determine the first density threshold.
7. The device according to claim 5 or 6, wherein: The first determining unit includes: A first acquisition subunit is configured to acquire at least one first area based on the coordinates of each of the plurality of first trajectory points, wherein a trajectory point density in the first area exceeds a preset density threshold; and The second acquisition subunit is configured to acquire road network information corresponding to each of the at least one first area to determine the at least one trajectory point aggregation area, wherein the road network information includes the outline of the building corresponding to the first area in the road network.
8. The device according to claim 5 or 6, wherein: The acquisition unit comprises: A third acquisition subunit is configured to acquire a plurality of first trajectory points of the user within a preset time range; a fourth acquisition subunit, configured to acquire a speed and wireless local area network information of each of the plurality of first track points, wherein the wireless local area network information includes at least one wireless local area network signal name acquired by the mobile device when the user is at the first track point; a counting subunit, configured to count the number of times each wireless local area network signal name of the at least one wireless local area network signal name is acquired by the mobile device and its proportion in the total number of times; and The screening subunit is configured to screen out the corresponding first trajectory point in response to satisfying at least one of the following conditions: The speed exceeds a preset speed threshold; and The proportion is less than a preset ratio threshold.
9. An electronic device, comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 4.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-4.
11. A computer program product comprising a computer program, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Method and device for classification tracking of multiple targets
CN105259554A
Method and device for processing resident point of user and storage medium
CN107547633A
Radar multi-target clustering method and device
CN110161464A