A destination recommendation method and apparatus

By building a destination recommendation model based on user's historical driving trajectory data, the high operating cost and error rate problems of user manual input destinations in existing navigation devices are solved, and more accurate destination recommendations and higher user experience are achieved.

CN111382217BActive Publication Date: 2025-06-24BEIJING QIHOOD TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201811636707.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-12-29
Publication Date
2025-06-24
Estimated Expiration
2038-12-29

AI Technical Summary

Technical Problem

In existing navigation devices and travel applications, users need to manually or voice input destinations, resulting in high operating costs and high error rates, which reduces the operability and user experience of the device.

Method used

By obtaining the user's historical driving trajectory data, a destination recommendation model is built, and the model is used to recommend the destination based on the user's current location and time information.

Benefits of technology

This method can more accurately recommend destinations that meet users' travel habits, reduce user input steps, improve user experience, and be suitable for travel-related smart hardware or devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111382217B_ABST
    Figure CN111382217B_ABST
Patent Text Reader

Abstract

The present invention discloses a destination recommendation method, apparatus, electronic device, and computer-readable storage medium. The method includes: obtaining historical driving trajectory data of a user; using the obtained historical driving trajectory data as training sample data to construct a destination recommendation model; when receiving a query request sent by the user, determining a destination recommended to the user according to the user's current location information and current time information, and presenting it to the user. In this technical solution, using the user's historical driving trajectory data as a reference to construct a destination recommendation model conforms to the user's travel habits, and using this destination recommendation model to determine the recommended destination also better meets the user's travel needs, which can avoid saving the steps that the user needs to input manually, and is especially suitable for application in intelligent hardware or devices in the travel category, improving the user's experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and particularly to a destination recommendation method, apparatus, electronic device, and computer-readable storage medium. Background Art

[0002] Existing navigation devices or travel applications are favored by users because they bring great convenience to users. To implement the navigation function, it is necessary to determine the destination that the user wants to reach, and then formulate a path planning for travel decisions according to the determined destination in the prior art. In the prior art, in the way of determining the destination, the user inputs the destination manually or by voice. However, this way has a relatively large operation cost. Especially for navigation devices, such as the navigation hardware of a driving recorder, it is not convenient for the user to directly input manually. Even after input, due to reasons such as the environment and the hardware volume, the probability of input error increases greatly, which not only brings a bad user experience to the user, but also reduces the operability of the device. Summary of the Invention

[0003] In view of the above problems, the present invention is proposed to provide a destination recommendation method, apparatus, electronic device, and computer-readable storage medium that overcome the above problems or at least partially solve the above problems.

[0004] According to one aspect of the present invention, there is provided a destination recommendation method, which includes:

[0005] Obtain the historical driving trajectory data of the user;

[0006] Use the obtained historical driving trajectory data as training sample data to construct a destination recommendation model;

[0007] When receiving a query request sent by the user, according to the current location information and current time information of the user, use the constructed destination recommendation model to determine the destination recommended to the user and display it to the user.

[0008] Optionally, the obtaining of the historical driving trajectory data of the user includes:

[0009] Obtain the device ID, timestamp data, and location information of the user.

[0010] Optionally, the using of the obtained historical driving trajectory data as training sample data to construct a destination recommendation model includes:

[0011] According to the obtained historical driving trajectory data, determine one or more candidate destination information;

[0012] According to the determined candidate destination information, calculate the scores of each candidate destination, and use the preset number of candidate destinations with the highest scores as the candidate destinations to be recommended by the destination recommendation model.

[0013] Optionally, the determining one or more candidate destination information according to the obtained historical driving trajectory data includes:

[0014] According to the obtained historical driving trajectory data, determine one or more origin-destination pairs;

[0015] Perform hierarchical clustering on the determined one or more origin-destination pairs to obtain one or more candidate cluster sets;

[0016] Merge the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set.

[0017] Optionally, the determining one or more origin-destination pairs according to the obtained historical driving trajectory data includes:

[0018] According to the obtained historical driving trajectory data, determine one or more sub-driving trajectory data corresponding to the user;

[0019] According to the determined one or more sub-driving trajectory data, obtain one or more origin-destination pairs.

[0020] Optionally, the performing hierarchical clustering on the determined one or more origin-destination pairs to determine one or more candidate cluster sets includes:

[0021] Use the hierarchical clustering training model to perform the first-level clustering on the determined one or more origin-destination pairs to obtain one or more candidate regions;

[0022] Perform the second-level clustering on the obtained one or more candidate regions to determine the candidate sub-region with the largest density of stop positions in each candidate region;

[0023] Use each stop position in each candidate sub-region as an element of the candidate cluster set corresponding to the candidate sub-region to obtain the candidate cluster sets corresponding to each candidate sub-region.

[0024] Optionally, the merging the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set includes:

[0025] Calculate the center points of each candidate cluster set, and use the calculated center points of each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets.

[0026] Optionally, the calculating the scores of each candidate destination according to the determined candidate destination information includes:

[0027] Using a scoring function, calculate the scores of each candidate destination according to the determined candidate destination information; wherein, the scoring function includes:

[0028]

[0029] wherein, S i is the score of the candidate destination; β is the time decay parameter; t now is the model training date; t last is the date when the user last stayed at this candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of this candidate destination in the corresponding candidate cluster set.

[0030] Optionally, the method further includes:

[0031] Train the destination sample data labeled with class labels to obtain a destination label classification model;

[0032] Obtain the specified features of a preset number of candidate destinations with the highest scores;

[0033] According to the obtained specified features of each candidate destination, use the destination label classification model to determine the classification labels of each candidate destination.

[0034] Optionally, the specified features include one or more of the following:

[0035] Number of driving trajectories;

[0036] Probability of the morning rush hour;

[0037] Probability of the evening rush hour;

[0038] Probability of weekdays;

[0039] Probability of weekends;

[0040] Location point POI category attribute.

[0041] Optionally, the method further includes:

[0042] Add reverse geocoding information to the preset number of candidate destinations with the highest scores obtained.

[0043] Optionally, the determining of the destination recommended to the user according to the user's current location information and current time information by using the constructed destination recommendation model includes:

[0044] Based on the user's current location information and current time information, using the constructed destination recommendation model, calculate the scores of each recommended destination in the destination recommendation model, and use the to-be-recommended destination with the highest score as the destination recommended to the user.

[0045] Optionally, the calculating the scores of each recommended destination in the destination recommendation model based on the user's current location information and current time information using the constructed destination recommendation model includes:

[0046] Based on the user's current location information and current time information, use a scoring function to calculate the scores of each candidate destination; wherein, the scoring function includes:

[0047]

[0048] wherein, S i ’ is the current score of the candidate destination; β is the time decay parameter; t now ' is the current time information; t last is the date when the user last stayed at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

[0049] Optionally, the method further includes:

[0050] Save the constructed destination recommendation model to a specified database and provide a corresponding application programming API interface;

[0051] The determining the destination recommended to the user based on the user's current location information and current time information using the constructed destination recommendation model when receiving a query request sent by the user includes:

[0052] When receiving a query request sent by the user, call the API interface, and based on the user's current location information and current time information, use the constructed destination recommendation model to determine the destination recommended to the user.

[0053] Optionally, the method further includes:

[0054] Perform noise reduction processing on the obtained historical driving trajectory data.

[0055] Optionally, the method further includes:

[0056] Perform smoothing processing on the noise-reduced historical driving trajectory data.

[0057] Optionally, the method further includes:

[0058] Receive the path query instruction for the specified destination input by the user, or receive the selection instruction of the recommended destination by the user;

[0059] According to the received instruction, determine one or more path information from the current location of the user to the destination and display it to the user.

[0060] According to another aspect of the present invention, a destination recommendation device is provided, wherein the device includes:

[0061] An acquisition unit, adapted to acquire the historical driving track data of the user;

[0062] A model construction unit, adapted to use the acquired historical driving track data as training sample data to construct a destination recommendation model;

[0063] A destination determination unit, adapted to, when receiving the query request sent by the user, according to the current location information and current time information of the user, use the constructed destination recommendation model to determine the destination recommended to the user and display it to the user.

[0064] Optionally,

[0065] The acquisition unit is adapted to acquire the device ID, timestamp data and location information of the user.

