Destination recommendation method and system

By obtaining the user's current and historical order data, using the DeepFM model to recommend destinations, the problem of users frequently entering destination information is solved, and the user experience and recommendation accuracy of ride-hailing services are improved.

CN111859169BActive Publication Date: 2024-12-17BEIJING DIDI INFINITY TECH & DEV CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201910486831.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-06-05
Publication Date
2024-12-17
Estimated Expiration
2040-07-23

AI Technical Summary

Technical Problem

In existing ride-hailing services, users need to frequently enter destination information when initiating an order, resulting in a decrease in user experience and the system recommended destination is inaccurate, affecting the user experience.

Method used

By obtaining the user's current order data and historical order data, extracting historical destinations and related characteristic parameters, determining the probability value of candidate points of interest based on the DeepFM model, and recommending the most likely destination.

Benefits of technology

This reduces the frequent operation of users in input destination information, improves the user experience, and improves the accuracy of recommended destinations through the use of the DeepFM model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111859169B_ABST
    Figure CN111859169B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses a method and system for destination recommendation. The method for destination recommendation includes: obtaining order data of the current order, the order data including at least the current time, current location or departure place information; obtaining the user's historical orders within a first time period; extracting historical destinations and characteristic parameters related to the historical destinations from the historical orders; determining candidate points of interest based on the historical destinations and the order data of the current order; determining the probability value of the candidate points of interest based on the characteristic parameters; and determining the recommended destination based on the probability value. The present application recommends destinations to users based on their historical orders, which can facilitate users to quickly and accurately determine order destinations and improve user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet, and in particular to a destination recommendation method and system. Background Art

[0002] In recent years, with the rapid development of mobile communication technology, a large number of applications based on smart terminals have emerged. Ride-hailing applications are one of the most popular ones. Before initiating a car request, passengers enter the order's starting point and destination information through the client. After the order is initiated, the driver goes to pick up the passenger according to the starting point information entered by the passenger and completes the service request according to the destination information. At present, when initiating an order, the user is usually required to determine and accurately enter the name of the destination to issue a service request. If the user frequently uses the ride-hailing service and regularly goes to a certain destination at a certain time, such repeated operations will greatly reduce the user's experience. However, if the system recommends a place that the user does not want to go as the destination of the order every time, it will also cause the user to enter or modify the destination information every time, which will not achieve good results. Therefore, it is hoped that a method can be provided to intelligently and accurately guess the destination that the user wants to reach and recommend it to the user, so as to avoid frequent and repeated determination and input of information and improve the user experience. Summary of the invention

[0003] One aspect of the present application provides a method for destination recommendation. The method for destination recommendation includes: obtaining order data of a current order, the order data at least including current time, current location or departure place information; obtaining historical orders of a user within a first time period; extracting historical destinations and feature parameters related to the historical destinations from the historical orders; determining candidate points of interest based on the historical destinations and the order data of the current order; determining probability values ​​of the candidate points of interest based on the feature parameters; and determining a recommended destination based on the probability values.

[0004] In some embodiments, the feature parameters include one or a combination of high-dimensional sparse features, user-related features, contextual features, statistical features, other sparse features, and negative feedback features.

[0005] In some embodiments, the high-dimensional sparse features include one or more combinations of user names, points of interest names and city names; the user-related features include age, gender, occupation, confidence that the point of interest is a home address, confidence that the point of interest is a work address, whether the user is at work, the average distance of historical orders, the distance variance of historical orders, the distance between the current location and the point of interest, and one or more combinations of points of interest with higher frequency; the contextual features include: one or more combinations of the time when the point of interest appears, the date when the point of interest appears, the longitude and latitude of the point of interest, and the map coordinates of the point of interest; the statistical features include: one or more combinations of the distribution probability of the point of interest according to time, the distribution probability according to the address name, the distribution probability according to the longitude and latitude, and the distribution probability according to time and location; the other sparse features include: one or more combinations of the frequency of taking the point of interest as the destination, the frequency of the point of interest as the destination in historical orders within a certain period of time; the negative feedback feature includes: the probability that the user does not adopt the negative feedback of the point of interest as the destination within a certain period of time.

[0006] In some embodiments, determining the probability value of the candidate interest point based on the feature parameter includes: determining the probability value of the candidate interest point based on an interest point recommendation model.

[0007] In some embodiments, the method for obtaining the point of interest recommendation model includes: obtaining the user's historical orders within a second time period; extracting historical destinations and characteristic parameters of the historical destinations from the historical orders; and training the point of interest recommendation model based on the characteristic parameters and the historical destinations.

[0008] In some embodiments, the POI recommendation model is a DeepFM model.

[0009] In some embodiments, the output of the DeepFM model is:

[0010] fusion=sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out);

[0011] Among them, w1, w2, and w3 are weight values, first_order_out is the first-order output of the FM model, second_order_out is the second-order output of the FM model, and dnn_out is the high-order output of the CNN model.

[0012] In some embodiments, the method for obtaining interest point recommendations further includes: determining a loss function; and optimizing the recommendation model based on the loss function.

[0013] In some embodiments, the loss function is:

[0014] Loss=β1×lr_loss+β2×second_order_out_loss+β3×dnn_out_loss+β4×fusion_loss

[0015] Among them, β1, β2, β3, and β4 are weight values; Where X is a feature matrix composed of feature parameters related to the destination, θ is the weight value corresponding to X, and θ T is the transpose of θ;

[0016] fusion=sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out); lr_loss is the loss function calculation result of the lr model, second_order_out_loss is the loss function calculation result of the second-order output of the FM model, dnn_out_loss is the loss function calculation result of the high-order output of the DNN model, and fusion_loss is the loss function calculation result of the fusion model.

[0017] In some embodiments, determining a recommended destination based on the probability values ​​includes: obtaining a maximum probability value among the probability values, and when the maximum probability value is greater than a preset value, determining the candidate point of interest corresponding to the maximum probability value as the recommended destination.

[0018] Another aspect of the present application provides a destination recommendation system. The destination recommendation system includes: an acquisition module, used to acquire order data of a current order, the order data at least including current time, current location or departure place information; also used to acquire user historical orders within a first time period; extract historical destinations and feature parameters related to the historical destinations from the historical orders; a probability value determination module, used to determine candidate points of interest based on the historical destinations and the order data of the current order; determine the probability value of the candidate points of interest based on the feature parameters; a recommended destination determination module, used to determine the recommended destination based on the probability value.

[0019] In some embodiments, the feature parameters include one or a combination of high-dimensional sparse features, user-related features, contextual features, statistical features, other sparse features, and negative feedback features.

[0020] In some embodiments, the high-dimensional sparse features include one or more combinations of user names, points of interest names and city names; the user-related features include age, gender, occupation, confidence that the point of interest is a home address, confidence that the point of interest is a work address, whether the user is at work, the average distance of historical orders, the distance variance of historical orders, the distance between the current location and the point of interest, and one or more combinations of points of interest with higher frequency; the contextual features include: one or more combinations of the time when the point of interest appears, the date when the point of interest appears, the longitude and latitude of the point of interest, and the map coordinates of the point of interest; the statistical features include: one or more combinations of the distribution probability of the point of interest according to time, the distribution probability according to the address name, the distribution probability according to the longitude and latitude, and the distribution probability according to time and location; the other sparse features include: one or more combinations of the frequency of taking the point of interest as the destination, the frequency of the point of interest as the destination in historical orders within a certain period of time; the negative feedback feature includes: the probability that the user does not adopt the negative feedback of the point of interest as the destination within a certain period of time.