[0066] Optionally,

[0067] The model construction unit is adapted to determine one or more candidate destination information according to the acquired historical driving track data; calculate the scores of each candidate destination according to the determined candidate destination information, and use the preset number of candidate destinations with the highest scores as the destinations to be recommended by the destination recommendation model.

[0068] Optionally,

[0069] The model construction unit is adapted to determine one or more origin-destination pairs according to the acquired historical driving track data; perform hierarchical clustering on the determined one or more origin-destination pairs to obtain one or more candidate cluster sets; merge the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set.

[0070] Optionally,

[0071] The model construction unit is adapted to determine one or more sub-driving track data corresponding to the user according to the acquired historical driving track data; obtain one or more origin-destination pairs according to the determined one or more sub-driving track data.

[0072] Optionally,

[0073] The model construction unit is adapted to perform first-layer clustering on one or more determined origin-destination pairs by using a hierarchical clustering training model to obtain one or more candidate regions; perform second-layer clustering on the obtained one or more candidate regions to determine a candidate sub-region with the highest density of stay positions in each candidate region; and use each stay position in each candidate sub-region as an element of the candidate cluster set corresponding to the candidate sub-region to obtain the candidate cluster set corresponding to each candidate sub-region.

[0074] Optionally,

[0075] The model construction unit is adapted to calculate the center points of each candidate cluster set and use the calculated center points of each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets.

[0076] Optionally,

[0077] The model construction unit is adapted to use a scoring function to calculate the scores of each candidate destination according to the determined candidate destination information; wherein, the scoring function includes:

[0078]

[0079] wherein, S i is the score of the candidate destination; β is the time decay parameter; t now is the model training date; t last is the date when the user last stayed at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

[0080] Optionally,

[0081] The model construction unit is adapted to train the destination sample data labeled with category labels to obtain a destination label classification model; obtain the specified features of a preset number of candidate destinations with the highest scores; and use the destination label classification model to determine the classification labels of each candidate destination according to the obtained specified features of each candidate destination.

[0082] Optionally, the specified features include one or more of the following:

[0083] The number of driving trajectories;

[0084] The probability of the morning rush hour occurring;

[0085] The probability of the evening rush hour occurring;

[0086] The probability of a weekday occurring;

[0087] The probability of a weekend occurring;

[0088] Location point POI category attribute.

[0089] Optionally,

[0090] The model building unit is adapted to add reverse geocoding information to the preset number of candidate destinations with the highest scores obtained.

[0091] Optionally,

[0092] The destination determination unit is adapted to calculate the scores of the recommended destinations in the destination recommendation model according to the user's current location information and current time information, and use the candidate destination with the highest score as the destination recommended to the user by using the constructed destination recommendation model.

[0093] Optionally,

[0094] The destination determination unit is adapted to calculate the scores of the candidate destinations according to the user's current location information and current time information by using a scoring function; wherein, the scoring function includes:

[0095]

[0096] Wherein, S i ’ is the current score of the candidate destination; β is the time decay parameter; t now ' is the current time information; t last is the date when the user last stayed at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

[0097] Optionally, the device further includes:

[0098] The interface providing unit is adapted to save the constructed destination recommendation model to a specified database and provide a corresponding application programming API interface;

[0099] The destination determination unit is adapted to call the API interface when receiving a query request sent by the user, and determine the destination recommended to the user according to the user's current location information and current time information by using the constructed destination recommendation model.

[0100] Optionally, the device further includes:

[0101] The preprocessing unit is adapted to perform noise reduction processing on the obtained historical driving trajectory data.

[0102] Optionally,

[0103] The preprocessing unit is adapted to perform smoothing processing on the historical driving trajectory data after noise reduction processing.

[0104] Optionally, the device further includes:

[0105] A path determination unit, adapted to receive a path query instruction for a specified destination input by the user, or receive a selection instruction of the recommended destination by the user; and determine one or more path information from the user's current location to the destination according to the received instruction and display it to the user.

[0106] According to another aspect of the present invention, an electronic device is provided, wherein the electronic device includes:

[0107] A processor; and,

[0108] A memory arranged to store computer-executable instructions, and the executable instructions, when executed, cause the processor to execute the method according to the foregoing.

[0109] According to yet another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores one or more programs, and when the one or more programs are executed by a processor, the foregoing method is implemented.

[0110] According to the technical solution of the present invention, historical driving trajectory data of a user is obtained; the obtained historical driving trajectory data is used as training sample data to construct a destination recommendation model; when a query request sent by the user is received, according to the user's current location information and current time information, the constructed destination recommendation model is used to determine the destination recommended to the user and display it to the user. In this technical solution, using the user's historical driving trajectory data as a reference to construct a destination recommendation model conforms to the user's travel habits, and using the destination recommendation model to determine the recommended destination also better meets the user's travel needs, which can avoid saving the steps that the user needs to input manually, and is especially suitable for application in intelligent hardware or devices for travel, improving the user's experience.

[0111] The above description is only an overview of the technical solution of the present invention. In order to be able to understand the technical means of the present invention more clearly, it can be implemented according to the content of the specification. And in order to make the above and other purposes, features and advantages of the present invention more obvious and understandable, the specific embodiments of the present invention are specifically exemplified below. Description of the Drawings

[0112] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the following detailed description of the preferred embodiments. The drawings are only for the purpose of showing the preferred embodiments and are not considered to be a limitation of the present invention. Moreover, throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:

[0113] Figure 1 A flowchart showing a destination recommendation method according to an embodiment of the present invention is shown;

[0114] Figure 2 A flowchart showing a destination recommendation method according to another embodiment of the present invention is shown;

[0115] Figure 3 A structural diagram showing a destination recommendation apparatus according to an embodiment of the present invention is shown;

[0116] Figure 4 A structural diagram showing an electronic device according to an embodiment of the present invention is shown;

[0117] Figure 5 A structural diagram showing a computer-readable storage medium according to an embodiment of the present invention is shown. Detailed Embodiments

[0118] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the drawings. Although the exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be fully conveyed to those skilled in the art.

[0119] Figure 1 A flowchart showing a destination recommendation method according to an embodiment of the present invention is shown. As Figure 1 shown, the method includes:

[0120] Step S110, obtaining the historical driving trajectory data of the user.

[0121] Step S120, using the obtained historical driving trajectory data as training sample data to construct a destination recommendation model.

[0122] In this embodiment, the historical driving trajectory data of the user is continuously accumulated. Therefore, the destination recommendation model trained and constructed based on the historical driving trajectory data will also change with the accumulation of the historical driving trajectory data. In this way, it can be ensured that the constructed destination recommendation model changes in real time with the change of the user's travel habits and is more in line with the user's needs.

[0123] Step S130: When receiving the query request sent by the user, based on the user's current location information and current time information, use the constructed destination recommendation model to determine the destination recommended for the user and display it to the user.

[0124] The query request sent by the user here can be understood as the login request when the user logs in to the corresponding application, or when the navigation hardware is powered on, it is equivalent to sending a query request.

[0125] For the destination recommendation solution, there is a way in the prior art to return a recommendation list based on the destinations input by the user recently, so that the user can select. However, this method takes the user's historical input as a reference, and some historical inputs may be destinations that the user rarely goes to. Therefore, it cannot be guaranteed that there is a destination that meets the user's needs in the recommendation list each time, resulting in inaccurate destination recommendation and reducing the user's experience. For example, the user recently entered "Badaling Great Wall" as the destination. However, this destination was only input as the user's recent travel demand. If "Badaling Great Wall" always exists in the subsequent recommendation list, it does not meet the user's needs, wastes recommendation resources, and will also reduce the user's experience. Or, the user recently entered "Shanghai Railway Station" as the destination, and the user's intention was only to view the distance or route information from his location to "Shanghai Railway Station", not really to go to "Shanghai Railway Station". Then, listing "Shanghai Railway Station" in the recommendation list again does not meet the user's needs.

[0126] In this embodiment, based on the user's historical driving trajectory data, rather than the user's historical input, after training, the user's travel habits can be determined, and the destinations that the user often goes to can be obtained. Based on this, a destination recommendation model is constructed, and the best destination is recommended according to the user's current location and time, which can better meet the user's needs. Even if the historical driving trajectory data contains destinations that the user does not often go to (such as "Badaling Great Wall" in the above example), it is only one of the many historical driving trajectory data, and the repeated data is not much or there is no, which will not affect the construction of the destination recommendation model.