[0021] In some embodiments, the probability value determination module is further used to: determine the probability value of the candidate interest point based on an interest point recommendation model.

[0022] In some embodiments, the point of interest recommendation system also includes a training module, which is further used to: obtain the user's historical orders within a second time period; extract historical destinations and characteristic parameters of the historical destinations from the historical orders; and train a point of interest recommendation model based on the characteristic parameters and the historical destinations.

[0023] In some embodiments, the POI recommendation model is a DeepFM model.

[0024] In some embodiments, the output of the DeepFM model is: fusion = sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out); wherein w1, w2, w3 are weight values, first_order_out is the first-order output of the FM model, second_order_out is the second-order output of the FM model, and dnn_out is the high-order output of the DNN model.

[0025] In some embodiments, the training module further includes: determining a loss function; and optimizing the recommendation model based on the loss function.

[0026] In some embodiments, the loss function is:

[0027] Loss=β1×lr_loss+β2×second_order_out_loss+β3×dnn_out_loss+β4×fusion_loss

[0028] Among them, β1, β2, β3, and β4 are weight values; Where X is a feature matrix composed of feature parameters related to the destination, θ is the weight value corresponding to X, and θ T is the transpose of θ;

[0029] fusion=sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out); lr_loss is the loss function calculation result of the lr model, second_order_out_loss is the loss function calculation result of the second-order output of the FM model, dnn_out_loss is the loss function calculation result of the high-order output of the DNN model, and fusion_loss is the loss function calculation result of the fusion model.

[0030] In some embodiments, the recommended destination determination module is further used to: obtain a maximum probability value among the probability values, and when the maximum probability value is greater than a preset value, determine the candidate point of interest corresponding to the maximum probability value as the recommended destination.

[0031] Another aspect of the present application provides a destination recommendation device, wherein the destination recommendation device comprises at least one processor, and the at least one processor is configured to execute the computer instructions to implement the destination recommendation method.

[0032] Another aspect of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium is used to store computer instructions, and when the computer reads the computer instructions in the storage medium, the computer executes the destination recommendation method. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] The present application will be further described in the form of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same number represents the same structure, wherein:

[0034] Figure 1 is a schematic diagram of an application scenario of a destination recommendation system according to some embodiments of the present application;

[0035] Figure 2 is a module diagram of a destination recommendation system according to some embodiments of the present application;

[0036] Figure 3 is an exemplary flow chart of a destination recommendation method according to some embodiments of the present application;

[0037] Figure 4 is an exemplary flow chart of a method for training a point of interest recommendation model according to some embodiments of the present application;

[0038] Figure 5 is an exemplary structural diagram of a point of interest recommendation model according to some embodiments of the present application;

[0039] Figure 6 It is an exemplary flowchart of a method for determining a recommended destination based on an application model shown in some embodiments of the present application. DETAILED DESCRIPTION

[0040] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of the present application. For ordinary technicians in this field, the present application can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.

[0041] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.

[0042] As shown in this application and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "comprises" and "includes" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.

[0043] Flowcharts are used in the present application to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, the various steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.

[0044] The embodiments of the present application can be applied to different transportation systems, including but not limited to one or a combination of land, sea, aviation, aerospace, etc. For example, taxis, special cars, ride-sharing, buses, drivers, trains, motor vehicles, high-speed railways, ships, airplanes, hot air balloons, unmanned vehicles, express delivery, etc. apply management and / or distribution transportation systems. The application scenarios of different embodiments of the present application include but are not limited to one or a combination of web pages, browser plug-ins, clients, customized systems, internal enterprise analysis systems, artificial intelligence robots, etc. It should be understood that the application scenarios of the system and method of the present application are only some examples or embodiments of the present application. For ordinary technicians in this field, without paying creative labor, the present application can also be applied to other similar scenarios based on these drawings. For example, other similar user-guided parking systems.

[0045] The "passenger", "passenger terminal", "user terminal", "customer", "demander", "service demander", "consumer", "consumer", "user demander", etc. described in this application are interchangeable and refer to the party that needs or orders the service, which can be an individual or a tool. Similarly, the "driver", "driver terminal", "provider", "supplier", "service provider", "service provider", "service provider", "service party", etc. described in this application are also interchangeable and refer to individuals, tools or other entities that provide services or assist in providing services. In addition, the "user" described in this application can be the party that needs or orders the service, or the party that provides the service or assists in providing the service.

[0046] Figure 1 Shown is a schematic diagram of an application scenario of a destination recommendation system according to some embodiments of the present application.

[0047] like Figure 1 As shown, the online service system 100 can recommend a destination and display it on the user interface, so that the user can select the recommended destination. The online service system 100 can be an online service platform for Internet services. For example, the online service system 100 can be an online transportation service platform for transportation services. In some embodiments, the online service system 100 can be applied to online car-hailing services, such as taxi calls, express calls, special car calls, minibus calls, carpooling, bus services, driver hiring and pick-up services, etc. In some embodiments, the online service system 100 can also be applied to services such as driving for others, express delivery, and take-out. The online service system 100 can be an online service platform, including a server 110, a user terminal 120, a storage device 130, a network 140, and an information source 150. The server 110 may include a processing device 112.

[0048] In some embodiments, the server 110 may be used to process information and / or data related to determining a recommended destination. The server 110 may be an independent server or a server group. The server group may be centralized or distributed (e.g., the server 110 may be a distributed system). In some embodiments, the server 110 may be local or remote. For example, the server 110 may access information and / or data stored in the user terminal 120, the storage device 130, and / or the information source 150 through the network 140. For another example, the server 110 may be directly connected to the user terminal 120, the storage device 130, and / or the information source 150 to access the information and / or data stored therein. In some embodiments, the server 110 may be executed on a cloud platform. For example, the cloud platform may include one or any combination of a private cloud, a public cloud, a hybrid cloud, a community cloud, a decentralized cloud, an internal cloud, etc.

[0049] In some embodiments, the server 110 may include a processing device 112. The processing device 112 may process data and / or information related to the service request to perform one or more functions described in the present application. For example, the processing device 112 may receive a vehicle request signal sent by the user terminal 120 and provide a recommended destination to the user. In some embodiments, the processing device 112 may include one or more sub-processing devices (e.g., a single-core processing device or a multi-core multi-core processing device). As an example only, the processing device 112 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction processor (ASIP), a graphics processing unit (GPU), a physical processing unit (PPU), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic circuit (PLD), a controller, a microcontroller unit, a reduced instruction set computer (RISC), a microprocessor, etc., or any combination thereof.

[0050] In some embodiments, the user may obtain the recommended destination through the user terminal 120. In some embodiments, the user terminal 120 may include one of a desktop computer 120-1, a laptop computer 120-2, a built-in device in a motor vehicle 120-3, a mobile device 120-4, etc., or any combination thereof. In some embodiments, the mobile device 120-4 may include a smart home device, a wearable device, a smart action device, a virtual reality device, an augmented reality device, etc., or any combination thereof. In some embodiments, the smart furniture device may include a smart lighting device, a control device for smart appliances, a smart monitoring device, a smart TV, a smart camera, an intercom, etc., or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, smart shoes and socks, smart glasses, a smart helmet, a smart watch, smart clothing, a smart backpack, smart accessories, etc., or any combination thereof. In some embodiments, the smart action device may include a smart phone, a personal digital assistant (PDA), a game device, a navigation device, a POS device, etc., or any combination thereof. In some embodiments, the virtual reality device and / or the augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, augmented reality helmets, augmented reality glasses, augmented reality goggles, etc. or any combination thereof. In some embodiments, the user terminal 120 may include a device with a positioning function to determine the location of the user and / or the user terminal 120.

[0051] The storage device 130 may store data and / or instructions. In some embodiments, the storage device 130 may store data obtained from the server 110 or the user terminal 120. In some embodiments, the storage device 130 may store information and / or instructions for execution or use by the server 110 to perform the exemplary methods described in this application. In some embodiments, the storage device 130 may include a mass storage, a removable memory, a volatile read-write memory (e.g., a random access memory RAM), a read-only memory (ROM), etc., or any combination thereof. In some embodiments, the storage device 130 may be implemented on a cloud platform. For example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a decentralized cloud, an internal cloud, etc., or any combination thereof.

[0052] The network 140 can facilitate the exchange of data and / or information. In some embodiments, one or more components in the online service system 100 (e.g., server 110, user terminal 120, information source 150) can send data and / or information to other components in the online service system 100 through the network 140. In some embodiments, the network 140 can be any type of wired or wireless network. For example, the network 140 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an internal network, an Internet network, a local area network (LAN), a wide area network (WAN), a wireless area network (WLAN), a metropolitan area network (MAN), a public switched telephone network (PSTN), a Bluetooth network, a ZigBee network, a near field communication (NFC) network, etc. or any combination thereof. In some embodiments, the network 140 may include one or more network entry and exit points. For example, the network 140 may include a wired or wireless network entry and exit point, such as a base station and / or an Internet exchange point 140-1, 140-2, ..., through which one or more components of the online service system 100 can be connected to the network 140 to exchange data and / or information.

[0053] In some embodiments, the information source 150 may be connected to the network 140 to communicate with one or more components of the online service system 100 (e.g., the server 110, the user terminal 120, etc.). One or more components of the online service system 100 may access data or instructions stored in the information source 150 through the network 140. In some embodiments, the information source 150 may be directly connected to or communicate with one or more components of the online service system 100 (e.g., the server 110, the user terminal 120). In some embodiments, the information source 150 may be a part of the server 110.

[0054] In order to implement the various modules, units and functions thereof described in this application, a computing device or mobile device can be used as a hardware platform for one or more components described in this application. The hardware elements, operating systems and programming languages ​​of these computers or mobile devices are conventional in nature, and those skilled in the art are familiar with these technologies and can adapt these technologies to the on-demand service system described in this application. A computer with a user interface element can be used to implement a personal computer (PC) or other type of workstation or terminal device, and if properly programmed, the computer can also act as a server.

[0055] Figure 2 It is a module diagram of a point of interest recommendation system according to some embodiments of the present application.

[0056] like Figure 2As shown, the POI recommendation system may include an acquisition module 210, a probability value determination module 220, a recommended destination determination module 230, and a training module 240. In some embodiments, the acquisition module 210, the probability value determination module 220, the recommended destination determination module 230, and the training module 240 may be set in the server 110.

[0057] The acquisition module 210 can be used to acquire order data of the current order, and the order data includes at least the current time, current location or departure place information. In some embodiments, the acquisition module 210 can also acquire the user's historical orders within the first time period; extract the historical destination and the feature parameters related to the historical destination from the historical orders. In some embodiments, the feature parameters related to the historical destination that the acquisition module 210 can extract from the historical orders may include one or a combination of high-dimensional sparse features, user-related features, contextual features, statistical features, other sparse features, negative feedback features, etc.

[0058] In some embodiments, the high-dimensional sparse features extracted by the acquisition module 210 may include one of a user name (userID), a point of interest name (POI ID), and a city name (city ID), etc., or any combination thereof. In some embodiments, the user name feature in the high-dimensional sparse features extracted by the acquisition module 210 may include one of numbers, letters (such as uppercase letters, lowercase letters, etc.), symbols (such as @, &, etc.), etc., or any combination thereof. In some embodiments, the point of interest name feature in the high-dimensional sparse features extracted by the acquisition module 210 may be a geographical division, such as Wudaokou Commercial District, Nanjing Road Pedestrian Street, etc., or an administrative division, such as a province, a municipality, a city, a county, a township, etc. In some embodiments, the acquisition module 210 may directly acquire the city name feature in the high-dimensional sparse features based on the historical destination in the historical order, or may acquire the city name feature in the high-dimensional sparse features through the positioning device in the user terminal 120.

[0059] In some embodiments, the user-related features extracted by the acquisition module 210 may include one or any combination of the user's gender, age, confidence that the point of interest is a home address, confidence that the point of interest is a work address, whether the user is at work, the average distance of historical orders, the distance variance of historical orders, the distance between the current location and the point of interest, and the points of interest with a high frequency of occurrence. In some embodiments, the acquisition module 210 may extract the average distance feature of the historical orders from the user-related features based on the straight-line distance between the starting point and the destination of the historical orders, the distance (such as walking distance, cycling distance, etc.). In some embodiments, the acquisition module 210 may acquire the distance variance of the feature historical orders based on the average distance of the historical orders.

[0060] In some embodiments, the context features extracted by the acquisition module 210 may include one or any combination of the time when the point of interest appears, the date when the point of interest appears, the longitude and latitude of the point of interest, the map coordinates of the point of interest, etc. In some embodiments, the acquisition module 210 may acquire the time when the point of interest appears in the context features based on a time point or a time period.

[0061] In some embodiments, the statistical features extracted by the acquisition module 210 may include one or a combination of the distribution probability of the points of interest according to time, the distribution probability according to the address name, the distribution probability according to longitude and latitude, and the distribution probability according to time and location. In some embodiments, the acquisition module 210 may acquire the distribution probability of the points of interest according to the address name based on geographical divisions (such as Wudaokou Commercial District, Nanjing Road Pedestrian Street, etc.). In some embodiments, the acquisition module 210 may acquire the distribution probability of the points of interest according to the address name based on administrative divisions (such as provinces, municipalities directly under the Central Government, cities, counties, townships, etc.). In some embodiments, the acquisition module 210 may acquire the distribution probability of the points of interest according to longitude and latitude based on one or any combination of regions, regional heat, points of interest categories, etc.

[0062] In some embodiments, the other sparse features extracted by the acquisition module 210 may include one or a combination of the frequency of taking the point of interest as the destination, the frequency of taking the point of interest as the destination in historical orders within a certain period of time.

[0063] In some embodiments, the negative feedback feature extracted by the acquisition module 210 may include the probability of negative feedback that the user did not adopt the point of interest as the destination within a certain period of time. In some embodiments, the negative feedback may be that the system recommends a point of interest to the user multiple times at a specific time, but the user did not click on it. For example, the system recommends the destination "Digital Valley" to a user at 15:00 for 8 times in total, but the user did not click on it, then "Digital Valley & 15:00" is the negative feedback information.

[0064] The probability value determination module 220 can be used to determine candidate points of interest based on the order data of the historical destination and the current order; determine the probability value of the candidate point of interest based on the characteristic parameters. In some embodiments, the probability value determination module 220 can directly determine all historical destinations in the historical order as candidate points of interest. In some embodiments, the probability value determination module 220 can determine the destination with a frequency greater than a preset threshold as a candidate point of interest based on the frequency of the historical destination appearing in the historical order. In some embodiments, the probability value determination module 220 can determine the destination with a frequency greater than a certain threshold as a candidate point of interest based on the frequency of the historical destination appearing in the historical order within a certain period of time. In some embodiments, the probability value determination module 220 can determine the destination within a specific time (such as going to work, getting off work, etc.) or a specific period (such as a week, weekend, holiday, etc.) as a candidate point of interest. In some embodiments, the probability value determination module 220 can determine the destination within a specific area (such as a business circle, work circle, etc.) as a candidate point of interest.