[0127] It can be seen that through this embodiment, using the user's historical driving trajectory data as a reference to construct a destination recommendation model conforms to the user's travel habits. Using this destination recommendation model to determine the recommended destination is more accurate, which can avoid saving the steps that the user needs to input manually. In particular, it is suitable for application in intelligent hardware or devices for travel, and can also ensure that the recommended destination better meets the user's travel needs and improves the user's experience.

[0128] In an embodiment of the present invention, Figure 1The obtaining of the user's historical driving trajectory data in step S110 of the method shown includes: obtaining the user's device ID, timestamp data, and location information.

[0129] The location information here includes DPS information, and the timestamp information includes the time information at a location. Through the timestamp information, it is possible to determine at what time at a certain location, as well as information such as the stay duration at that location, and the driving duration between different locations. For example, the obtained historical driving trajectory data is 18:00 on the first day, location 1; 8:00 on the second day, location 1, 8:02, location 2. Then it is determined that the stay at location 1 is 14 hours, and the driving from location 1 to location 2 takes 2 minutes.

[0130] In an embodiment of the present invention, Figure 1 The constructing of the destination recommendation model by using the obtained historical driving trajectory data as training sample data in step S120 of the method shown includes: determining one or more candidate destination information according to the obtained historical driving trajectory data; calculating the scores of each candidate destination according to the determined candidate destination information, and taking the preset number of candidate destinations with the highest scores as the destinations to be recommended by the destination recommendation model.

[0131] In this embodiment, one or more candidate destinations are determined from the historical driving trajectory data. Considering that the determined candidate destinations include those frequently used by the user and those not frequently used by the user, therefore, in this embodiment, it is also necessary to calculate the ranking scores of each determined candidate destination, and select several candidate destinations with the highest scores as the destinations to be recommended by the destination recommendation model. That is to say, when responding to the user's query request, using this destination recommendation model, only the best destination is selected again from the selected destinations to be recommended, and other candidate destinations do not need to be considered.

[0132] For example, 10 candidate destinations are determined. After calculating the sorting scores of each candidate destination, 5 candidate destinations are selected from high to low as the destinations to be recommended.

[0133] Specifically, the above-mentioned determining one or more candidate destination information according to the obtained historical driving trajectory data includes: determining one or more origin-destination pairs according to the obtained historical driving trajectory data; performing hierarchical clustering on the determined one or more origin-destination pairs to obtain one or more candidate cluster sets; merging the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set.

[0134] The obtained historical driving trajectory data will contain one or more driving trajectories of the user. Each driving trajectory contains a starting point and an ending point, that is, the origin and the destination. Therefore, one or more origin-destination pairs can be determined from the historical driving trajectory data. Here, the origin-destination pair refers to the origin-ending point pair, which can be represented as (origin, destination). The origin and the destination in each origin-destination pair correspond to each other. For example, according to the historical driving trajectory data, three origin-destination pairs are determined, including (origin 1, destination 1), (origin 2, destination 2), and (origin 3, destination 3).

[0135] After hierarchical clustering of the origin-destination pairs, each origin-destination pair will correspond to a candidate cluster set. Each candidate cluster set includes multiple location information obtained after hierarchical clustering, and then the candidate destination information corresponding to each candidate cluster set is determined according to the multiple location information.

[0136] Preferably, the above determining one or more origin-destination pairs according to the obtained historical driving trajectory data includes: determining one or more sub-driving trajectory data corresponding to the user according to the obtained historical driving trajectory data; and obtaining one or more origin-destination pairs according to the determined one or more sub-driving trajectory data.

[0137] Considering that the obtained historical driving trajectory data includes location information and timestamp information, therefore, first, it is necessary to divide the historical driving trajectory data according to the historical driving trajectory data to determine the corresponding one or more sub-driving trajectory data. Here, the sub-driving trajectory data is the maximum interval sub-driving trajectory data of a single day. Each sub-driving trajectory data includes the starting point information, ending point information, driving duration, stop duration, and positioning times corresponding to the sub-driving trajectory. The starting point and the ending point of each sub-driving trajectory form an origin-destination pair.

[0138] For example, the driving trajectory data includes: 8:00, location 1, 8:02, location 2, 8:30 - 17:00, location 3, 17:02, location 4, 17:30 - 24:00, location 1. Then it can be determined that there is a stop of 8.5 hours at location 3. Then it can be determined that from location 1 - location 2 - location 3 is a sub-driving trajectory. After 17:30 on the same day, there is a stop of 6.5 hours at location 1. Then it can be determined that from location 3 - location 4 - location 5 is another sub-driving trajectory. And the starting point information location 1, ending point information location 3, driving duration 30 minutes, ending stop duration 8.5 hours, and positioning times of the first sub-driving trajectory can be obtained through the driving trajectory data; the starting point information location 3, ending point information location 1, driving duration 30 minutes, ending stop duration 6.5 hours, and positioning times of the second sub-driving trajectory.

[0139] Preferably, the hierarchical clustering of the determined one or more origin-destination pairs to determine one or more candidate cluster sets includes: using a hierarchical clustering training model to perform a first-level clustering on the determined one or more origin-destination pairs to obtain one or more candidate regions; performing a second-level clustering on the obtained one or more candidate regions to determine candidate sub-regions with the highest density of stop positions in each candidate region; and taking each stop position in each candidate sub-region as an element of the candidate cluster set corresponding to the candidate sub-region to obtain the candidate cluster sets corresponding to each candidate sub-region.

[0140] The hierarchical clustering model here includes clustering algorithms such as MeanShift and DBSCAN. In this embodiment, two-level clustering is performed on the determined one or more origin-destination pairs. The first-level clustering uses the DBSCAN clustering algorithm. Based on the one or more origin-destination pairs, one or more candidate regions can be determined, and candidate destinations can be obtained from these candidate regions. Then, a second-level clustering is performed on the obtained one or more candidate regions, using the MeanShift clustering algorithm, to determine candidate sub-regions with the highest density of stop positions from the candidate regions. This is because when a user arrives at a destination, they do not always stop at the same position. For example, at home, the user may park the car in the community parking lot. If there are no parking spaces in the parking lot, the car may also be parked outside the community. Therefore, in order to accurately obtain candidate destinations, it is necessary to determine candidate sub-regions with the highest density of stop positions in each candidate region through a clustering algorithm. It can be known that each determined candidate sub-region also contains multiple stop positions, and each stop position is used as an element of the candidate cluster set corresponding to the candidate sub-region to obtain the candidate cluster sets corresponding to each candidate sub-region.

[0141] Preferably, the merging of the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set includes: calculating the center points of each candidate cluster set, and taking the calculated center points of each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets.

[0142] Since each candidate cluster set includes multiple stop positions, in order to obtain accurate candidate destinations, calculate the center points of all stop positions in each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets. Correspondingly, it is also necessary to determine the regional radius, positioning times, positioning days, and time distribution of each candidate cluster set in order to comprehensively understand the information of the candidate cluster sets and provide parameter support for the determination of the destination to be recommended.

[0143] Preferably, calculating the scores of each candidate destination according to the determined candidate destination information includes: using a sorting rank scoring function to calculate the scores of each candidate destination according to the determined candidate destination information; where the scoring function includes:

[0144]

[0145] Among them, S i is the score of the candidate destination; β is the time decay parameter, usually taking β = 0.98; t now is the model training date; t last is the date when the user last stayed at the candidate destination, t now -t last is the difference between the model training date and the date when the user last appeared at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

[0146] For example, if 10 candidate destinations are determined, using the above scoring function, the sorting scores of each candidate destination are calculated. The 10 candidate destinations are numbered 1 - 10 in sequence. Then S1 calculates the sorting score of the candidate destination corresponding to number 1; S2 calculates the sorting score of the candidate destination corresponding to number 2, and so on, to obtain the sorting scores of 10 candidate destinations.