[0065] In some embodiments, the probability value determination module 220 can determine the probability value of the candidate interest point based on a calculation method (such as histogram statistics, broken line statistics, etc.) of the statistical feature parameters. In some embodiments, the probability value determination module 220 can determine the probability value of the candidate interest point by establishing a model. In some embodiments, the probability value determination module 220 can directly use the trained interest point recommendation model to determine the probability value of the candidate interest point. In some embodiments, the probability value determination module 220 can determine the probability value of the candidate interest point by establishing a probability value calculation model.

[0066] The recommended destination determination module 230 can be used to determine the recommended destination based on the probability value. In some embodiments, the recommended destination may include at least one of the candidate points of interest. In some embodiments, the recommended destination determination module 230 can determine the candidate points of interest with the top N probability values ​​as recommended destinations based on the probability value ranking of the candidate points of interest, where N is an integer greater than or equal to 1 (such as 1, 2, 3, etc.). In some embodiments, the recommended destination determination module 230 can directly determine the point of interest with the largest probability value among the candidate points of interest as the recommended destination. In some embodiments, the recommended destination determination module 230 can determine the point of interest with the largest probability value among the candidate points of interest and greater than a preset threshold as a recommended destination by setting a threshold.

[0067] The training module 240 can be used to train the interest point recommendation model. Specifically, the training module 240 can obtain the user's historical orders within the second time period; extract the feature parameters and the destination from the historical orders; and train the interest point recommendation model based on the feature parameters and the destination. In some embodiments, the interest point recommendation model includes but is not limited to a DeepFM model.

[0068] It should be understood that Figure 2 The system and its modules shown can be implemented in various ways. For example, in some embodiments, the system and its modules can be implemented by hardware, software or a combination of software and hardware. Among them, the hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or a dedicated design hardware. Those skilled in the art will understand that the above-mentioned method and system can be implemented using computer executable instructions and / or included in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The system and its modules of the present application can not only be implemented by hardware circuits such as ultra-large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but can also be implemented by software such as executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (for example, firmware).

[0069] It should be noted that the above description of the candidate item display and determination system and its modules is only for convenience of description and does not limit the present application to the scope of the embodiments. It is understandable that, after understanding the principle of the system, those skilled in the art may arbitrarily combine the modules or form a subsystem to connect with other modules without deviating from the principle. For example, in some embodiments, Figure 2 The acquisition module 210, probability value determination module 220, recommended destination determination module 230 and training module 240 disclosed in the system can be different modules in a system, or a module can realize the functions of two or more modules mentioned above. For example, the acquisition module 210 and the probability value determination module 220 can be two modules, or a module can have both the acquisition and probability value determination functions. For example, each module can share a storage module, or each module can have its own storage module. Such variations are all within the scope of protection of this application.

[0070] Figure 3 FIG. 1 is an exemplary flow chart of a method for recommending points of interest according to some embodiments of the present application. Figure 3 As shown, the method 300 for recommending points of interest may include:

[0071] In step 310, the order data of the current order may be obtained, and the order data may include at least the current time, the current location, or the departure information. In some embodiments, step 310 may be performed by the acquisition module 210. In some embodiments, the current order may be the user's current taxi request. In some embodiments, the order data of the current order may include the current time and the current location of the user's current taxi request, or the departure information entered by the user. For example, when a user opens an online taxi-hailing platform and wants to take a taxi, the system may obtain the current time when the user opens the platform and the current user location, or the departure information entered by the user on the platform.

[0072] Step 320 may be to obtain the user's historical orders within the first time period; extract the historical destinations and the characteristic parameters related to the historical destinations from the historical orders; in some embodiments, step 320 may be performed by the acquisition module 210. In some embodiments, the historical orders within the first time period may refer to historical orders within the last three days, the last week, the last month, or the last six months. In some embodiments, the first time period and the second time period for selecting training data in model training have no intersection. For example, the orders within the first time period do not include the historical orders within the second time period.

[0073] In some embodiments, the feature parameters may include one or a combination of high-dimensional sparse features, user-related features, contextual features, statistical features, other sparse features, and negative feedback features.

[0074] In some embodiments, the high-dimensional sparse features may include one or any combination of a user name (user ID), a point of interest name (POIID), and a city name (city ID). In some embodiments, the user name may be an account registered by a user on the service platform. In some embodiments, the user name may include one or any combination of numbers, letters (such as uppercase letters, lowercase letters, etc.), symbols (such as @, &, etc.), etc. In some embodiments, the user name may be an account set by the user himself, or it may be an account customized by the service platform system according to the user's registration information. For example, the user name set by the user may be the pinyin of the name, date of birth or symbols, or it may be a combination of the pinyin of the name, date of birth and symbols (such as xiaoli@890723). For another example, the user name generated by the service platform system based on the user's registration information may be the user's mobile phone number, email address, registration time, etc.

[0075] In some embodiments, the name of the point of interest may be a geographical area, such as Wudaokou Commercial District, Nanjing Road Pedestrian Street, etc., or an administrative area, such as a province, a municipality, a city, a county, a township, etc. As just an example, the name of the point of interest may be a city, such as Beijing; or a region of a city, such as Haidian District, Beijing; or a more specific address, such as the South Gate of Peking University, Haidian District, Beijing, etc.

[0076] In some embodiments, the city name may be the name of the city to which the destination belongs in the historical order. In some embodiments, the city name may be directly obtained from the destination by the acquisition module 210. For example, the acquisition module 210 may obtain the city name "Beijing" from the destination "South Gate of Peking University, Haidian District, Beijing". In some embodiments, the city name may be obtained by the acquisition module 210 through a positioning device of the user terminal 120.

[0077] In some embodiments, the user-related features may include one or any combination of the user's gender, age, confidence that the point of interest is a home address, confidence that the point of interest is a work address, whether the user is at work, the average distance of historical orders, the distance variance of historical orders, the distance between the current location and the point of interest, points of interest that appear more frequently, etc.

[0078] In some embodiments, the confidence that the point of interest is a home address may be the probability that the point of interest is the user's home address; the confidence that the point of interest is a work address may be the probability that the point of interest is the user's work address. In some embodiments, the average distance of the historical orders may be the average distance between the starting point and the destination in the historical orders. In some embodiments, the distance may be the straight-line distance between the two places, the distance (such as walking distance, cycling distance, etc.), etc. In some embodiments, the distance variance of the historical orders may be obtained based on the average distance of the historical orders.

[0079] In some embodiments, the distance between the current location and the point of interest may be the distance between the location where the user is when opening the service platform through the user terminal 120 and the point of interest. In some embodiments, the distance between the current location and the point of interest may be the distance between the location where the user is when entering the order starting point through the user terminal 120 and the point of interest. In some embodiments, the user's current location may be obtained by the user terminal 120 through a device with a positioning function.

[0080] In some embodiments, the interest points with a high frequency of occurrence may be interest points that the user frequently visits, for example, shopping malls, cinemas, entertainment venues, etc. that the user frequently visits.