[0147] As described above, the historical driving trajectory data of the user is continuously accumulated. Therefore, the destination recommendation model trained and constructed based on the historical driving trajectory data will also change with the accumulation of the historical driving trajectory data. That is to say, the destinations to be recommended in the destination recommendation model will also change in real time. That is, according to the obtained historical driving trajectory data, the one or more candidate destination information determined will be different, and then the scores calculated for each candidate destination will also be different. For example, on the first day, the candidate destinations determined are Location 1, Location 2, and Location 3, and the calculated scores are Location 1 > Location 2 > Location 3; on the second day, the candidate destinations determined are still Location 1, Location 2, and Location 3, and the calculated scores are Location 2 > Location 1 > Location 3; or, on the second day, the candidate destinations determined are Location 1, Location 4, and Location 5, and the calculated scores are Location 4 > Location 5 > Location 1.

[0148] In an embodiment of the present invention, Figure 1 the method shown further includes: training the destination sample data labeled with category labels to obtain a destination label classification model; obtaining the specified features of the preset number of candidate destinations with the highest scores; and using the destination label classification model to determine the classification labels of each candidate destination according to the obtained specified features of each candidate destination.

[0149] After obtaining a preset number of destinations to be recommended, in order to make more accurate recommendations, in this embodiment, classification labels are added to the preset number of destinations to be recommended, such as home, company, etc. Specifically, it is marked using a destination label classification model. To obtain the destination label classification model, it is necessary to obtain multiple destinations with category labels already marked as training samples and train the model. Specifically, training can be performed according to the specified features of the destinations with classified labels already marked. Then, when classifying and labeling the destinations to be recommended, the same features of the destinations to be recommended also need to be obtained.

[0150] Specifically, the above-mentioned specified features include one or more of the following: the number of driving trajectories; the probability of the morning rush hour occurring; the probability of the evening rush hour occurring; the probability of weekdays occurring; the probability of weekends occurring; the category attribute of the location point POI.

[0151] The category attribute of the location point POI (point of interest) here can also be used as one of the references for classification and labeling. For example, if the POI type belongs to the business district, then the probability of the company is greater than that of the home when classifying and labeling.

[0152] For example, if the probability of the destination to be recommended occurring on weekdays is lower than the probability of occurring on weekends, and the probability of occurring during off-peak hours is greater than the probability of occurring during the morning and evening rush hours, then the destination to be recommended is labeled as home. Of course, when using the destination label classification model, these features can be directly input into the model, and then the classification label of the destination to be recommended can be directly obtained.

[0153] When determining the best recommended destination according to the user's query request, the classification label of the destination to be recommended can be used as a reference to ensure the accuracy of the determined recommended destination. For example, at the end of the workday, the destination to be recommended with the classification label of home can be recommended to the user instead of the destination to be recommended with the classification label of company.

[0154] In one embodiment of the present invention, Figure 1 the method shown further includes: adding reverse geocoding information to the preset number of candidate destinations with the highest scores obtained.

[0155] Geocoding refers to the process of representing the detailed address of a place name in geographical coordinates (such as longitude and latitude). Among them, the process of mapping address information to geographical coordinates is called geocoding; the process of converting geographical coordinates into address information is called reverse geocoding. In this embodiment, the obtained candidate destinations are geographical coordinates. Therefore, it is necessary to add reverse geocoding information to the candidate destinations in order to convert the candidate destinations into address information.

[0156] In one embodiment of the present invention, Figure 1In step S130 shown above, based on the user's current location information and current time information, using the constructed destination recommendation model, determining the destination recommended to the user includes: based on the user's current location information and current time information, using the constructed destination recommendation model, calculating the scores of each recommended destination in the destination recommendation model, and taking the to-be-recommended destination with the highest score as the destination recommended to the user.

[0157] Because the destination recommendation model includes a preset number of to-be-recommended destinations, when receiving a user's query request, the best destination is selected from these preset number of to-be-recommended destinations and recommended to the user. Therefore, it is necessary to calculate the sorting scores of each recommended destination respectively according to the user's current location information and current time information, and take the to-be-recommended destination with the highest score as the destination recommended to the user. For the same destination recommendation model, if the user's current location information and current time information are different, the determined recommended destination will also be different. For example, the destination recommendation model includes Destination 1, Destination 2, and Destination 3. If the user is currently at Location 1 and Time 1, the destination determined to be recommended to the user is Destination 1; if the user is currently at Location 2 and Time 2, the destination determined to be recommended to the user is Destination 2.

[0158] Specifically, the above-mentioned calculating the scores of each recommended destination in the destination recommendation model based on the user's current location information and current time information using the constructed destination recommendation model includes: based on the user's current location information and current time information, using a scoring function to calculate the scores of each candidate destination; where the scoring function includes:

[0159]

[0160] where, S i ’ is the current score of the candidate destination; β is the time decay parameter, usually taking β = 0.98; t now ' is the current time information; t last is the date when the user last stayed at this candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of this candidate destination in the corresponding candidate cluster set.

[0161] In this embodiment, the scoring function adopted is the same as the scoring function for calculating the candidate destinations of this destination recommendation model. The difference is that here t now ' is the current time information (the time when the user sends the query request), rather than the date of model training. Other parameters can refer to the above description.

[0162] In an embodiment of the present invention,Figure 1 The method shown further includes: saving the constructed destination recommendation model to a specified database and providing a corresponding Application Programming Interface (API).

[0163] When receiving the query request sent by the user in step S130, based on the user's current location information and current time information, using the constructed destination recommendation model to determine the destination recommended to the user includes: when receiving the query request sent by the user, calling the API, and based on the user's current location information and current time information, using the constructed destination recommendation model to determine the destination recommended to the user.

[0164] Here, the specified database includes a Redis database. The call to the destination recommendation model is implemented in the form of an API.

[0165] In an embodiment of the present invention, Figure 1 The method shown further includes: performing noise reduction processing on the obtained historical driving trajectory data.

[0166] In this embodiment, after obtaining the historical driving trajectory data, in order to ensure the accuracy of the data, it is necessary to perform noise reduction processing on the obtained historical driving trajectory data to remove the noise points.

[0167] Furthermore, Figure 1 The method shown further includes: performing smoothing processing on the historical driving trajectory data after noise reduction processing.

[0168] In this embodiment, the Kalman filter algorithm is used to perform trajectory smoothing processing on the historical driving trajectory data after noise reduction.

[0169] In an embodiment of the present invention, Figure 1 The method shown further includes: receiving the path query instruction for a specified destination input by the user, or receiving the selection instruction for the recommended destination by the user; based on the received instruction, determining one or more path information from the user's current location to the destination and presenting it to the user.

[0170] In this embodiment, considering that the destination recommended to the user through this technical solution is not what the user needs, the user will manually input or voice input a specified destination and query the path to the specified destination. Or, if the destination recommended to the user through this technical solution is what the user needs, the user will select the destination and query the path to the specified destination. Therefore, in this embodiment, the path information to the destination input or selected by the user is determined and presented to the user, so that the user can go to the destination according to the determined path information, further improving the user experience.

[0171] Figure 2 The flowchart shows a destination recommendation method according to another embodiment of the present invention. As Figure 2 shown, in step S210, the client APP records the travel track GPS data of the user, including the device ID, timestamp, GPS longitude and latitude information; in step S220, the client uploads this data to the cloud server in real time, and the accumulated data is used as the training data source; a destination recommendation model is constructed based on the training data source: in step S230, multiple historical tracks of the same user are denoised to remove noise points; in step S240, the kalman filtering algorithm is used to smooth the denoised historical track data; in step S250, the smoothed track data is segmented to obtain multiple maximum sub-tracks, and the start and end point pairs loc_pairs of each sub-track are extracted; in step S260, two-layer clustering such as MeanShift and DBSCAN is performed on multiple loc_pairs start and end points; in step S270, the center points and time distributions, regional radii, positioning times, positioning days and other characteristics of each cluster after clustering are calculated to obtain multiple candidate destinations; in step S280, the rank scores of each candidate destination are calculated; in step S290, the top 5 candidate destinations are selected from each candidate destination to obtain the destination recommendation model; in step S201, the reverse geocoding service is called to add reverse geocoding information to the top 5 candidate destinations in the destination recommendation model; in step S202, the category label model is used to predict the category labels of the top 5 candidate destinations; in step S203, the model data is stored in redis, and the destination recommendation service API interface is provided; in step S204, when the user turns on the client device, the device ID, GPS information, and timestamp information are obtained, and an http request is sent to the server; in step S205, the server calls the destination recommendation service API; in step S206, through the destination recommendation service, the current destination recommendation list of the user is obtained; in step S207, the client determines through voice interaction with the user based on the best destination result, and determines the path information after confirmation.