[0081] In some embodiments, the context feature may include one or any combination of the time when the point of interest appears, the date when the point of interest appears, the latitude and longitude of the point of interest, the map coordinates of the point of interest, etc. In some embodiments, the time when the point of interest appears may include but is not limited to a time point, a time period, etc. For example, the time when the point of interest appears is 5 pm; for another example, the time when the point of interest appears is between 5 pm and 6 pm.

[0082] In some embodiments, the date when the point of interest appears can be one of the forms of year, month, day, week, working day / rest day, etc. or any combination thereof. For example, the date when the point of interest appears can be a specific date: January 7, 2018; for another example, the date when the point of interest appears can be: Monday, Sunday, etc.; for another example, the date when the point of interest appears can be: working day (Monday to Friday) / rest day (Saturday and Sunday).

[0083] In some embodiments, the statistical features may include one or a combination of distribution probability of interest points according to time, distribution probability according to address name, distribution probability according to longitude and latitude, and distribution probability according to time and location.

[0084] In some embodiments, the distribution probability of the points of interest according to time may be the time distribution probability divided according to working days, rest days, holidays, etc. In some embodiments, the distribution probability of the points of interest according to time may be the time distribution probability divided according to the commuting time period of the day. For example, the time division intervals are: rush hour 7:00-9:30, normal time period 9:30-17:00, rush hour 17:00-19:00, other time 19:00-0:00. In some embodiments, the distribution probability of the points of interest according to time may be the time distribution probability divided according to the user's travel habits (such as daytime and night). In some embodiments, the distribution probability of the points of interest according to time can be counted according to the user's behavior habits in different cities. For example, the commuting time in Beijing is different from the commuting time in Chengdu, so the division of time intervals may be different.

[0085] In some embodiments, the points of interest may be divided into geographical areas, such as Wudaokou Commercial District, Nanjing Road Pedestrian Street, etc., or administrative areas, such as provinces, municipalities, cities, counties, townships, etc. according to the distribution probability of the address names.

[0086] In some embodiments, the division of the intervals in the distribution probability of the interest points according to the longitude and latitude can be based on one or any combination of the region, the regional popularity, the interest point category, etc. For example, the interest points of the same category (such as business circle, work circle, residential circle, etc.) corresponding to the longitude and latitude can be divided into the same interval.

[0087] In some embodiments, the division of the points of interest according to time and location can be based on the division of time and address name intervals. For example, the commuting hours in Haidian District and Chaoyang District in Beijing are different, so the interval division can be different intervals such as Haidian District 9:00, Chaoyang District 8:30, Haidian District 17:30, Chaoyang District 17:00, etc.

[0088] In some embodiments, the other sparse features may include one or a combination of the frequency of taking a point of interest as a destination, the frequency of taking a point of interest as a destination in historical orders within a certain period of time, or several of them. In some embodiments, the frequency of taking a point of interest as a destination may be the number of times the point of interest appears as a destination in historical orders. For example, the frequency of "Zhongguancun" as a destination is 38 times. In some embodiments, the frequency of taking a point of interest as a destination in historical orders within the certain period of time may be the number of times the point of interest appears as a destination in historical orders within a certain period of time. For example, the frequency of "Shangdi" appearing as a destination from 17:00 to 19:00 is 18 times.

[0089] In some embodiments, the negative feedback feature may include the probability of negative feedback that the user does not adopt the point of interest as the destination within a certain period of time. In some embodiments, the negative feedback may be that the system recommends a point of interest to the user multiple times at a specific time, but the user does not click on it. For example, the system recommends the destination "Digital Valley" to a user at 15:00 for 8 times in total, but the user does not click on it, then "Digital Valley + 15:00" is the negative feedback information. In some embodiments, the negative feedback feature may be the probability of negative feedback that the point of interest is the destination within a week or a month.

[0090] In step 330 , candidate points of interest may be determined based on the historical destinations and the order data of the current order. In some embodiments, step 330 may be performed by the probability value determination module 220 .

[0091] In some embodiments, the probability value determination module 220 may determine all destinations in the historical orders as candidate points of interest. In some embodiments, the probability value determination module 220 may determine the destination associated with the order data of the current order as a candidate point of interest. In some embodiments, the probability value determination module 220 may determine the historical destination in the historical order with the current location as a candidate point of interest. In some embodiments, the probability value determination module 220 may determine the destination corresponding to the historical order whose departure place is within a certain range of the current location in the historical order as a candidate point of interest. For example, the historical destination in the order whose departure place is within 500m of the current location is determined as a candidate point of interest. In some embodiments, the probability value determination module 220 may determine the historical destination at the same time point or the same time period in the historical order as a candidate point of interest. For example, if the current time is 17:00 in the afternoon, the destination of the historical order with the order start time of 17:00 or the order start time of the historical order between 16:00 and 18:00 may be determined as a candidate point of interest. In some embodiments, the probability value determination module 220 may set the destination with a frequency greater than a certain threshold as a candidate point of interest. In some embodiments, the frequency may be the frequency of the destination appearing in the historical order. For example, the probability value determination module 220 may determine a destination with a frequency of occurrence greater than 10 in historical orders as a candidate point of interest. In some embodiments, the frequency may be the frequency of the destination in historical orders within a certain period of time. For example, the probability value determination module 220 may determine a destination with a frequency of occurrence greater than 30 within the time period 17:00-19:00 as a candidate point of interest. In some embodiments, the probability value determination module 220 may set a destination within a specific time (such as work time, off-get off work time) or a specific period (a week, weekend, holiday, etc.) as a candidate point of interest. For example, a destination within a working day (Monday to Friday) may be set as a candidate point of interest. In some embodiments, the probability value determination module 220 may determine a destination within a specific area as a candidate point of interest. For example, the probability value determination module 220 may determine a destination within a popular business district as a candidate point of interest.

[0092] In some embodiments, the candidate interest point may include at least one related interest point. Specifically, the candidate interest point may include information such as name, category (such as point area or surface area, etc.), longitude and latitude, etc.

[0093] In step 340 , the probability value of the candidate interest point may be determined based on the feature parameter. In some embodiments, step 340 may be performed by the probability value determination module 220 .

[0094] In some embodiments, the probability value of the candidate point of interest may be a possible probability value of the destination being the candidate point of interest inferred based on the characteristic parameters of the point of interest. In some embodiments, the probability value of the candidate point of interest may be determined by a statistical calculation method (such as histogram statistics, line statistics, etc.). For example, the probability value of the candidate point of interest may be determined by counting the frequency of the candidate point of interest appearing in historical orders or the frequency of the candidate point of interest appearing in historical orders within a certain period of time. For another example, the probability value of the candidate point of interest may be determined by counting the total number of times the user accepts the candidate point of interest to the total number of recommendations within a certain period of time.

[0095] In some embodiments, the probability value of the candidate point of interest can be determined by building a model. In some embodiments, the training module 240 can train a point of interest recommendation model based on the characteristic parameters of the user's historical orders and the destination, and the trained recommendation model can be used to determine the probability value of the candidate point of interest. For more details on training the point of interest recommendation model, see Figure 4 In some alternative embodiments, the probability value of the candidate interest point can also be predicted by other existing methods, which is not limited in this application.

[0096] In step 350, a recommended destination may be determined based on the probability value. In some embodiments, step 350 may be performed by the recommended destination determination module 230. In some embodiments, the recommended destination may include at least one candidate point of interest.