[0172] In a specific example, the client sends a real-time request. According to the real-time request, the score of the destination to be recommended, "Jinze Garden", is the highest at 0.7834, and the score of the destination to be recommended, "Yalanshi Station", is 0.1745. The client can preferentially recommend "Jinze Garden" to the user for the final travel decision. Further verification shows that from the real-time request, it is determined that the user is not near the place of residence at present, and the time is around 6:30 pm. Combining the user's historical GPS track behavior, the server judges that the most likely travel intention of the user at present is the "go home" strategy, which further shows that the sorting score calculated by the destination recommendation model is reasonable.

[0173] Figure 3 The structural schematic diagram of a destination recommendation device according to an embodiment of the present invention is shown. As Figure 3 shown, the destination recommendation device 300 includes:

[0174] An acquisition unit 310, adapted to acquire historical driving track data of a user.

[0175] A model construction unit 320, adapted to use the acquired historical driving track data as training sample data to construct a destination recommendation model.

[0176] In this embodiment, the historical driving track data of the user is continuously accumulated. Therefore, the destination recommendation model constructed based on the training of the historical driving track data will also change with the accumulation and change of the historical driving track data. In this way, it can be ensured that the constructed destination recommendation model changes in real time with the change of the user's travel habits, and is more in line with the user's needs.

[0177] A destination determination unit 330, adapted to, when receiving a query request sent by the user, determine the destination recommended to the user according to the user's current location information and current time information by using the constructed destination recommendation model, and display it to the user.

[0178] Here, the query request sent by the user can be understood as the login request when the user logs in to the corresponding application program, or, when the navigation hardware is powered on, it is equivalent to sending a query request.

[0179] For the solution of destination recommendation, there is a way in the prior art to return a recommendation list based on the destinations input by the user recently for the user to select. However, this method takes the user's historical input as a reference, and some historical inputs may be destinations that the user rarely goes to. Therefore, it cannot be guaranteed that there is a destination that meets the user's needs in each recommendation list, resulting in inaccurate destination recommendation and reducing the user's experience. For example, the user recently entered "Badaling Great Wall" as the destination. However, this destination was only entered as the user's recent play demand. If "Badaling Great Wall" always exists in the subsequent recommendation lists, it does not meet the user's needs, wastes recommendation resources, and also reduces the user's experience. Or, the user recently entered "Shanghai Railway Station" as the destination. The user's intention is only to check the distance or path information from his location to "Shanghai Railway Station", not really to go to "Shanghai Railway Station". Then, listing "Shanghai Railway Station" in the recommendation list again does not meet the user's needs.

[0180] In this embodiment, based on the user's historical driving trajectory data rather than the user's historical input, the user's travel habits can be determined after training to obtain the destinations that the user often goes to, and a destination recommendation model is constructed accordingly. By recommending the best destination based on the user's current location and time, it can better meet the user's needs. Even if the historical driving trajectory data contains destinations that the user does not often go to (such as "Badaling Great Wall" in the above example), it is only one of the numerous historical driving trajectory data, and there is not much or no duplicate data, which will not affect the construction of the destination recommendation model.

[0181] It can be seen that through this embodiment, by using the user's historical driving trajectory data as a reference to construct a destination recommendation model, it conforms to the user's travel habits. Using this destination recommendation model to determine the recommended destination is more accurate, which can avoid and save the steps that the user needs to input manually. In particular, it is suitable for application in intelligent hardware or devices in the travel category, and can also ensure that the recommended destination better meets the user's travel needs and improves the user's experience.

[0182] In an embodiment of the present invention, Figure 3 the acquisition unit 310 shown is suitable for acquiring the user's device ID, timestamp data, and location information.

[0183] The location information here includes DPS information, and the timestamp information includes the time information at a location. Through the timestamp information, it can be determined at what time at a certain location, as well as information such as the stay duration at that location, and the driving duration between different locations. For example, the acquired historical driving trajectory data is 18:00 on the first day, location 1; 8:00 on the second day, location 1, 8:02, location 2. Then it is determined that the stay at location 1 is 14 hours, and the driving time from location 1 to location 2 is 2 minutes.

[0184] In an embodiment of the present invention, Figure 3 the model construction unit 320 shown is suitable for determining one or more candidate destination information according to the acquired historical driving trajectory data; calculating the scores of each candidate destination according to the determined candidate destination information, and taking the preset number of candidate destinations with the highest scores as the destinations to be recommended by the destination recommendation model.

[0185] In this embodiment, one or more candidate destinations are determined from the historical driving trajectory data. Considering that among the determined candidate destinations, some are frequently used by the user and some are not, in this embodiment, it is also necessary to calculate the ranking scores of each determined candidate destination, and select several candidate destinations with the highest scores as the candidate destinations to be recommended by the destination recommendation model. That is to say, when responding to the user's query request, using this destination recommendation model, only the best destination is selected again from the selected candidate destinations to be recommended, and other candidate destinations do not need to be considered.

[0186] For example, if 10 candidate destinations are determined, after calculating the sorting scores of each candidate destination, 5 candidate destinations are selected in descending order as the candidate destinations to be recommended.

[0187] Specifically, the above-mentioned model construction unit 320 is adapted to determine one or more origin-destination pairs according to the obtained historical driving trajectory data; perform hierarchical clustering on the determined one or more origin-destination pairs to obtain one or more candidate cluster sets; merge the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set.

[0188] The obtained historical driving trajectory data will include one or more driving trajectories of the user. Each driving trajectory includes a starting point and an ending point, that is, the origin and the destination. Therefore, one or more origin-destination pairs can be determined from the historical driving trajectory data. Here, the origin-destination pair refers to the origin-ending point pair, which can be represented by (origin, ending point). The starting point and the ending point in each origin-destination pair correspond to each other. For example, according to the historical driving trajectory data, three origin-destination pairs are determined, including (starting point 1, ending point 1), (starting point 2, ending point 2), and (starting point 3, ending point 3).

[0189] After hierarchical clustering of the origin-destination pairs, each origin-destination pair will correspond to a candidate cluster set. Each candidate cluster set includes multiple location information obtained after hierarchical clustering, and then the candidate destination information corresponding to each candidate cluster set is determined according to the multiple location information.

[0190] Preferably, the above-mentioned model construction unit 320 is adapted to determine one or more sub-driving trajectory data corresponding to the user according to the obtained historical driving trajectory data; and obtain one or more origin-destination pairs according to the determined one or more sub-driving trajectory data.

[0191] Considering that the obtained historical driving trajectory data includes location information and timestamp information, therefore, first, it is necessary to divide the historical driving trajectory data according to the historical driving trajectory data to determine one or more corresponding sub-driving trajectory data. Here, the sub-driving trajectory data is the maximum interval sub-driving trajectory data for a single day. Each of the sub-driving trajectory data here includes the starting point information, ending point information, driving duration, parking duration, and positioning times corresponding to the sub-driving trajectory. The starting point and ending point of each sub-driving trajectory form a starting and ending point pair.

[0192] For example, the driving trajectory data includes: 8:00, location 1, 8:02, location 2, 8:30 - 17:00, location 3, 17:02, location 4, 17:30 - 24:00, location 1. Then it can be determined that the vehicle parked at location 3 for eight and a half hours. It can be determined that from location 1 - location 2 - location 3 is a sub-driving trajectory. After 17:30 on the same day, the vehicle parked at location 1 for six and a half hours. Then it can be determined that from location 3 - location 4 - location 5 is another sub-driving trajectory. And the starting point information location 1, ending point information location 3, driving duration 30 minutes, ending parking duration eight and a half hours, and positioning times of the first sub-driving trajectory can be obtained through the driving trajectory data; the starting point information location 3, ending point information location 1, driving duration 30 minutes, ending parking duration six and a half hours, and positioning times of the second sub-driving trajectory.