[0097] In some embodiments, the recommended destination determination module 230 may determine the top N candidate interest points with the highest probability values ​​(eg, with the highest probability of being selected) as recommended destinations, where N is an integer greater than or equal to 1 (eg, 1, 2, 3, etc.).

[0098] In some embodiments, the recommended destination determination module 230 may obtain a maximum probability value among the probability values, and determine the candidate point of interest corresponding to the maximum probability value as the recommended destination.

[0099] In some embodiments, the recommended destination determination module 230 may determine the recommended destination by setting a threshold. In some embodiments, the setting of the threshold may be determined manually or automatically. In some embodiments, the setting of the threshold may also be determined experimentally. In some embodiments, the recommended destination determination module 230 may obtain the maximum probability value among the probability values, and when the maximum probability value is greater than a preset threshold, the candidate point of interest corresponding to the maximum probability value is determined as the recommended destination.

[0100] In some embodiments, if the maximum probability value is less than a preset threshold, no POI recommendation is performed. For example, if the preset threshold is 0.6 and the maximum probability value of the candidate POI is 0.3, then all candidate POIs are lower than the preset threshold, and no POI recommendation is performed at this time. This ensures that the recommended POIs have a high degree of match with the destination the user wants to go to, and avoids random recommendations that cause interference to the user.

[0101] It should be noted that the above description of process 300 is only for example and illustration, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to process 300 under the guidance of the present application. However, these modifications and changes are still within the scope of the present application. For example, in some embodiments, if step 310 and step 320 can be combined into one step.

[0102] Figure 4 is an exemplary flow chart of a method for training a point of interest recommendation model according to some embodiments of the present application. Figure 4 As shown, the process 400 of the training method of the interest point recommendation model may include:

[0103] Step 410 , obtaining the user's historical orders within the second time period, and extracting the characteristic parameters and the destination from the historical orders. In some embodiments, step 410 may be performed by the training module 240 .

[0104] In some embodiments, the training module 240 can obtain the user's historical orders within a second time period, and extract the historical destinations and characteristic parameters related to the historical destinations from the historical orders. In some embodiments, the second time period is different from the first time period: the relevant data extracted from the user's historical orders within the second time period is training data, which can be used to train the interest point recommendation model, and the relevant data extracted from the user's historical orders within the first time period is calculation data for calculating the recommended destination, which can be used to determine the input of the probability value of the candidate interest point. In some embodiments, the second time period can be a period of one month, one quarter, or one year other than the first time period. In some embodiments, the second time period can be updated as time passes. For example, the data for model training last month was data from May to March. When the model is updated this month, the training data can be updated to data from June (June data is no longer within the first time period) to April.

[0105] In some embodiments, the feature parameters related to the destination may include one or more combinations of high-dimensional sparse features, user-related features, contextual features, statistical features, other sparse features, negative feedback features, etc. In some embodiments, the high-dimensional sparse features may include one or more combinations of user names (user ID), point of interest names (POI ID) and city names (city ID). In some embodiments, the user-related features may include age, gender, occupation, confidence that the point of interest is a home address, confidence that the point of interest is a work address, whether the user is at work, the average distance of historical orders, the distance variance of historical orders, the distance between the current location and the point of interest, and one or more combinations of points of interest with high frequency. In some embodiments, the contextual features may include: the time when the point of interest appears, the date when the point of interest appears, the longitude and latitude of the point of interest, and the map coordinates of the point of interest. In some embodiments, the statistical features may include: the distribution probability of the point of interest according to time, the distribution probability according to the address name, the distribution probability according to the longitude and latitude, and the distribution probability according to time and location. In some embodiments, the other sparse features may include: the frequency of taking the point of interest as the destination, the frequency of the point of interest as the destination in historical orders within a certain period of time, or a combination of the above. In some embodiments, the negative feedback feature may include: the probability that the user does not adopt the negative feedback of the point of interest as the destination within a certain period of time. More details about the feature parameters are similar to the feature parameters described in step 310, and will not be repeated here.

[0106] Step 420 , training a POI recommendation model based on the feature parameters and the historical destinations. Specifically, step 420 may be performed by the training module 240 .

[0107] In some embodiments, the training module 240 can input the feature parameters and the historical destinations as sample data into a machine learning model for training to obtain a trained point of interest recommendation model. In some embodiments, the machine learning model may include but is not limited to a FM model, a DNN model, a DeepFM model that is a fusion of FM and DNN, and the like. Preferably, the machine learning model can be a DeepFM model that is a fusion of FM and DNN. The DeepFM model consists of two parts: a factorization machine part (FM model) and a neural network part (DNN model), and these two parts share the same input feature data. The DeepFM model is used for training here, which can take into account the results of breadth and depth training at the same time during the training process, improve the learning effect of the model, and make the obtained point of interest recommendation model more accurate in predicting points of interest.

[0108] In some embodiments, the structure of the DeepFM model can be as follows Figure 5 The structure shown. Figure 5 As shown, the exemplary structure of the DeepFM model may include a feature input layer (i.e. Figure 5 Sparse Features), embedding layer (i.e. Figure 5 Dense Embeddings), FM layer (i.e. Figure 5 FM Layer), hidden layer (i.e. Figure 5 Hidden Layer) and output layer (i.e. Figure 5 Output Units). In some embodiments, after the feature vector is input into the DeepFM model, the embedding layer can compress the input feature vector into a low-dimensional dense vector. For example, high-order sparse features can be compressed into five-dimensional or seven-dimensional dense features. The compressed feature vector is then input into the model FM layer and the model DNN, that is, the DeepFM model shares the same input data from the input layer and the embedding layer. Finally, the DeepFM model fuses the outputs of FM and DNN in a certain way as the final output result of the DeepFM model. In some embodiments, the output of the DeepFM model may include the first-order and second-order outputs of the model FM output, the high-order outputs of the model DNN, and the fused output.

[0109] In some embodiments, the fusion output of the DeepFM model can be:

[0110] fusion=sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out);

[0111] Among them, w1, w2, and w3 are weight values, first_order_out is the first-order output of the FM model, second_order_out is the second-order output of the FM model, and dnn_out is the high-order output of the DNN model.

[0112] In some embodiments, w1, w2 and w3 have different values ​​to balance the output of the model. In some embodiments, the value of w2 can be greater than the values ​​of w1 and w3 to increase the weight of the second-order output of the DeepFM model.

[0113] Step 430 may determine a loss function; and optimize the POI recommendation model based on the loss function. In some embodiments, step 430 may be performed by the training module 240.

[0114] In some embodiments, the training module 240 may determine a loss function based on the output of the DeepFM model. For example, the loss function may be fusion_loss. The final output result of the model may be:

[0115] Fusioin=sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out).

[0116] In some embodiments, the training module 240 may determine a loss function based on the first-order, second-order, higher-order, and fused final outputs of the DeepFM model. For example, the loss function may be:

[0117] Loss=β1×lr_loss+β2×second_order_out_loss+β3×dnn_out_loss+β4×fusion_loss

[0118] Wherein, β1, β2, β3, and β4 are weight values. In some embodiments, Where X is a feature matrix composed of feature parameters related to the destination, θ is the weight value corresponding to X, and θ T is the transpose of θ. In some embodiments, X can be a matrix composed of all feature parameters. In some embodiments, θ can be the weight value corresponding to each dimensional feature, which can be continuously adjusted during the model training process. lr_loss is the loss function calculation result of the lr model. In some embodiments, second_order_out_loss is the loss function calculation result of the second-order output of the FM model, dnn_out_loss is the loss function calculation result of the high-order output of the DNN model, and fusion_loss is the loss function calculation result of the fusion model. In some embodiments, the weight values ​​β1, β2, β3, and β4 can be determined manually or automatically, such as β1=0.2, β2=0.8, β3=0.8, and β4=0.2. In some embodiments, the weight values ​​can also be determined experimentally. Adding loss functions to the three outputs (first order, second order, and high order) of the FM model can improve the accuracy of the model output. In some embodiments, the weight value of the loss function of the second-order output of the FM model can be set to the maximum to improve the stability of the model.