[0193] Preferably, the above-mentioned model construction unit 320 is adapted to use a hierarchical clustering training model to perform the first layer of clustering on the determined one or more starting and ending point pairs to obtain one or more candidate regions; perform the second layer of clustering on the obtained one or more candidate regions to determine the candidate sub-region with the largest density of staying positions in each candidate region; use each staying position in each candidate sub-region as an element of the candidate cluster set corresponding to the candidate sub-region to obtain the candidate cluster set corresponding to each candidate sub-region.

[0194] The hierarchical clustering model here includes clustering algorithms such as MeanShift and DBSCAN. In this embodiment, two - layer clustering is performed on the determined one or more origin - destination pairs. For the first - layer clustering, the DBSCAN clustering algorithm is used. According to the one or more origin - destination pairs, one or more candidate regions can be determined, and the candidate destinations can be obtained from these candidate regions. Then, for the one or more candidate regions obtained, the second - layer clustering is performed using the MeanShift clustering algorithm to determine the candidate sub - region with the highest density of stop positions from the candidate regions. This is because when a user arrives at a destination, they do not always stop at the same position. For example, at home, the user may park the car in the community parking lot. If there is no parking space in the parking lot, the car may also be parked outside the community. Therefore, in order to accurately obtain the candidate destinations, it is necessary to determine the candidate sub - region with the highest density of stop positions in each candidate region through the clustering algorithm. It can be known that the determined candidate sub - regions also contain multiple stop positions, and each stop position is an element of the candidate cluster set corresponding to the candidate sub - region, and the candidate cluster sets corresponding to each candidate sub - region are obtained.

[0195] Preferably, the above - mentioned model construction unit 320 is adapted to calculate the center points of each candidate cluster set, and use the calculated center points of each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets.

[0196] Since the candidate cluster set includes multiple stop positions, in order to obtain accurate candidate destinations, calculate the center points of all stop positions in each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets. Correspondingly, it is also necessary to determine the regional radius, positioning times, positioning days, and time distribution of each candidate cluster set in order to comprehensively master the information of the candidate cluster sets and provide parameter support for the determination of the destination to be recommended.

[0197] Preferably, the above - mentioned model construction unit 320 is adapted to use the sorting rank score function to calculate the scores of each candidate destination according to the determined candidate destination information; where the score function includes:

[0198]

[0199] Among them, S i is the score of the candidate destination; β is the time decay parameter, usually taking β = 0.98; t now is the model training date; t last is the date when the user last stayed at this candidate destination, t now -t last is the difference between the model training date and the date when the user last appeared at this candidate destination; p(x) is the parameter of the sigmoid function, loc timeis the number of points of the candidate destination in the corresponding candidate cluster set.

[0200] For example, if 10 candidate destinations are determined, using the above scoring function, the sorting scores of each candidate destination are calculated. The 10 candidate destinations are numbered 1-10 in sequence. Then, S1 calculates the sorting score of the candidate destination corresponding to label 1; S2 calculates the sorting score of the candidate destination corresponding to label 2, and so on, to obtain the sorting scores of 10 candidate destinations.

[0201] As described above, the user's historical driving trajectory data is continuously accumulated. Therefore, the destination recommendation model trained and constructed based on the historical driving trajectory data will also change with the accumulation of the historical driving trajectory data. That is to say, the destinations to be recommended in the destination recommendation model will also change in real time. That is, according to the obtained historical driving trajectory data, the one or more candidate destination information determined will be different, and the scores calculated for each candidate destination will also be different. For example, the candidate destinations determined on the first day are Location 1, Location 2, and Location 3, and the calculated scores are Location 1 > Location 2 > Location 3; the candidate destinations determined on the second day are also Location 1, Location 2, and Location 3, and the calculated scores are Location 2 > Location 1 > Location 3; or, the candidate destinations determined on the second day are also Location 1, Location 4, and Location 5, and the calculated scores are Location 4 > Location 5 > Location 1.

[0202] In an embodiment of the present invention, Figure 3 the model construction unit 320 shown is suitable for training the destination sample data marked with category labels to obtain a destination label classification model; obtaining the specified features of the preset number of candidate destinations with the highest scores; and using the destination label classification model to determine the classification labels of each candidate destination according to the obtained specified features of each candidate destination.

[0203] After obtaining the preset number of destinations to be recommended, in order to make more accurate recommendations, in this embodiment, classification labels such as home and company are added to the preset number of destinations to be recommended. Specifically, it is marked using the destination label classification model. In order to obtain the destination label classification model, it is necessary to obtain multiple destinations that have been marked with category labels as training samples and train the model. Specifically, it can be trained according to the specified features of the destinations with the marked classification labels. Then, when classifying and labeling the destinations to be recommended, it is also necessary to obtain the same features of the destinations to be recommended.

[0204] 27. The apparatus according to claim 26, wherein the specified features include one or more of the following: the number of driving trajectories; the probability of the morning rush hour; the probability of the evening rush hour; the probability of weekdays; the probability of weekends; the POI category attribute of the location point.

[0205] The category attributes of the location points of interest (POIs) here can also be used as one of the references for classification annotation. For example, if the POI type belongs to the business district, the probability of a company during classification annotation is greater than that of a home.

[0206] For example, if the probability of the recommended destination appearing on weekdays is lower than that on weekends, and the probability of it appearing during off-peak hours is greater than that during morning and evening rush hours, then the recommended destination is labeled as home. Of course, when using the destination label classification model, these features can be directly input into the model, and the classification label of the recommended destination can be directly obtained.

[0207] When determining the best recommended destination according to the user's query request, the classification label of the recommended destination can be used as a reference to ensure the accuracy of the determined recommended destination. For example, at the end of work time, the recommended destination with the classification label of home can be recommended to the user instead of the recommended destination with the classification label of company.

[0208] In an embodiment of the present invention, Figure 3 the shown model construction unit 320 is adapted to add reverse geocoding information to the preset number of candidate destinations with the highest scores obtained.

[0209] Geocoding refers to the process of representing the detailed address of a place name in geographical coordinates (such as longitude and latitude). Among them, the process of mapping address information into geographical coordinates is called geocoding; the process of converting geographical coordinates into address information is called reverse geocoding. In this embodiment, the obtained candidate destination is in geographical coordinates. Therefore, it is necessary to add reverse geocoding information to the candidate destination so as to convert the candidate destination into address information.

[0210] In an embodiment of the present invention, Figure 3 the shown destination determination unit 330 is adapted to calculate the scores of each recommended destination in the destination recommendation model according to the user's current location information and current time information, and use the recommended destination with the highest score as the destination recommended to the user.

[0211] Since the destination recommendation model includes a preset number of destinations to be recommended, when a query request from a user is received, the best destination is selected from these preset destinations to be recommended to the user. Therefore, it is necessary to calculate the sorting scores of each recommended destination according to the user's current location information and current time information, and use the destination with the highest score among the destinations to be recommended as the destination recommended to the user. For the same destination recommendation model, if the user's current location information and current time information are different, the determined recommended destination will also be different. For example, if the destination recommendation model includes Destination 1, Destination 2, and Destination 3, if the user is currently at Location 1 and Time 1, the destination recommended to the user is Destination 1; if the user is currently at Location 2 and Time 2, the destination recommended to the user is Destination 2.

[0212] Specifically, the above-mentioned destination determination unit 330 is adapted to calculate the scores of each candidate destination according to the user's current location information and current time information by using a scoring function; wherein, the scoring function includes:

[0213]

[0214] wherein, S i ’ is the current score of the candidate destination; β is the time decay parameter, usually taking β = 0.98; t now ' is the current time information; t last is the date when the user last stayed at this candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of this candidate destination in the corresponding candidate cluster set.

[0215] In this embodiment, the scoring function adopted is the same as the scoring function for calculating the candidate destinations of the destination recommendation model. The difference is that t now ' here is the current time information (the time when the user sends the query request), rather than the date of model training. Other parameters can refer to the above description.

[0216] In an embodiment of the present invention, Figure 3 the device shown further includes:

[0217] An interface providing unit, adapted to save the constructed destination recommendation model to a specified database and provide a corresponding application programming API interface.

[0218] The destination determination unit 330 is adapted to, when receiving a query request sent by the user, call the API interface, and determine the destination recommended to the user according to the user's current location information and current time information by using the constructed destination recommendation model.

[0219] The designated database here includes the Redis database. The call to the destination recommendation model is implemented in the form of an API interface.

[0220] In an embodiment of the present invention, Figure 3 The device shown further includes: a preprocessing unit, adapted to perform noise reduction processing on the acquired historical driving trajectory data.

[0221] In this embodiment, after the historical driving trajectory data is acquired, in order to ensure the accuracy of the data, it is necessary to perform noise reduction processing on the acquired historical driving trajectory data to remove the noise points.

[0222] Furthermore, the above-mentioned preprocessing unit is adapted to perform smoothing processing on the historical driving trajectory data after noise reduction processing.

[0223] In this embodiment, the Kalman filtering algorithm is used to perform trajectory smoothing processing on the historical driving trajectory data after noise reduction.

[0224] In an embodiment of the present invention, Figure 3 The device shown further includes:

[0225] A path determination unit, adapted to receive the path query instruction for the designated destination input by the user, or receive the selection instruction of the recommended destination by the user; determine one or more path information from the user's current location to the destination according to the received instruction and display it to the user.

[0226] In this embodiment, considering that the destination recommended to the user by this technical solution is not the user's requirement, the user will manually input or voice input the designated destination and query the path to the designated destination. Or, if the destination recommended to the user by this technical solution is the user's requirement, the user will select the destination and query the path to the designated destination. Therefore, in this embodiment, the path information to the destination input or selected by the user is determined and displayed to the user, so that the user can go to the destination according to the determined path information, further improving the user experience.

[0227] In summary, according to the technical solution of the present invention, historical driving trajectory data of a user is obtained; the obtained historical driving trajectory data is used as training sample data to construct a destination recommendation model; when a query request sent by the user is received, according to the user's current location information and current time information, the constructed destination recommendation model is used to determine the destination recommended to the user and display it to the user. In this technical solution, using the user's historical driving trajectory data as a reference to construct a destination recommendation model conforms to the user's travel habits, and using this destination recommendation model to determine the recommended destination also better meets the user's travel needs, which can avoid and save the steps that the user needs to input manually, and is especially suitable for application in intelligent hardware or devices in the travel category, improving the user's experience.

[0228] It should be noted that:

[0229] The algorithms and displays provided herein are not inherently related to any particular computer, virtual apparatus, or other device. Various general-purpose apparatuses may also be used in conjunction with the teachings provided herein. The structure required to construct such apparatuses will be apparent from the above description. In addition, the present invention is not directed to any particular programming language. It should be understood that the content of the present invention described herein can be implemented using various programming languages, and the description of the specific language above is for disclosing the best mode of the present invention.

[0230] In the specification provided herein, a large number of specific details are set forth. However, it can be understood that the embodiments of the present invention may be practiced without these specific details. In some instances, well-known methods, structures, and technologies have not been shown in detail so as not to obscure the understanding of this specification.

[0231] Similarly, it should be understood that, in order to streamline the present disclosure and assist in understanding one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present invention, the various features of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be construed as reflecting the intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as reflected in the following claims, the inventive aspects lie in less than all the features of the single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of the present invention.

[0232] Those skilled in the art can understand that the modules in the devices in the embodiments can be adaptively changed and set in one or more devices different from the embodiments. The modules or units or components in the embodiments can be combined into one module or unit or component, and in addition, they can be divided into multiple sub-modules or sub-units or sub-components. Except that at least some of such features and / or processes or units are mutually exclusive, any combination can be adopted to combine all the features disclosed in this specification (including the accompanying claims, abstract and drawings) and all the processes or units of any method or device so disclosed. Unless otherwise clearly stated, each feature disclosed in this specification (including the accompanying claims, abstract and drawings) can be replaced by an alternative feature that provides the same, equivalent or similar purpose.

[0233] In addition, those skilled in the art can understand that although some of the embodiments described herein include certain features included in other embodiments rather than other features, the combination of the features of different embodiments means that it is within the scope of the present invention and forms different embodiments. For example, in the following claims, any one of the claimed embodiments can be used in any combination.

[0234] Each component embodiment of the present invention can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) can be used in practice to implement some or all of the functions of some or all of the components in the destination recommendation device, electronic device and computer-readable storage medium according to the embodiments of the present invention. The present invention can also be implemented as a device or device program (for example, a computer program and a computer program product) for executing part or all of the methods described herein. Such a program for implementing the present invention can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0235] For example, Figure 4 FIG. shows a schematic structural diagram of an electronic device according to an embodiment of the present invention. The electronic device 400 traditionally includes a processor 410 and a memory 420 arranged to store computer-executable instructions (program code). The memory 420 can be an electronic memory such as a flash memory, EEPROM (electrically erasable programmable read-only memory), EPROM, hard disk or ROM. The memory 420 has a storage for executing Figure 1 or Figure 2The storage space 430 for the program code 440 shown and for any method steps in the embodiments. For example, the storage space 430 for the program code may include respective program codes 440 for implementing the various steps in the above method. These program codes may be read from or written to one or more computer program products. These computer program products include program code carriers such as hard disks, compact discs (CDs), memory cards, or floppy disks. Such computer program products are typically, for example Figure 5 the computer-readable storage medium 500 described. The computer-readable storage medium 500 may have storage segments, storage spaces, etc. arranged similarly to the memory 420 in the Figure 4 electronic device. The program code may be compressed, for example, in a suitable form. Generally, the storage unit stores program code 510 for executing the method steps according to the present invention, that is, program code that can be read by a processor such as 410. When these program codes are run by the electronic device, the electronic device is caused to execute each of the steps in the method described above.

[0236] It should be noted that the above embodiments illustrate the present invention rather than limit the present invention, and those skilled in the art can design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in the claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present invention can be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim listing several devices, several of these devices may be embodied by the same item of hardware. The use of the words first, second, and third, etc. does not denote any order. These words may be interpreted as names.

Claims

1. A destination recommendation method, wherein, The method includes: Obtaining the historical driving trajectory data of the user; Using the obtained historical driving trajectory data as training sample data to construct a destination recommendation model; When receiving a query request sent by the user, based on the user's current location information and current time information, using the constructed destination recommendation model to determine the destination recommended to the user and display it to the user; The step of using the obtained historical driving trajectory data as training sample data to construct a destination recommendation model includes: Determining one or more candidate destination information according to the obtained historical driving trajectory data; Calculating the scores of each candidate destination according to the determined candidate destination information, and taking the preset number of candidate destinations with the highest scores as the destinations to be recommended by the destination recommendation model; The step of determining one or more candidate destination information according to the obtained historical driving trajectory data includes: Determining one or more origin-destination pairs according to the obtained historical driving trajectory data; Performing hierarchical clustering on the determined one or more origin-destination pairs to obtain one or more candidate cluster sets; the hierarchical clustering includes performing the first-level clustering on the determined one or more origin-destination pairs to obtain one or more candidate regions, and performing the second-level clustering on the obtained one or more candidate regions to determine the candidate sub-region with the highest density of stay positions in each candidate region; Merging the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set.

2. The method according to claim 1, wherein The step of obtaining the historical driving trajectory data of the user includes: Obtaining the device ID, timestamp data and location information of the user.

3. The method according to claim 1, wherein, The step of determining one or more origin-destination pairs according to the obtained historical driving trajectory data includes: Determining one or more sub-driving trajectory data corresponding to the user according to the obtained historical driving trajectory data; Obtaining one or more origin-destination pairs according to the determined one or more sub-driving trajectory data.

4. The method according to claim 1, wherein, The step of performing hierarchical clustering on the determined one or more origin-destination pairs to determine one or more candidate cluster sets includes: Using the hierarchical clustering training model to perform the first-level clustering on the determined one or more origin-destination pairs to obtain one or more candidate regions; Performing the second-level clustering on the obtained one or more candidate regions to determine the candidate sub-region with the highest density of stay positions in each candidate region; Regarding each stay position in each candidate sub-region as an element of the candidate cluster set corresponding to the candidate sub-region to obtain the candidate cluster set corresponding to each candidate sub-region.

5. The method according to claim 1, wherein, The step of merging the obtained candidate cluster sets to determine the candidate destination information corresponding to each candidate cluster set includes: Calculating the center points of each candidate cluster set, and taking the calculated center points of each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets.