[0119] It should be noted that the above description of process 400 is only for example and illustration, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to process 400 under the guidance of the present application. However, these modifications and changes are still within the scope of the present application. For example, in some embodiments, step 420 and step 430 can be combined into one step.

[0120] Figure 6 FIG. 1 is an exemplary flow chart of a method for determining a recommended destination according to an application model shown in some embodiments of the present application. Figure 6 As shown, the method for applying the model to determine the recommended destination may include:

[0121] Step 610, obtain order data of the current order, the order data at least including current time, current location or departure place information; obtain user historical orders within a certain period of time; extract historical destinations and characteristic parameters related to the historical destinations from the historical orders. In some embodiments, step 610 can be performed by acquisition module 210. Step 610 is similar to steps 310 and 320, and will not be repeated here.

[0122] Step 620 , determining candidate points of interest based on the historical destinations and the order data of the current order. In some embodiments, step 620 may be performed by the probability value determination module 220 .

[0123] Step 630, obtaining the interest point recommendation model. In some embodiments, step 630 can be performed by the probability value determination module 220. In some embodiments, the probability value determination module 220 can directly obtain the interest point recommendation model from the server 110, the network 120 or the storage device 130. In some embodiments, the interest point recommendation model can be generated by training through the training module 240. In some embodiments, the training module 240 can generate the interest point recommendation model by obtaining the user's historical orders within the second time period; extracting the feature parameters and the destination from the historical orders; and training based on the feature parameters and the destination. In some embodiments, the interest point recommendation model can be a DeepFM model. For more information on training interest point recommendation models, see Figure 4 And its description will not be repeated here.

[0124] In step 640, the probability value of the candidate interest point can be determined based on the recommendation model. In some embodiments, step 640 can be performed by the probability value determination module 220. In some embodiments, the candidate interest points can be determined based on the destination, and the characteristic parameters of each candidate interest point can be extracted and input into the interest point recommendation model, and the probability value of each candidate interest point can be output through the model.

[0125] Step 650, a recommended destination can be determined based on the probability value of the candidate points of interest, and the recommended destination can be sent to the user. In some embodiments, step 650 can be performed by the recommended destination determination module 230. In some embodiments, the candidate points of interest ranked in the top N positions of the probability value can be determined as the recommended destination, where N is an integer greater than or equal to 1 (such as 1, 2, 3, 4, 5, etc.). In some embodiments, the candidate point of interest corresponding to the maximum probability value in the probability value can be determined as the recommended destination. In some embodiments, the maximum probability value in the probability value can be obtained, and when the maximum probability value is greater than a preset threshold, the candidate point of interest corresponding to the maximum probability value is determined as the recommended destination. In some embodiments, the determined recommended destination can be sent to the user via the user terminal 120. In some embodiments, if the maximum probability value of the candidate point of interest is less than the preset threshold, the point of interest recommendation is not performed. For example, if the preset threshold is 0.6 and the maximum probability value of the candidate point of interest is 0.3, all candidate points of interest are lower than the preset threshold, and the point of interest recommendation is not performed at this time.

[0126] It should be noted that the above description of process 600 is only for example and explanation, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to process 600 under the guidance of the present application. However, these modifications and changes are still within the scope of the present application. For example, in some embodiments, if the probability values ​​of the candidate points of interest determined in step 640 are all very small, step 650 can be omitted, the determination of the recommended destination is not performed, and the points of interest are not recommended to the user.

[0127] The beneficial effects that may be brought about by the embodiments of the present application include but are not limited to: (1) The present application can accurately recommend destinations to users based on features related to recommended destinations obtained from historical orders, thereby reducing the user's operational burden and improving user experience; (2) The present application adopts the DeepFM fusion model to recommend destinations, which can take into account the advantages of both the breadth model and the depth model compared to other models, thereby improving the accuracy of prediction results; (3) The present application establishes a fusion output method for the DeepFM model, and when establishing the loss function, the loss is calculated for different models separately, and then weighted addition is performed, which can take into account both the low-order output and the high-order output of the model. It should be noted that different embodiments may produce different beneficial effects. In different embodiments, the beneficial effects that may be produced may be any one or a combination of the above, or any other possible beneficial effects.

[0128] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of the present application. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements and amendments to the present application. Such modifications, improvements and amendments are suggested in the present application, so such modifications, improvements and amendments still belong to the spirit and scope of the exemplary embodiments of the present application.

[0129] At the same time, the present application uses specific words to describe the embodiments of the present application. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, some features, structures or characteristics in one or more embodiments of the present application can be appropriately combined.

[0130] In addition, it will be appreciated by those skilled in the art that various aspects of the present application may be illustrated and described by a number of patentable categories or situations, including any new and useful process, machine, product or combination of substances, or any new and useful improvements thereto. Accordingly, various aspects of the present application may be performed entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. The above hardware or software may all be referred to as "data blocks", "modules", "engines", "units", "components" or "systems". In addition, various aspects of the present application may be represented as a computer product located in one or more computer-readable media, which includes computer-readable program code.

[0131] A computer storage medium may include a propagated data signal containing computer program code, for example, in baseband or as part of a carrier wave. The propagated signal may be in a variety of forms, including electromagnetic, optical, etc., or a suitable combination. A computer storage medium may be any computer-readable medium other than a computer-readable storage medium, which can be connected to an instruction execution system, device or apparatus to communicate, propagate or transmit the program for use. The program code on the computer storage medium may be transmitted via any suitable medium, including radio, cable, fiber optic cable, RF, or similar media, or any combination of the above media.

[0132] The computer program coding required for the operation of each part of the application can be written in any one or more programming languages, including object-oriented programming languages ​​such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc., conventional procedural programming languages ​​such as C language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages ​​such as Python, Ruby and Groovy, or other programming languages, etc. The program coding can be run completely on the user's computer, or run on the user's computer as an independent software package, or run partly on the user's computer and partly on the remote computer, or run completely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as software as a service (SaaS).

[0133] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this application, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this application. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this application. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0134] Similarly, it should be noted that in order to simplify the description of the disclosure of this application and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this application, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the object of this application are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.

[0135] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of the present application are approximate values, in specific embodiments, the setting of such numerical values ​​is as accurate as possible within the feasible range.

[0136] Each patent, patent application, patent application disclosure, and other materials, such as articles, books, instructions, publications, documents, etc., cited in this application are hereby incorporated by reference in their entirety. Except for application history documents that are inconsistent with or conflicting with the content of this application, documents that limit the broadest scope of the claims of this application (currently or later attached to this application) are also excluded. It should be noted that if the descriptions, definitions, and / or use of terms in the attached materials of this application are inconsistent or conflicting with the content described in this application, the descriptions, definitions, and / or use of terms in this application shall prevail.

[0137] Finally, it should be understood that the embodiments described in this application are only used to illustrate the principles of the embodiments of the present application. Other variations may also fall within the scope of the present application. Therefore, as an example and not a limitation, the alternative configurations of the embodiments of the present application may be considered to be consistent with the teachings of the present application. Accordingly, the embodiments of the present application are not limited to the embodiments explicitly introduced and described in the present application.