6. The method according to claim 1, wherein, The step of calculating the scores of each candidate destination according to the determined candidate destination information includes: Using a scoring function to calculate the scores of each candidate destination according to the determined candidate destination information; wherein, the scoring function includes: Among them, S i is the score of the candidate destination; β is the time decay parameter; t now is the model training date; t last is the date when the user last stayed at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

7. The method according to any one of claims 1-6, wherein The method further includes: Training the destination sample data marked with category labels to obtain a destination label classification model; Obtaining the specified features of the preset number of candidate destinations with the highest scores; Based on the specified features of each candidate destination obtained, use the destination label classification model to determine the classification labels of each candidate destination.

8. The method according to claim 7, wherein The specified features include one or more of the following: Number of driving trajectories; Probability of the morning rush hour occurring; Probability of the evening rush hour occurring; Probability of a weekday occurring; Probability of a weekend occurring; Location point POI category attribute.

9. The method according to claim 7, wherein, The method further includes: Add reverse geocoding information to the preset number of candidate destinations with the highest scores obtained.

10. The method according to claim 1, wherein The determining of the destination recommended to the user according to the user's current location information and current time information by using the constructed destination recommendation model includes: According to the user's current location information and current time information, use the constructed destination recommendation model to calculate the scores of each recommended destination in the destination recommendation model, and use the to-be-recommended destination with the highest score as the destination recommended to the user.

11. The method according to claim 10, wherein, The calculating of the scores of each recommended destination in the destination recommendation model according to the user's current location information and current time information by using the constructed destination recommendation model includes: According to the user's current location information and current time information, use a scoring function to calculate the scores of each candidate destination; wherein, the scoring function includes: Among them, S i ’ is the current score of the candidate destination; β is the time decay parameter; t now ' is the current time information; t last is the date when the user last stayed at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

12. The method according to any one of claims 1-6, wherein, The method further includes: Save the constructed destination recommendation model to a specified database and provide a corresponding application programming API interface; The determining of the destination recommended to the user according to the user's current location information and current time information by using the constructed destination recommendation model when receiving a query request sent by the user includes: When receiving a query request sent by the user, call the API interface, and according to the user's current location information and current time information, use the constructed destination recommendation model to determine the destination recommended to the user.

13. The method according to claim 12, wherein, The method further includes: Perform noise reduction processing on the obtained historical driving trajectory data.

14. The method according to claim 13, wherein, The method further includes: Perform smoothing processing on the historical driving trajectory data after noise reduction processing.

15. The method according to any one of claims 1-6, wherein, The method further includes: Receive the user's input path query instruction for a specified destination, or receive the user's selection instruction for the recommended destination; According to the received instruction, determine one or more path information from the user's current location to the destination and display it to the user.

16. A destination recommendation device, wherein, The device includes: An acquisition unit, adapted to acquire the user's historical driving trajectory data; A model construction unit, adapted to use the acquired historical driving trajectory data as training sample data to construct a destination recommendation model; A destination determination unit, adapted to when receiving a query request sent by the user, according to the user's current location information and current time information, use the constructed destination recommendation model to determine the destination recommended to the user and display it to the user; The model construction unit is adapted to determine one or more candidate destination information according to the acquired historical driving trajectory data; calculate the scores of each candidate destination according to the determined candidate destination information, and use the preset number of candidate destinations with the highest scores as the to-be-recommended destinations of the destination recommendation model; The model construction unit is adapted to: determine one or more origin-destination pairs according to the acquired historical driving trajectory data; perform hierarchical clustering on the determined one or more origin-destination pairs to obtain one or more candidate cluster sets; the hierarchical clustering includes performing first-layer clustering on the determined one or more origin-destination pairs to obtain one or more candidate regions, and performing second-layer clustering on the obtained one or more candidate regions to determine candidate sub-regions with the highest density of staying positions in each candidate region; merge the obtained candidate cluster sets to determine candidate destination information corresponding to each candidate cluster set.

17. The apparatus according to claim 16, wherein the acquisition unit is adapted to acquire the device ID, timestamp data, and location information of the user.

18. The apparatus according to claim 16, wherein the model construction unit is adapted to determine one or more sub-driving trajectory data corresponding to the user according to the acquired historical driving trajectory data; obtain one or more origin-destination pairs according to the determined one or more sub-driving trajectory data.

19. The apparatus according to claim 16, wherein the model construction unit is adapted to perform first-layer clustering on the determined one or more origin-destination pairs by using a hierarchical clustering training model to obtain one or more candidate regions; perform second-layer clustering on the obtained one or more candidate regions to determine candidate sub-regions with the highest density of staying positions in each candidate region; use each staying position in each candidate sub-region as an element of the candidate cluster set corresponding to the candidate sub-region to obtain candidate cluster sets corresponding to each candidate sub-region.

20. The apparatus according to claim 16, wherein the model construction unit is adapted to calculate the center points of each candidate cluster set and use the calculated center points of each candidate cluster set as the candidate destinations corresponding to the candidate cluster sets.

21. The apparatus according to claim 16, wherein the model construction unit is adapted to calculate the scores of each candidate destination according to the determined candidate destination information by using a scoring function; wherein the scoring function includes: Among them, S i is the score of the candidate destination; β is the time decay parameter; t now is the model training date; t last is the date when the user last stayed at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

22. The apparatus according to any one of claims 16-21, wherein the model construction unit is adapted to train destination sample data labeled with category labels to obtain a destination label classification model; obtain specified features of a preset number of candidate destinations with the highest scores; determine the classification labels of each candidate destination by using the destination label classification model according to the obtained specified features of each candidate destination.

23. The apparatus according to claim 22, wherein, The specified features include one or more of the following: Number of driving trajectories; Probability of the morning rush hour; Probability of the evening rush hour; Probability of weekdays; Probability of weekends; POI category attribute of the location point.

24. The apparatus according to claim 22, wherein the model construction unit is adapted to add reverse geocoding information to a preset number of candidate destinations with the highest scores obtained.

25. The apparatus according to claim 16, wherein The destination determination unit is adapted to calculate the scores of the recommended destinations in the destination recommendation model according to the current location information and current time information of the user, and use the to-be-recommended destination with the highest score as the destination recommended to the user by utilizing the constructed destination recommendation model.

26. The apparatus according to claim 25, wherein the destination determination unit is adapted to calculate the scores of the candidate destinations according to the current location information and current time information of the user by utilizing a scoring function; wherein, the scoring function includes: where S i ’ is the current score of the candidate destination; β is the time decay parameter; t now ' is the current time information; t last is the date when the user last stayed at the candidate destination; p(x) is the parameter of the sigmoid function, loc time is the number of points of the candidate destination in the corresponding candidate cluster set.

27. The apparatus according to any one of claims 16-21, wherein, The apparatus further includes: The interface providing unit is adapted to save the constructed destination recommendation model to a specified database and provide a corresponding application programming API interface. The destination determination unit is adapted to, when receiving a query request sent by the user, call the API interface, and determine the destination recommended to the user according to the current location information and current time information of the user by utilizing the constructed destination recommendation model.

28. The apparatus according to claim 27, wherein, The apparatus further includes: The preprocessing unit is adapted to perform noise reduction processing on the acquired historical driving trajectory data.

29. The apparatus according to claim 28, wherein the preprocessing unit is adapted to perform smoothing processing on the historical driving trajectory data after the noise reduction processing.

30. The apparatus according to any one of claims 16-21, wherein, The apparatus further includes: The path determination unit is adapted to receive a path query instruction for a specified destination input by the user, or receive a selection instruction for the recommended destination by the user; and determine one or more path information from the current location of the user to the destination according to the received instruction and display it to the user.

31. An electronic device, wherein, The electronic device includes: a processor; and a memory arranged to store computer-executable instructions, and the executable instructions, when executed, cause the processor to execute the method according to any one of claims 1 to 15.

32. A computer-readable storage medium, wherein, The computer-readable storage medium stores one or more programs, and the one or more programs, when executed by the processor, implement the method according to any one of claims 1 to 15.

Citation Information

Patent Citations

  • Method and system for predicting destination of vehicle based on user's behavior

    CN108074415A

  • Method for predicting destination and recommending driving route

    CN108286980A