Claims

1. A method for destination recommendation, characterized in that: include: Obtaining order data of the current order, wherein the order data at least includes current time, current location or departure place information; Get the user's historical orders within the first time period; extracting historical destinations and characteristic parameters related to the historical destinations from the historical orders; determining candidate points of interest based on the historical destinations and the order data of the current order; Determining the probability value of the candidate interest point based on the feature parameter includes: Get the POI recommendation model; Determine the probability value of the candidate point of interest based on the point of interest recommendation model, wherein the point of interest recommendation model is a DeepFM model, the DeepFM model includes an FM model and a DNN model, the FM model and the DNN model share the feature parameters, the feature parameters include high-dimensional sparse features, user-related features, contextual features, statistical features, other sparse features and negative feedback features, and the output of the DeepFM model is: fusion=sigmoid(w1×first_order_out+w2×second_order_out+w3×dnn_out); Wherein, w1, w2, w3 are weight values, first_order_out is the first-order output of the FM model, second_order_out is the second-order output of the FM model, and dnn_out is the high-order output of the DNN model; The values ​​of w1, w2 and w3 are different, and the value of w2 is greater than the values ​​of w1 and w3; A recommended destination is determined based on the probability value.

2. The method according to claim 1, It is characterized in that in, The high-dimensional sparse features include one or a combination of user names, points of interest names, and city names; The user-related features include age, gender, occupation, confidence that the point of interest is a home address, confidence that the point of interest is a work address, whether the user is at work, average distance of historical orders, distance variance of historical orders, distance between the current location and the point of interest, and one or a combination of the points of interest with high frequency; The context features include: the time when the point of interest appears, the date when the point of interest appears, the longitude and latitude of the point of interest, and the map coordinates of the point of interest, or a combination of the two; The statistical features include: distribution probability of interest points according to time, distribution probability according to address name, distribution probability according to longitude and latitude, distribution probability according to time and location, or a combination of the above; The other sparse features include: the frequency of taking the point of interest as the destination, the frequency of taking the point of interest as the destination in historical orders within a certain period of time, or a combination of the above; The negative feedback feature includes: the probability that the user does not adopt the negative feedback of the point of interest as the destination within a certain period of time.

3. The method according to claim 1, characterized in that The method for obtaining the point of interest recommendation model includes: Acquire the user's historical orders within the second time period; extract historical destinations and related characteristic parameters of the historical destinations from the historical orders; A point of interest recommendation model is trained based on the feature parameters and the historical destinations.

4. The method according to claim 3, characterized in that Determine the loss function; The POI recommendation model is optimized based on the loss function.

5. The method according to claim 4, characterized in that The loss function is: Loss=β1×lr_loss+β2×second_order_out_loss+β3×dnn_out_loss+β4×fusion_loss Among them, β1, β2, β3, and β4 are weight values; Where X is a feature matrix composed of feature parameters related to the destination, θ is the weight value corresponding to X, and θ T is the transpose of θ; fusion=sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out); lr_loss is the loss function calculation result of the lr model, second_order_out_loss is the loss function calculation result of the second-order output of the FM model, dnn_out_loss is the loss function calculation result of the high-order output of the DNN model, and fusion_loss is the loss function calculation result of the fusion model.

6. The method according to claim 1, characterized in that Determining a recommended destination based on the probability value includes: A maximum probability value among the probability values ​​is obtained, and when the maximum probability value is greater than a preset value, the candidate point of interest corresponding to the maximum probability value is determined as the recommended destination.

7. A point of interest recommendation system, characterized in that: include: An acquisition module, used to acquire order data of a current order, wherein the order data at least includes current time, current location or departure place information; Also used to obtain the user's historical orders within the first time period; extract the historical destination and the characteristic parameters related to the historical destination from the historical orders; a probability value determination module, configured to determine candidate points of interest based on the historical destinations and the order data of the current order; Determining the probability value of the candidate interest point based on the feature parameter includes: Get the POI recommendation model; Determine the probability value of the candidate point of interest based on the point of interest recommendation model, wherein the point of interest recommendation model is a DeepFM model, the DeepFM model includes an FM model and a DNN model, the FM model and the DNN model share the feature parameters, the feature parameters include high-dimensional sparse features, user-related features, contextual features, statistical features, other sparse features and negative feedback features, and the output of the DeepFM model is: fusion=sigmoid(w1×first_order_out+w2×second_order_out+w3×dnn_out); Wherein, w1, w2, w3 are weight values, first_order_out is the first-order output of the FM model, second_order_out is the second-order output of the FM model, and dnn_out is the high-order output of the DNN model; The values ​​of w1, w2 and w3 are different, and the value of w2 is greater than the values ​​of w1 and w3; The recommended destination determination module is used to determine the recommended destination based on the probability value.

8. The system of claim 7, It is characterized in that in, The high-dimensional sparse features include one or a combination of user names, points of interest names, and city names; The user-related features include age, gender, occupation, confidence that the point of interest is a home address, confidence that the point of interest is a work address, whether the user is at work, average distance of historical orders, distance variance of historical orders, distance between the current location and the point of interest, and one or a combination of the points of interest with high frequency; The context features include: the time when the point of interest appears, the date when the point of interest appears, the longitude and latitude of the point of interest, and the map coordinates of the point of interest, or a combination of the two; The statistical features include: distribution probability of interest points according to time, distribution probability according to address name, distribution probability according to longitude and latitude, distribution probability according to time and location, or a combination of the above; The other sparse features include: the frequency of taking the point of interest as the destination, the frequency of taking the point of interest as the destination in historical orders within a certain period of time, or a combination of the above; The negative feedback feature includes: the probability that the user does not adopt the negative feedback of the point of interest as the destination within a certain period of time.

9. The system according to claim 7, characterized in that Also included is a training module, the training module is further used to: Acquire historical orders of the user within a second time period; extract historical destinations and characteristic parameters related to the historical destinations from the historical orders; A point of interest recommendation model is trained based on the feature parameters and the historical destinations.

10. The system according to claim 9, characterized in that The training module also includes: Determine the loss function; The POI recommendation model is optimized based on the loss function.

11. The system according to claim 10, characterized in that The loss function is: Loss=β1×lr_loss+β2×second_order_out_loss+β3×dnn_out_loss+β4×fusion_loss Among them, β1, β2, β3, and β4 are weight values; Where X is a feature matrix composed of feature parameters related to the destination, θ is the weight value corresponding to X, and θ T is the transpose of θ; fusion=sigmid(w1×first_order_out+w2×second_order_out+w3×dnn_out); lr_loss is the loss function calculation result of the lr model, second_order_out_loss is the loss function calculation result of the second-order output of the FM model, dnn_out_loss is the loss function calculation result of the high-order output of the DNN model, and fusion_loss is the loss function calculation result of the fusion model.

12. The system according to claim 7, characterized in that The recommended destination determination module is also used for: A maximum probability value among the probability values ​​is obtained, and when the maximum probability value is greater than a preset value, the candidate point of interest corresponding to the maximum probability value is determined as the recommended destination.

13. A destination recommendation device, comprising a processor, characterized in that: The processor is configured to execute the destination recommendation method according to any one of claims 1 to 6.

14. A computer-readable storage medium storing computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes the destination recommendation method according to any one of claims 1 to 6.