System and method for recommending pick-up points

By obtaining the user's current and historical locations and using a boarding point recommendation model to determine the transfer probability, the problem of boarding point recommendation deviation caused by inaccurate GPS positioning is solved, thus improving the user experience.

CN116457778BActive Publication Date: 2026-01-13DITU (BEIJING) TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080106667.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-29
Publication Date
2026-01-13
Estimated Expiration
2040-10-29

AI Technical Summary

Technical Problem

In existing technologies, inaccurate GPS positioning leads to deviations in the recommended pick-up points for on-demand services, resulting in a poor user experience.

Method used

By obtaining the user's current and historical locations, feature data is extracted and input into the boarding point recommendation model to determine the transfer probability of each possible boarding point, and the recommended boarding point is determined based on the probability.

Benefits of technology

It improved the accuracy of pick-up point recommendations and enhanced the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116457778B_ABST
    Figure CN116457778B_ABST
Patent Text Reader

Abstract

The present invention relates to systems and methods for recommending pick-up points. The method can include obtaining and storing a current location of a user, a plurality of historical locations associated with the current location of the user, and one or more possible pick-up points corresponding to each of the plurality of historical locations of the user. The method can also include extracting feature data from the current location of the user, the plurality of historical locations, and the one or more possible pick-up points corresponding to each of the plurality of historical locations. The method can also include inputting the extracted feature data into a pick-up point recommendation model, determining a transfer probability for each possible pick-up point. The method can also include determining a recommended pick-up point for the user based on the determined transfer probability for each possible pick-up point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to on-demand services, and more specifically, to systems and methods for recommending pick-up points in on-demand services. Background Technology

[0002] With the rapid development of mobile internet and online service applications, on-demand services are becoming increasingly popular, bringing great convenience to people. In on-demand services, users can choose a nearby pick-up point based on recommendations provided by the GPS built into their mobile devices or manually specify a pick-up point. However, inaccurate GPS positioning and other issues often lead to deviations in recommended pick-up points, resulting in a poor user experience. Therefore, a system and method that can more accurately recommend pick-up points is needed. Summary of the Invention

[0003] According to one aspect of this disclosure, a system for recommending pick-up points is provided. The system may include at least one storage device for storing a set of instructions, and at least one processor configured to communicate with the at least one storage device. When the instructions are executed, the at least one processor may be configured to instruct the system to perform the following operations. These operations may include acquiring and storing a user's current location, a plurality of historical locations associated with the user's current location, and one or more possible pick-up points corresponding to each of the plurality of historical locations; extracting feature data from the user's current location, the plurality of historical locations, and the one or more possible pick-up points corresponding to each of the plurality of historical locations; inputting the extracted feature data into a pick-up point recommendation model to determine a transition probability for each of the possible pick-up points; and determining a recommended pick-up point for the user based on the determined transition probability of each of the possible pick-up points.

[0004] According to another aspect of this disclosure, a method for recommending pick-up points is provided. The method can be implemented on a computing device having at least one processor and at least one computer-readable storage medium. The method may include acquiring and storing a user's current location, a plurality of historical locations associated with the user's current location, and one or more possible pick-up points corresponding to each of the plurality of historical locations; extracting feature data from the user's current location, the plurality of historical locations, and the one or more possible pick-up points corresponding to each of the plurality of historical locations; inputting the extracted feature data into a pick-up point recommendation model to determine the transition probability of each of the possible pick-up points; and determining a recommended pick-up point for the user based on the determined transition probability of each of the possible pick-up points.

[0005] According to another aspect of this disclosure, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium may include at least one set of instructions for recommending pick-up points, wherein when executed by at least one processor of a computing device, the at least one set of instructions causes the computing device to perform a method. The method may include acquiring and storing a user's current location, a plurality of historical locations associated with the user's current location, and one or more possible pick-up points corresponding to each of the plurality of historical locations; extracting feature data from the user's current location, the plurality of historical locations, and the one or more possible pick-up points corresponding to each of the plurality of historical locations; inputting the extracted feature data into a pick-up point recommendation model to determine a transition probability for each of the possible pick-up points; and determining a recommended pick-up point for the user based on the determined transition probability of each of the possible pick-up points.

[0006] In some embodiments, the method further includes sending the recommended pick-up point to the user's terminal device.

[0007] In some embodiments, the plurality of historical locations are within a preset distance of the user's current location.

[0008] In some embodiments, the extracted feature data includes: the distance from the user's current location to each of the possible pick-up points, the popularity value of each of the possible pick-up points, the popularity value of each road segment associated with the possible pick-up point, the popularity value of each route associated with the possible pick-up point, or the historical fixed-point rate of each of the possible pick-up points, wherein the historical fixed-point rate is the ratio of the number of orders associated with the possible pick-up point to the number of orders associated with all possible pick-up points.

[0009] In some embodiments, the extracted feature data further includes: calculating the popularity value of each possible pick-up point based on the number of historical orders using the possible pick-up point as the actual pick-up point; determining the popularity value of each road segment associated with the possible pick-up point based on the popularity value of the possible pick-up point on the road segment; and determining the popularity value of each route associated with the possible pick-up point based on the popularity value of the possible pick-up point on the route.

[0010] In some embodiments, the boarding point recommendation model includes a gradient boosting decision tree (GBDT) model.

[0011] In some embodiments, the method further includes training a pick-up point recommendation model by: randomly extracting multiple historical orders placed by at least one user; obtaining from the extracted orders the location of the user at the time of order placement, forming a set of user locations, a set of training historical locations associated with each user location, and a set of training possible pick-up points corresponding to the set of training historical locations; extracting training feature data from the set of user locations, the set of training historical locations, and the set of training possible pick-up points; determining the training transition probability from each user location to each corresponding training possible pick-up point; labeling the corresponding training transition probability for each training possible pick-up point; and inputting the labeled training possible pick-up points into the model for preliminary pick-up point recommendation model training to obtain a trained pick-up point recommendation model.

[0012] In some embodiments, the method further includes summing heat values ​​associated with the historical locations corresponding to the possible boarding points based on their respective weights to determine the transfer probability.

[0013] In some embodiments, the weight is the distance between the user's current location and the historical location.

[0014] In some embodiments, determining the recommended pick-up point based on the determined transfer probabilities includes: determining the maximum transfer probability from the determined transfer probabilities; and designating the possible pick-up point with the maximum transfer probability as the user's recommended pick-up point.

[0015] In some embodiments, one or more possible boarding points corresponding to each of the plurality of historical locations are determined based on historical boarding points and clustering algorithms.

[0016] Some additional features will be described in the following description, and some of these additional features will be apparent to those skilled in the art from the study of the following description and the accompanying drawings, or from an understanding of the production or operation of the embodiments. The features of this specification can be implemented and achieved through the practice or use of various methods, means, and combinations of the specific embodiments described below. Attached Figure Description

[0017] This specification will be further described by way of exemplary embodiments. These exemplary embodiments will be described in detail with reference to the accompanying drawings. These drawings are not to scale. These embodiments are not limiting; in these embodiments, the same reference numerals denote the same structures, and wherein:

[0018] Figure 1 This is a schematic diagram of an exemplary boarding point recommendation system illustrated according to some embodiments of the present disclosure;

[0019] Figure 2 This is a schematic diagram of exemplary components of a computing device according to some embodiments of the present disclosure;

[0020] Figure 3 These are schematic diagrams illustrating exemplary hardware and / or software components of a user terminal according to some embodiments of this disclosure;

[0021] Figure 4 This is illustrated according to some embodiments of the present disclosure. Figure 1 A block diagram of an exemplary processing device;

[0022] Figure 5 This is illustrated according to some embodiments of the present disclosure. Figure 4 A block diagram of an exemplary processing module;

[0023] Figure 6 This is a flowchart illustrating an exemplary process for recommending boarding points according to some embodiments of this disclosure;

[0024] Figure 7 This is a flowchart illustrating an exemplary process for training a boarding point recommendation model according to some embodiments of the present disclosure;

[0025] Figure 8 This is a flowchart illustrating an exemplary process for determining the heat value of a route according to some embodiments of this disclosure; and

[0026] Figure 9 This is a schematic diagram illustrating the relationship between a user’s current location, multiple historical locations, and one or more possible boarding points corresponding to each of the multiple historical locations, according to some embodiments of this disclosure. Detailed Implementation

[0027] To illustrate the technical solutions related to the embodiments of this disclosure, the accompanying drawings referenced in the description of the embodiments are briefly introduced below. Obviously, the drawings described below are merely some examples or embodiments of this disclosure. Those skilled in the art can apply this disclosure to other similar scenarios based on these drawings without further creative effort. Unless otherwise stated or obvious from the context, the same reference numerals in the drawings refer to the same structures and operations.

[0028] As used in this disclosure and the appended claims, the singular forms “a,” “an,” and “the” include plural references unless explicitly stated otherwise. It is further understood that when the terms “comprising” and / or “including” are used in this disclosure, they specify the presence of said steps and elements but do not exclude the presence or addition of one or more other steps and elements.

[0029] According to some embodiments of this disclosure, some modules of the system may be referenced in various ways; however, any number of different modules may be used and operated on the client terminal and / or server. These modules are intended to be illustrative and not to limit the scope of this disclosure. Different modules may be used for different aspects of the system and method.

[0030] According to some embodiments of this disclosure, flowcharts are used to illustrate the operations performed by the system. It should be clearly understood that the operations above or below can be performed sequentially or out of order. Conversely, these operations can be performed in reverse order or simultaneously. Furthermore, one or more other operations can be added to the flowchart, or one or more operations can be omitted from the flowchart.

[0031] The technical solutions of the embodiments of this disclosure are described with reference to the accompanying drawings below. Obviously, the described embodiments are not exhaustive or limiting. Other embodiments obtained by those skilled in the art based on the embodiments presented in this disclosure without any inventive effort are also within the scope of this disclosure.

[0032] Some embodiments of this disclosure relate to systems and methods for recommending pick-up points to users. The system can acquire and store a user's current location, multiple historical locations associated with the user's current location, and one or more possible pick-up points corresponding to each of the user's multiple historical locations. Feature data can be extracted from the current location, the multiple historical locations, and the one or more possible pick-up points corresponding to each of the user's multiple historical locations. The extracted feature data can be input into a pick-up point recommendation model to determine the transition probability of each possible pick-up point. Then, a recommended pick-up point can be determined for the user based on the determined transition probability of each possible pick-up point.

[0033] Some embodiments of this disclosure relate to real-time or online vehicle location determination functionality applicable to, for example, on-demand services, which are services or demands that have emerged only in the post-Internet era. It provides service requesters with technological solutions that are only possible in the post-Internet era. Current solutions are deeply rooted in the post-Internet era and aim to address problems that have arisen in this era.

[0034] Figure 1 This is a schematic diagram illustrating an exemplary pick-up point recommendation system according to some embodiments of the present disclosure. In some embodiments, the pick-up point recommendation system 100 may be an online transportation service platform for transportation services such as ride-hailing services, private car services, vehicle delivery services, carpooling services, public bus services, driver rental services, and shuttle bus services. The pick-up point recommendation system 100 may include a server 110, a network 120, a passenger terminal 130, a driver terminal 140, a vehicle 150, and a memory 160.

[0035] Server 110 may be a computer server. Server 110 may communicate with passenger terminal 130 and / or driver terminal 140 to provide various functions of order dispatch services. In some embodiments, server 110 may be a single server or a group of servers. The server group may be a centralized server group connected to network 120 via access points, or a distributed server group connected to network 120 via one or more access points. In some embodiments, server 110 may be locally connected to network 120 or remotely connected to network 120. For example, server 110 may access information and / or data stored in passenger terminal 130, driver terminal 140, and / or memory 160 via network 120. As another example, memory 160 may serve as back-end storage for server 110. In some embodiments, server 110 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, inter-cloud, multi-cloud, or any combination thereof.

[0036] In some embodiments, server 110 may include processing device 112. Processing device 112 may process information and / or data related to performing one or more functions described in this disclosure. For example, processing device 112 may obtain a user's current location and determine at least one pick-up point recommended to the user based on the user's current location and multiple historical orders. In some embodiments, processing device 112 may include one or more processing units (e.g., a single-core processing engine or a multi-core processing engine). By way of example only, processing device 112 may include a central processing unit (CPU), application-specific integrated circuit (ASIC), application-specific instruction set processor (ASIP), graphics processing unit (GPU), physical processing unit (PPU), digital signal processor (DSP), field-programmable gate array (FPGA), programmable logic device (PLD), controller, microcontroller unit, reduced instruction set computer (RISC), microprocessor, etc., or any combination thereof.

[0037] Network 120 can facilitate the exchange of information and / or data. In some embodiments, one or more components of the pick-up point recommendation system 100 (e.g., server 110, passenger terminal 130, driver terminal 140, vehicle 150, memory 160) can send information and / or data to other components of the pick-up point recommendation system 100 via network 120. For example, server 110 can access and / or retrieve multiple historical orders from memory 160 via network 120. In some embodiments, network 120 can be any type of wired or wireless network, or any combination thereof. By way of example only, network 120 may include cable networks, wired networks, fiber optic networks, telecommunications networks, intranets, the Internet, local area networks (LANs), wide area networks (WANs), wireless local area networks (WLANs), metropolitan area networks (MANs), public switched telephone networks (PSTNs), and Bluetooth. TM The network 120 may be a network, a ZigBee network, a near-field communication (NFC) network, or any combination thereof. In some embodiments, network 120 may include one or more network access points. For example, network 120 may include wired or wireless network access points, such as base stations and / or internet exchange points 120-1, 120-2, ..., through which one or more components of the boarding point recommendation system 100 may connect to network 120 to exchange data and / or information.

[0038] In some embodiments, a passenger or user can be the holder of passenger terminal 130. In some embodiments, the holder of passenger terminal 130 can be someone other than a passenger. For example, holder A of passenger terminal 130 can use passenger terminal 130 to send service requests for passenger B, and / or receive service confirmations and / or information or instructions from server 110. In some embodiments, a driver can be a user of driver terminal 140. In some embodiments, the user of driver terminal 140 can be someone other than a driver. For example, user C of driver terminal 140 can use driver terminal 140 to receive service requests and / or information or instructions for driver D from server 110. In some embodiments, a driver can be assigned to use one of driver terminal 140 and / or vehicle 150 at least for a period of time, such as a day, a week, a month, or a year. In some other embodiments, a driver can be randomly assigned to use one of driver terminal 140 and / or vehicle 150. For example, when a driver can provide on-demand service, he / she can be assigned to use the driver terminal that received the earliest request and the recommended vehicle for performing that type of on-demand service. In some embodiments, “passenger,” “requester,” and “terminal device” can be used interchangeably, as can “driver,” “provider,” and “driver terminal.” In some embodiments, a driver terminal can be associated with one or more drivers (e.g., night shift drivers, day shift drivers, or a pool of drivers that can be randomly shifted).

[0039] In some embodiments, passenger terminal 130 may include mobile device 130-1, tablet computer 130-2, laptop computer 130-3, in-vehicle device 130-4, etc., or any combination thereof. In some embodiments, mobile device 130-1 may include smart home device, wearable device, smart mobile device, virtual reality device, augmented reality device, etc., or any combination thereof. In some embodiments, smart home device may include smart lighting device, smart electrical device control device, smart monitoring device, smart TV, smart camera, walkie-talkie, etc., or any combination thereof. In some embodiments, wearable device may include smart bracelet, smart footwear, smart glasses, smart helmet, smartwatch, smart clothing, smart backpack, smart accessory, etc., or any combination thereof. In some embodiments, smart mobile device may include smartphone, personal digital assistant (PDA), gaming device, navigation device, point of sale (POS) device, etc., or any combination thereof. In some embodiments, virtual reality device and / or augmented reality device may include virtual reality helmet, virtual reality glasses, virtual reality patch, augmented reality helmet, augmented reality glasses, augmented reality patch, etc., or any combination thereof. For example, virtual reality device and / or augmented reality device may include Google Glass. TM Oculus Rift TM HoloLens TM Gear VR TM In some embodiments, the in-vehicle device 130-4 may include a built-in computer, an in-vehicle built-in television, a built-in tablet computer, etc. In some embodiments, the passenger terminal 130 may include a signal transmitter and a signal receiver configured to communicate with the positioning device 170 to locate the position of the passenger and / or the passenger terminal 130.

[0040] Driver terminal 140 may include multiple driver terminals 140-1, 140-2, ..., 140-n. In some embodiments, driver terminal 140 may be similar to or the same as passenger terminal 130. In some embodiments, driver terminal 140 may be customized to provide online transportation services. In some embodiments, driver terminal 140 and passenger terminal 130 may be configured with signal transmitters and signal receivers for receiving location information of driver terminal 140 and passenger terminal 130 from positioning device 170. In some embodiments, passenger terminal 130 and / or driver terminal 140 may communicate with other positioning devices to determine the location of passengers, passenger terminal 130, drivers, and / or driver terminal 140. In some embodiments, passenger terminal 130 and / or driver terminal 140 may periodically send location information to server 110. In some embodiments, driver terminal 140 may also periodically send availability status to server 110. Availability status may indicate whether vehicle 150 associated with driver terminal 140 is available to transport passengers. For example, passenger terminal 130 may send location information to server 110 every 30 minutes. As another example, driver terminal 140 may send an availability status to the server every 30 minutes and / or when on-demand service is completed. As another example, passenger terminal 130 may send location information to server 110 each time a user logs into the mobile application associated with the order dispatch service.

[0041] In some embodiments, driver terminal 140 may correspond to one or more vehicles 150. Vehicle 150 may carry passengers and travel to a destination. Vehicle 150 may include multiple vehicles 150-1, 150-2, ..., 150-n.

[0042] Memory 160 may store data and / or instructions. In some embodiments, memory 160 may store data obtained from passenger terminal 130 and / or driver terminal 140. For example, memory 160 may store log information associated with passenger terminal 130. In some embodiments, memory 160 may store data and / or instructions that server 110 can execute to provide the on-demand services described in this disclosure. In some embodiments, memory 160 may include mass storage, removable storage, volatile read-write storage, read-only storage (ROM), etc., or any combination thereof. Exemplary mass storage may include disks, optical disks, solid-state drives, etc. Exemplary removable storage may include flash drives, floppy disks, optical disks, memory cards, compact disks, magnetic tapes, etc. Exemplary volatile read-write storage may include random access memory (RAM). Exemplary RAM may include dynamic RAM (DRAM), double data rate synchronous dynamic RAM (DDR SDRAM), static RAM (SRAM), thyristor RAM (T-RAM), and zero-capacitance RAM (Z-RAM), etc. Exemplary ROMs may include mask ROMs (MROMs), programmable ROMs (PROMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), optical disc ROMs (CD-ROMs), and digital universal disk ROMs, etc. In some embodiments, the storage device 160 may be implemented on a cloud platform. By way of example only, the cloud platform may include private clouds, public clouds, hybrid clouds, community clouds, distributed clouds, cross-cloud, multi-cloud, etc., or any combination thereof.

[0043] Positioning device 170 can determine information associated with an object, such as one or more of passenger terminal 130, driver terminal 140, vehicle 150, etc. For example, positioning device 170 can determine the current time and location of a passenger or driver through passenger terminal 130 and / or driver terminal 140. In some embodiments, positioning device 170 can be a Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Compass Navigation System (COMPASS), BeiDou Navigation Satellite System, Galileo Positioning System, Quasi-Zenith Satellite System (QZSS), etc. This information can include the object's position, elevation angle, velocity or acceleration, and / or current time. The position can be in the form of coordinates, such as latitude and longitude coordinates. Positioning device 170 can include one or more satellites, such as satellite 170-1, satellite 170-2, and satellite 170-3. Satellites 170-1 to 170-3 can independently or jointly determine the above information. The positioning device 170 can send the above information to the passenger terminal 130, driver terminal 140 or vehicle 150 via the network 120.

[0044] In some embodiments, one or more components of the pick-up point recommendation system 100 may access data or instructions stored in memory 160 via network 120. In some embodiments, memory 160 may be directly connected to server 110 as back-end storage.

[0045] In some embodiments, one or more components of the pick-up point recommendation system 100 (e.g., server 110, passenger terminal 130, driver terminal 140, etc.) may have access to memory 160. In some embodiments, one or more components of the pick-up point recommendation system 100 may read and / or modify information related to passengers, drivers, and / or vehicles when one or more conditions are met. For example, server 110 may read and / or modify the user characteristics of one or more passengers after an on-demand service order is completed.

[0046] In some embodiments, information exchange between one or more components of the pick-up point recommendation system 100 can be initiated by launching an on-demand service mobile application on a terminal device to request services. The object of the service request can be any product. In some embodiments, products may include food, pharmaceuticals, commodities, chemical products, electrical appliances, clothing, automobiles, housing, luxury goods, etc., or any combination thereof. In some other embodiments, the product may include service products, financial products, knowledge products, internet products, etc., or any combination thereof. Internet products may include personal computer products, network products, mobile internet products, business computer products, embedded products, etc., or any combination thereof. Mobile internet products can be software, programs, systems, etc., used in mobile terminals, or any combination thereof. The mobile terminal may include tablet computers, laptops, mobile phones, personal digital assistants (PDAs), smartwatches, point-of-sale (POS) devices, in-vehicle computers, in-flight televisions, wearable devices, etc., or any combination thereof. For example, the product can be any software and / or application used in a computer or mobile phone. This software and / or application may involve social networking, shopping, transportation, entertainment, learning, investment, etc., or any combination thereof. In some embodiments, transportation-related software and / or applications may include travel software and / or applications, vehicle dispatching software and / or applications, surveying software and / or applications, etc. In vehicle dispatching software and / or applications, vehicles may include horses, horse-drawn carriages, rickshaws (e.g., wheelbarrows, bicycles, tricycles, etc.), automobiles (e.g., taxis, buses, private cars, etc.), trains, subways, ships, aircraft (e.g., airplanes, helicopters, space shuttles, rockets, hot air balloons, etc.) and any combination thereof.

[0047] Those skilled in the art will understand that when a component of the pick-up point recommendation system 100 is executed, it can be executed via electrical and / or electromagnetic signals. For example, when passenger terminal 130 processes a task, such as sending an order, passenger terminal 130 can operate logic circuitry in its processor to process the task. When passenger terminal 130 sends an order to server 110, the processor of passenger terminal 130 can generate an electrical signal encoding the order. The processor of passenger terminal 130 can send the electrical signal to an output port. If passenger terminal 130 communicates with server 110 via a wired network, the output port can be physically connected to a cable that further transmits the electrical signal to the input port of server 110. If passenger terminal 130 communicates with server 110 via a wireless network, the output port of terminal 130 can be one or more antennas that convert electrical signals into electromagnetic signals. Similarly, driver terminal 140 can process tasks by operating logic circuitry in its processor and receive instructions and / or service commands from server 110 via electrical or electromagnetic signals. In electronic devices, such as passenger terminal 130, driver terminal 140, and / or server 110, instructions and / or actions are performed via electrical signals when their processors process, issue, and / or execute actions. For example, when a processor retrieves data (e.g., multiple historical orders) from a storage medium (e.g., memory 160), it can send an electrical signal to a reading device of the storage medium that can read structured data from the storage medium. The structured data can be transmitted to the processor in the form of electrical signals via the electronic device's bus. Here, an electrical signal can refer to a single electrical signal, a series of electrical signals, and / or multiple discrete electrical signals.

[0048] Figure 2 This is a schematic diagram illustrating exemplary components of a computing device according to some embodiments of the present disclosure. In some embodiments, server 110, passenger terminal 130, and / or driver terminal 140 may be implemented on computing device 200. For example, processing device 112 may be implemented on computing device 200 and configured to perform the functions of processing device 112 disclosed in this disclosure.

[0049] Computing device 200 can be used to implement any component of the pick-up point recommendation system 100 described herein. For example, processing device 112 can be implemented on computing device 200 through its hardware, software programs, firmware, or a combination thereof. Although only one such computer is shown, for convenience, the computing functions associated with the online-to-offline services described herein can be implemented in a distributed manner on multiple similar platforms to distribute the processing load.

[0050] The computing device 200 may include a COM port 250, which connects to and from a network to facilitate data communication. The computing device 200 may also include a processor 220, in the form of one or more processors (e.g., logic circuitry), for executing program instructions. For example, the processor 220 may include interface circuitry and processing circuitry therein. The interface circuitry may be configured to receive electronic signals from a bus 210, wherein the electronic signals encode structured data and / or instructions for processing by the processing circuitry. The processing circuitry may perform logical calculations and then determine the conclusions, results, and / or instructions encoded as electronic signals. The interface circuitry can then output electronic signals from the processing circuitry via the bus 210.

[0051] The computing device 200 may also include different forms of program memory and data memory, such as a disk 270, read-only memory (ROM) 230, or random access memory (RAM) 240, for storing various data files to be processed and / or transferred by the computing device 200. The computing device 200 may also include program instructions stored in the ROM 230, RAM 240, and / or other types of non-transitory storage media executed by the processor 220. The methods and / or processes of this disclosure can be implemented as program instructions. The computing device 200 may also include I / O 260 to support input / output between the computer and other components. The computing device 200 may also receive programming and data via network communication.

[0052] For illustrative purposes only. Figure 2 Only one type of processor is described in this disclosure. Multiple processors are also considered; therefore, the operations and / or steps described herein, performed by one processor, can also be performed jointly or individually by multiple processors. For example, if, in this disclosure, the processors of computing device 200 simultaneously execute step A and step B, it should be understood that step A and step B can also be performed jointly or individually by two different CPUs and / or processors in computing device 200 (e.g., a first processor executes step A, a second processor executes step B, or the first and second processors jointly execute steps A and B).

[0053] Figure 3 These are schematic diagrams illustrating exemplary hardware and / or software components of an example mobile device according to some embodiments of this disclosure. In some embodiments, passenger terminal 130 or driver terminal 140 may be implemented on mobile device 300. Figure 3As shown, the mobile device 300 may include a communication platform 310, a display 320, a graphics processing unit (GPU) 330, a central processing unit (CPU) 340, I / O 350, memory 360, a mobile operating system (OS) 370, and a storage 390. In some embodiments, any other suitable components, including but not limited to a system bus or controller (not shown), may also be included in the mobile device 300.

[0054] In some embodiments, the mobile operating system 370 (e.g., iOS) TM Android TM Windows Phone TM One or more applications 380 can be loaded from storage 390 into memory 360 for execution by CPU 340. Application 380 may include a browser or any other suitable mobile application for receiving and presenting information related to online-to-offline services or other information from the pick-up point recommendation system 100. User interaction with the information flow can be achieved via I / O 350 and provided via network 120 to processing device 112 and / or other components of the pick-up point recommendation system 100.

[0055] Figure 4 This is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure. The processing device 112 may include an acquisition module 410, a processing module 420, an I / O module 430, and a communication module 440. A module may be at least a portion of the hardware circuitry of the processing device 112. A module may also be implemented as an application program or instruction set read and executed by the processing device 112. Furthermore, a module may be any combination of hardware circuitry and application programs / instructions. For example, a module may be part of the processing device 112 when the processing device 112 executes an application program / instruction set.

[0056] The acquisition module 410 can collect data from one or more components of the pick-up point recommendation system 100 (e.g., user terminal 130, driver terminal 140, storage device 160, etc.). In some embodiments, the acquired data may be related to ride-hailing services. By way of example only, the acquired data may include the user's current location, multiple historical locations associated with the user's current location, and one or more possible pick-up points corresponding to each of the user's multiple historical locations, multiple historical orders, service requests, machine learning models, user instructions, programs, algorithms, etc., or any combination thereof. The use of this data will be described in detail below.

[0057] Processing module 420 can process data to determine a user's recommended pick-up point. Processing module 420 can acquire or receive data and / or information from acquisition module 410, I / O module 430, and / or any storage device capable of storing data (e.g., memory 160 or external data source). In some embodiments, processing module 420 can acquire various locations, such as the user's current location, multiple historical locations associated with the user's current location, multiple historical pick-up points associated with the user's historical locations, and one or more possible pick-up points corresponding to each of the user's multiple historical locations, etc., and determine a recommended pick-up point based on different destinations.

[0058] Processing module 420 may include a hardware processor, such as a microcontroller, microprocessor, reduced instruction set computer (RISC), application-specific integrated circuit (ASIC), application-specific instruction set processor (ASIP), central processing unit (CPU), graphics processing unit (GPU), physical processing unit (PPU), microcontroller unit, digital signal processor (DSP), field-programmable gate array (FPGA), advanced RISC machine (ARM), programmable logic device (PLD), any circuit or processor capable of performing one or more functions, or any combination thereof.

[0059] I / O module 430 can input or output signals, data, or information. For example, I / O module 430 can output recommended pick-up points to a user (e.g., a passenger). In some embodiments, I / O module 430 may include input devices and output devices. Example input devices may include a keyboard, mouse, touchscreen, microphone, or any combination thereof. Example output devices may include a display device, speaker, printer, projector, etc., or any combination thereof. Example display devices may include a liquid crystal display (LCD), a light-emitting diode (LED) based display, a flat panel display, a curved screen, a television device, a cathode ray tube (CRT), or any combination thereof.

[0060] Communication module 440 can be connected to a network (e.g., network 120) to facilitate data communication. Communication module 440 can establish a connection between processing device 112 and passenger terminal 130, driver terminal 140, and / or memory 160. For example, communication module 440 can send recommended pick-up points to passenger terminal 130 and / or driver terminal 140. The connection can be a wired connection, a wireless connection, any other communication connection capable of data transmission and / or reception, and / or any combination of these connections. Wired connections can include, for example, cables, optical fibers, telephone lines, or any combination thereof. Wireless connections can include, for example, Bluetooth. TM Link, Wi-Fi TM Link, WiMax TMThe communication module 440 may be a link, a WLAN link, a ZigBee link, a mobile network link (e.g., 3G, 4G, 5G, etc.), or any combination thereof. In some embodiments, the communication module 440 may be and / or include a standardized communication port, such as RS232, RS485, etc.

[0061] It should be noted that the above description of the processing device 112 is for illustrative purposes only and is not intended to limit the scope of this disclosure. Various changes and modifications can be made by those skilled in the art based on the teachings of this disclosure. For example, the processing device 112 may also include a storage module to facilitate data storage. However, these changes and modifications do not depart from the scope of this disclosure.

[0062] Figure 5 This is a block diagram illustrating an exemplary processing module according to some embodiments of the present disclosure. The processing device 112 may include a feature determination unit 510, a model training unit 520, and a vehicle loading point determination unit 530. Each unit may be a portion of the hardware circuitry of the processing device 112. Each unit may also be implemented as an application program or instruction set read and executed by the processing device 112. Furthermore, each unit may be any combination of hardware circuitry and application programs / instructions. For example, when the processing device 112 executes an application program / instruction set, the unit may be part of the processing device 112.

[0063] The feature determination unit 510 can determine one or more features from the acquired data. In some embodiments, the feature determination unit 510 can extract feature data from the user's current location, multiple historical locations, and one or more possible pick-up points corresponding to each of the multiple historical locations. In some embodiments, the extracted feature data may include the distance from the user's current location to each possible pick-up point, the popularity value of each possible pick-up point, the popularity value of each road segment associated with the possible pick-up point, the popularity value of each route associated with the possible pick-up point, the historical fixed-point rate of each possible pick-up point, etc., or any combination thereof. The feature data extracted by the feature determination unit 510 can be input into a pick-up point recommendation model to generate user-recommended pick-up points.

[0064] Model training unit 520 can train a model to determine a user's pick-up point. This model can be or includes a machine learning model. Example machine learning models may include Deep Belief Networks (DBNs), Stacked Autoencoders (SAEs), Logistic Regression (LR) models, Support Vector Machines (SVMs), Decision Tree models, Naive Bayes models, Random Forest models, Restricted Boltzmann Machines (RBMs), Gradient Boosting Decision Trees (GBDTs), LambdaMART models, Adaptive Boosting models, Recurrent Neural Networks (RNNs), Convolutional Networks, Hidden Markov Models, Perceptron Neural Networks, Hopfield Networks, etc., or any combination thereof. Model training unit 520 can train the model using a training dataset associated with pick-up points in the historical orders of one or more users. During model training, one or more parameters of the model (e.g., weights, biases, regularization terms, mini-batch size, etc.) can be updated. The training process (e.g., an iterative process) can terminate when preset conditions are met. For example, the training process can terminate when the model's loss function converges (e.g., the loss is less than or equal to 0). Detailed descriptions of model training can be published elsewhere, for example, Figure 7 And its description.

[0065] The boarding point determination unit 530 can determine recommended boarding points. In some embodiments, the boarding point determination unit 530 can determine recommended boarding points for users based on the transition probability of each possible boarding point. The transition probability used here refers to the conditional probability of transitioning from a given state (e.g., the current location) to another state (e.g., a possible location) in a Markov chain. A Markov chain is a stochastic model describing a sequence of possible events, where the probability of each event depends only on the state obtained by the previous event. In some embodiments, the transition probability from the user's current location to a possible boarding point can be expressed as the ratio between the popularity value of a possible boarding point corresponding to a historical location associated with the user's current location and the sum of the popularity values ​​of all possible boarding points corresponding to the historical location associated with the user's current location, wherein the popularity value of a possible boarding point corresponding to a historical location associated with the user's current location takes into account the weight of that possible boarding point, and the sum of the popularity values ​​of all possible boarding points corresponding to the historical location associated with the user's current location takes into account the weight of each possible boarding point. In some embodiments, the weight of a boarding point can be related to the distance from the user's current location to the historical location corresponding to the boarding point.

[0066] In some embodiments, the maximum transfer probability can be identified from the determined transfer probabilities, and the possible boarding point with the maximum transfer probability can be designated as the user's recommended boarding point. By way of example only, all determined transfer probabilities can be sorted according to their values, for example, in descending order, and the possible boarding point with the maximum transfer probability can be designated as the user's recommended boarding point.

[0067] Figure 6 This is a flowchart illustrating an exemplary process for recommending boarding locations according to some embodiments of this disclosure. In some embodiments, Figure 6 The process 600 shown can be performed in Figure 1 This is implemented in the boarding point recommendation system 100 shown. For example, at least a portion of process 600 may be stored as instructions in a storage device (e.g., disk 270 of computing device 200) and managed by server 110 (e.g., processor 220 of computer device 200). Figure 4 One or more modules shown, or Figure 5 The process 600 is invoked and / or executed by one or more units shown. In some embodiments, a portion of process 600 may be implemented on a terminal device. The operation of process 600 shown below is illustrative. In some embodiments, process 600 may be accomplished by one or more additional operations not described and / or one or more operations that need not be discussed. Furthermore, Figure 6 The order of operations in process 600 shown and described below is not intended to be restrictive.

[0068] Step 610 may acquire and store the user's current location, multiple historical locations associated with the user's current location, and one or more possible pick-up points corresponding to each of the multiple historical locations. In some embodiments, the acquisition module 410 may acquire the user's current location, multiple historical locations associated with the current location, and one or more possible pick-up points corresponding to each of the multiple historical locations.

[0069] In some embodiments, the user's current location may be determined by the user's terminal device (e.g., passenger terminal 130) using positioning device 170. Positioning device 170 may be a Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Compass Navigation System (COMPASS), BeiDou Navigation Satellite System, Galileo Positioning System, Quasi-Zenith Satellite System (QZSS), etc. In some embodiments, passenger terminal 130 may be a mobile phone with a built-in Global Positioning System (GPS) module, and the user's current location may be determined by the built-in GPS module.

[0070] In some embodiments, a historical area within a first preset distance from the user's current location can be determined. The first preset distance can be determined by a technician based on default settings of a pick-up point recommendation system 100, etc. For example, the first preset distance might be 20 meters, 50 meters, 100 meters, 150 meters, etc. Multiple historical orders of the user with historical locations within the historical area can be retrieved from memories 160, 230. As used herein, the historical location can be the user's location provided by the user's terminal device (e.g., passenger terminal 130) using positioning device 170 when the user places a historical order.

[0071] In some embodiments, order information for each historical order can also be obtained. The order information for each historical order may include order number, actual pick-up point, historical location, destination, departure time, arrival time, acceptable waiting time, number of passengers, baggage information, mileage information, whether pets are present, user habits / preferences (e.g., vehicle type, vehicle trunk size, vehicle load, etc.), whether carpooling is accepted and / or carpooling is allowed, price, price proposed by the requester, price adjusted by the service provider, price adjusted by the system, use of coupons, payment method (e.g., cash payment, credit card payment, online payment, bank transfer payment, etc.), order completion status, etc., or any combination thereof. In some embodiments, order information may also include other order-related information, such as weather conditions, environmental conditions, road conditions (e.g., road closures due to safety, road construction, etc.), traffic conditions, etc., or any combination thereof. In some embodiments, the historical location may be determined to be associated with the user's current location because the historical location is within a first preset distance from the user's location. The actual pick-up point in the historical order may also be referred to as the historical pick-up point p′.

[0072] In some embodiments, one or more possible pick-up points corresponding to each of a user's multiple historical locations can be obtained. As used herein, a possible pick-up point refers to a location where the user can choose to pick up. In some embodiments, clustering algorithms can be used to determine the possible pick-up points corresponding to each of the user's multiple historical locations based on historical pick-up points. Example clustering algorithms may include K-means clustering, mean-shift clustering, density-based noisy applied spatial clustering (DBSCAN), graph community detection, hierarchical clustering, density peak clustering (DPC), and any combination thereof. Figure 9 Examples of a user’s current location, multiple historical locations associated with the current location, and one or more possible pick-up points corresponding to each historical location are provided for illustrative purposes and are not intended to limit the scope of this disclosure.

[0073] Step 620 involves extracting feature data from the user's current location, multiple historical locations, and one or more possible pick-up points corresponding to each of the multiple historical locations. In some embodiments, the feature data can be extracted by the feature determination unit 510. The feature data extracted in step 620 can be input into a pick-up point recommendation model to generate recommended pick-up points for the user. In some embodiments, the extracted feature data may include the distance from the user's current location to each possible pick-up point, the popularity value of each possible pick-up point, the popularity value of each road segment associated with the possible pick-up point, the popularity value of each route associated with the possible pick-up point, the historical fixed-point rate of each possible pick-up point, etc., or any combination thereof.

[0074] The distance from the user's current location to each possible pick-up point can refer to the straight-line distance between the user's current location and each possible pick-up point. In some embodiments, the positioning device 170 can provide the user's current location and the geographic coordinates of each possible pick-up point. The distance from the user's current location to each possible pick-up point can be determined based on the user's current location and the geographic coordinates of each possible pick-up point.

[0075] The popularity value of each potential boarding point can represent its popularity relative to other potential boarding points. In some embodiments, the popularity value of a potential boarding point can be determined based on the number of historical orders using the potential boarding point as an actual boarding point. In some embodiments, the popularity value of a potential boarding point pos_weight_p1 can be the number of historical orders using the potential boarding point p1 as an actual boarding point. The potential boarding point p1 can correspond to a historical position m. n Historical orders can be orders placed by users over a period of time, such as last week, last month, or last year. For example, if the number of historical orders using the possible pick-up point p1 as the actual pick-up point is 80, and the historical location m corresponding to the possible pick-up point p1... n If so, the heat value of the boarding point p1 can be 80.

[0076] In some embodiments, elements in the road network of a digital road map can be determined, including the user's current location, historical locations associated with the user's current location, and one or more possible locations corresponding to each historical location. Example elements may include nodes, road segments, etc. A node generally refers to an intersection or connection point of roads in a road network, and a road segment generally refers to a link in a road network connecting two different nodes. In some embodiments, a route from one place to another may include one or more road segments. The popularity value of each road segment associated with a possible pick-up point can indicate how popular the road segment is relative to the possible pick-up point. In some embodiments, a road segment may include one or more possible pick-up points. In some embodiments, the popularity value of each road segment associated with a possible pick-up point can be determined based on the popularity values ​​of the possible pick-up points associated with the road segment. In some embodiments, the popularity value of each road segment associated with a possible pick-up point may be the sum of the popularity values ​​of the possible pick-up points associated with that road segment.

[0077] Similarly, the popularity value of each route associated with a possible pick-up point can be determined based on the popularity values ​​of possible pick-up points on that route or the popularity values ​​of each segment of that route. In some embodiments, the popularity value of each route associated with a possible pick-up point can be the sum of the popularity values ​​of possible pick-up points associated with that route. Detailed descriptions of determining the popularity values ​​of possible pick-up points, the popularity values ​​of the segments associated with possible pick-up points, and the popularity values ​​of routes associated with possible pick-up points can be described elsewhere in this disclosure, for example, Figure 8 And its description.

[0078] In some embodiments, the historical pick-up rate for each possible pick-up point can be expressed as the probability that the user selects that possible pick-up point as the actual pick-up point relative to a plurality of possible pick-up points associated with the user's current location. In some embodiments, the historical pick-up rate for each possible pick-up point can be the ratio between the number of historical orders associated with that possible pick-up point as an actual pick-up point and the total number of historical orders associated with all possible pick-up points as actual pick-up points, relative to the user's current location. For example, if the number of historical orders last year using all possible pick-up points associated with the user's current location as actual pick-up points was 240, and the number of historical orders last year using possible pick-up point p1 as an actual pick-up point was 80, then the historical pick-up rate for possible pick-up point p1 is 0.33.

[0079] Step 630: Input the extracted feature data into the boarding point recommendation model to determine the transition probability of each possible boarding point. The transition probability refers to the conditional probability of transitioning from a given state (e.g., the current location) to another state (e.g., a possible location) in a Markov chain. A Markov chain is a stochastic model describing a sequence of possible events, where the probability of each event depends only on the state obtained by the previous event. In some embodiments, the transition probability from the user's current location to a possible boarding point can be expressed as the ratio between the popularity value of a possible boarding point corresponding to a historical location associated with the user's current location and the sum of the popularity values ​​of all possible boarding points corresponding to that historical location. The popularity value of a possible boarding point corresponding to a historical location associated with the user's current location takes into account the weight of that possible boarding point, and the sum of the popularity values ​​of all possible boarding points corresponding to the historical location associated with the user's current location takes into account the weight of each possible boarding point. In some embodiments, the weight of a boarding point can be related to the distance from the user's current location to the historical location corresponding to that boarding point.

[0080] Step 640: The recommended pick-up point for the user can be determined based on the conversion probability of each possible pick-up point. In some embodiments, the recommended pick-up point can be determined by the pick-up point determination unit 530.

[0081] For example, such as Figure 9 As shown, for a user's current location K, multiple historical orders placed by the user last year within a first preset distance from the current location K can be extracted from various historical orders. This allows for the selection of a first historical location m1 associated with the user's first historical order and a second historical location m2 associated with the user's second historical order. Simultaneously, a first historical boarding point p1' and a second historical boarding point p2' can be extracted from the first and second historical orders, respectively. This allows for the acquisition of possible boarding points p corresponding to the first historical location m1. 11 and p 12 And the possible boarding point p corresponding to the second historical position m2. 21 and p 22 In some embodiments, the possible boarding point p can be determined based on the first historical boarding point p1′. 11 and p 12 Furthermore, the possible boarding point p can be determined based on the second historical boarding point p2′. 21 and p 22 Each one uses a clustering algorithm. For illustrative purposes only, if possible, the boarding point p... 11 The popularity score is 80, and it's possible to get on board at point p. 11 The weight is 0.3, and the possible entry point is p. 12 The popularity score is 120, and it's possible to get on board at point p. 12The weight is 0.3, and the possible entry point is p. 21 The popularity score is 50, and it's possible to get on board at point p. 21 The weight is 0.35, and the possible entry point is p. 22 The popularity score is 160, and it's possible to get on board at point p. 22 The weight is 0.35, from the user's current location K to the possible boarding point p. 11 The transition probability is 0.11 (i.e., (80×0.15) / (80×0.15+120×0.15+50×0.35+160×0.35)). Similarly, p 12 p 21 and p 22 The transition probabilities can be 0.16, 0.16, and 0.57, respectively. Since p 22 It has the highest transition probability, so p can be used. 22 Designated as the user's recommended pick-up point.

[0082] In some embodiments, at least a portion of the extracted feature data may be preprocessed before being input into the trained model. For example, the extracted feature data may be preprocessed to generate a vector with a preset dimension. The preprocessed feature data may be input into the boarding point recommendation model, and the transition probability of each possible boarding point may be determined as the output of the boarding point recommendation model.

[0083] In some embodiments, the boarding point recommendation model can be a machine learning model. Machine learning models can include deep trust networks (DBNs), stacked autoencoders (SAEs), logistic regression (LR) models, support vector machines (SVMs), decision tree models, Naive Bayes models, random forest models, restricted Boltzmann machines (RBMs), gradient boosting decision tree (GBDT) models, LambdaMART models, adaptive boosting models, recurrent neural network (RNN) models, convolutional network models, hidden Markov models, perceptron neural network models, Hopfield network models, etc., or any combination thereof. In some embodiments, the boarding point recommendation model can be a GBDT model. The boarding point recommendation model can be trained to determine the transition probability of each possible boarding point based on the extracted feature data input to the boarding point recommendation model. A detailed description of the training of the boarding point recommendation model may be disclosed elsewhere, for example, Figure 7 And its description.

[0084] In some embodiments, the maximum transfer probability can be identified from the determined transfer probabilities, and the possible pick-up point with the maximum transfer probability can be designated as the user's recommended pick-up point. By way of example only, all determined transfer probabilities can be sorted according to their values, for example, in descending order, and the possible pick-up point with the maximum transfer probability can be designated as the user's recommended pick-up point. In some embodiments, multiple possible pick-up points corresponding to the maximum transfer probability can be identified and recommended to the user for selection.

[0085] Step 650: The recommended boarding point is sent to the user's terminal device. In some embodiments, the recommended boarding point may be transmitted via network 120 by I / O module 430 or communication module 440.

[0086] In some embodiments, recommended pick-up points may be displayed on the user interface of an on-demand service application (e.g., a ride-hailing service application) installed on a user terminal device (e.g., passenger terminal 130). For illustrative purposes only, recommended pick-up points may be displayed on a digital map including the user's current location, and walking navigation from the user's current location to the recommended pick-up point may be provided. Users may also be allowed to manually adjust the recommended pick-up point, for example, by dragging an icon representing the recommended pick-up point to another location on the map.

[0087] It should be noted that the above description is for illustrative purposes only and is not intended to limit the scope of this disclosure. Various changes and modifications can be made by those skilled in the art based on the teachings of this disclosure. For example, the obtained data, the extracted feature data, the determined transition probabilities, and / or the recommended boarding points can be stored in a storage device capable of storing data in the boarding point recommendation system 100. However, these changes and modifications fall within the scope of this disclosure.

[0088] Figure 7 This is a flowchart illustrating an exemplary process for training a boarding location recommendation model according to some embodiments of the present disclosure. In some embodiments, Figure 7 The process 700 shown can be performed in Figure 1 This is implemented in the boarding point recommendation system 100 shown. For example, at least a portion of process 700 can be stored as instructions in a storage medium (e.g., disk 270 of computing device 200) and managed by server 110 (e.g., processor 220 of computing device 200). Figure 4 The processing module 420 or model training unit 520 shown is invoked and / or executed. In some embodiments, a portion of process 700 may be implemented on a terminal device. The operation of process 700 shown below is intended for illustration. In some embodiments, process 700 may be accomplished by one or more additional operations not described and / or one or more operations that need not be discussed. Furthermore, Figure 7 The order of operations in process 700 shown and described below is not intended to be restrictive.

[0089] Step 710 may randomly extract multiple historical orders issued by at least one user. In some embodiments, historical orders may be ride-hailing service orders. Ride-hailing service orders may include carpooling orders, carpooling service orders, express delivery service orders, private car service orders, ride-hailing orders, shared vehicle dispatch orders, etc.

[0090] In some embodiments, randomly extracted historical orders can be orders placed by at least one user (e.g., a passenger). Historical orders can be placed and fulfilled by at least one user over a past period (e.g., last week, last month, last year, etc.). For example, 200 historical orders placed by users between March 1, 2019 and May 1, 2019 can be obtained to train a pick-up point recommendation model.

[0091] In some embodiments, historical orders can be randomly retrieved from storage devices, such as memory 160, RAM 240, disk 270, memory 390, or other storage devices capable of storing data. For example, different types of ride-hailing service orders can be randomly retrieved from memory 160 via network 120. In some embodiments, different types of ride-hailing service orders can be retrieved and mixed together to train a pick-up point recommendation model for recommending pick-up points. In some embodiments, the retrieved different types of ride-hailing service orders can be used to train different pick-up point recommendation models separately for recommending pick-up points for each type of ride-hailing service order.

[0092] Step 720: Obtain the user's location at the time of order placement from the extracted orders, forming a set of user locations, a set of training historical locations associated with each user location, and a set of training possible pick-up points corresponding to the set of training historical locations. In some embodiments, the process of obtaining the user's location at the time of order placement from the extracted orders to form the set of user locations, the set of training historical locations associated with each user location, and the set of training possible pick-up points corresponding to the set of training historical locations can be the same as or similar to the operation in step 610. The user location, training historical location, training possible pick-up point, training historical pick-up point, and training historical orders of at least one user can be similar to the user's current location, historical location, possible pick-up point, historical pick-up point, and historical orders, respectively. However, the user location, training historical location, training possible pick-up point, training historical pick-up point, and training historical orders can be obtained from at least one user's previously placed orders and used to train the pick-up point recommendation model.

[0093] In some embodiments, order information for each extracted historical order can also be obtained. The order information for each extracted historical order may include order number, pick-up point, user location, destination, departure time, arrival time, acceptable waiting time, number of passengers, baggage information, mileage information, whether pets are present, user habits / preferences (e.g., vehicle type, vehicle trunk size, vehicle load, etc.), whether carpooling is accepted and / or carpooling is allowed, price, price proposed by the requester, price adjusted by the service provider, price adjusted by the system, use of coupons, payment method (e.g., cash payment, credit card payment, online payment, bank transfer payment, etc.), order completion status, etc., or any combination thereof. In some embodiments, order information may also include other order-related information, such as weather conditions, environmental conditions, road conditions (e.g., road closures due to safety, road construction, etc.), traffic conditions, etc., or any combination thereof. In some embodiments, for each user, various types of user locations can be obtained from the extracted historical order information when an order is placed.

[0094] In some embodiments, the location of at least one user can be obtained from the order information retrieved from the order. When a user places a historical order, the user's terminal device (e.g., passenger terminal 130) can use positioning device 170 to determine the location of each of the at least one user. Passenger terminal 130 may be a mobile phone with a built-in Global Positioning System (GPS) module, and the user's location can be determined by the built-in GPS module.

[0095] In some embodiments, a set of training historical locations associated with each user location can be obtained. In some embodiments, an area within a second preset distance from each user location can be determined. The second preset distance can be determined by a technician based on default settings of the pick-up point recommendation system 100, etc. For example, the second preset distance may be 20 meters, 50 meters, 100 meters, 150 meters, etc. In some embodiments, the second preset distance may be the same as the first preset distance. For each user location, a set of training historical orders can be extracted.

[0096] Taking a user's location as an example, a set of training historical orders for the user located within a second preset distance from the user's location can be extracted. The location can be the user's location provided by the user's terminal device (e.g., passenger terminal 130) using positioning device 170 when the user places a training historical order. The located location can also be referred to as a training historical location. In some embodiments, a training historical location set can be obtained from a training historical order set. It can be determined that the training historical location set is associated with the user's location because the training historical location set is within the second preset distance from the user's location. In some embodiments, the order information of the training historical orders can also include training historical pick-up points. Training historical pick-up points refer to the actual pick-up points selected by the user when placing and completing the training historical order. In some embodiments, a set of training possible pick-up points corresponding to the user's training historical location set can be obtained. For example, one or more training possible pick-up points for the user can correspond to each of the user's training historical location set. In some embodiments, the set of training possible pick-up points corresponding to the user's training historical pick-up point set can be determined based on a clustering algorithm and the training historical pick-up point set. Example clustering algorithms may include K-means clustering, mean-shift clustering, density-based noisy applied spatial clustering (DBSCAN), graph community detection, hierarchical clustering, density peak clustering (DPC) algorithm, or any combination thereof.

[0097] Step 730 involves extracting training feature data from the user location set, the training history location set, and the training possible boarding point set. The training feature data extracted in step 730 can be used to train a preliminary boarding point recommendation model. The preliminary boarding point recommendation model can be stored in memory 160 or other storage devices capable of storing data (e.g., RAM 240, disk 270, memory 390, etc.). In some embodiments, the preliminary boarding point recommendation model can be a GBDT model.

[0098] In some embodiments, the operation for extracting training feature data from the user location set, training history location set, and training possible pick-up point set in step 730 may be similar to or the same as the operation for extracting from the current location, multiple historical locations, and one or more possible pick-up points corresponding to each of the multiple historical locations of the user in step 620. For illustrative purposes only, the feature data extracted from the user's location, a set of training history locations associated with the user's location, and the training possible pick-up point set corresponding to the set of training history locations may include the training distance from the user's location to each training possible pick-up point, the training heat value of each training possible pick-up point, the training heat value of each road segment associated with the training possible pick-up point, the training heat value of each route associated with the training possible pick-up point, the training history fixed-point rate of each training possible pick-up point, or any combination thereof.

[0099] In some embodiments, determining the training distance from the user's location to each possible training pick-up point, the training popularity value of each possible training pick-up point, the training popularity value of each road segment associated with the possible training pick-up point, the training popularity value of each route associated with the possible training pick-up point, and the training historical hit rate of each possible training pick-up point may be approximately the same as, as described in step 620, determining the distance from the user's current location to each possible pick-up point, the popularity value of each possible pick-up point, the popularity value of each road segment associated with the possible pick-up point, the popularity value of each route associated with the possible pick-up point, and the historical hit rate of each possible pick-up point.

[0100] For example, the training distance from the user's location to each potential training pick-up point can refer to the straight-line distance between the user's location and each potential training pick-up point. In some embodiments, the user's location and the geographic coordinates of each potential training pick-up point can be provided by the user's terminal device (e.g., passenger terminal 130) using positioning device 170. The training distance from the user's location to each potential training pick-up point can be determined based on the user's location and the geographic coordinates of each potential training pick-up point.

[0101] As another example, the training popularity value for each potential boarding point can represent the popularity of each potential boarding point relative to the set of potential boarding points associated with the user's location. In some embodiments, the training popularity value for a potential boarding point can be determined based on the number of training history orders that include potential boarding points corresponding to a certain training history location.

[0102] As another example, the training popularity value of each road segment associated with a potential training pick-up point can represent the popularity of that road segment relative to the potential training pick-up point. In some embodiments, a road segment may include one or more potential training pick-up points. In some embodiments, the training popularity value of each road segment associated with a potential training pick-up point can be determined based on the training popularity values ​​of the potential training pick-up points associated with that road segment. In some embodiments, the training popularity value of each road segment associated with a potential training pick-up point can be the sum of the training popularity values ​​of all potential training pick-up points associated with that road segment.

[0103] As another example, the training heat value of each route associated with a training potential boarding point can be determined based on the training heat value of the training potential boarding points on that route or the training heat value of each segment on that route.

[0104] As another example, the training history fixation rate for each training possible pick-up point can represent the probability that a user selects a training possible pick-up point as the actual pick-up point from the set of training possible pick-up points associated with the user's location. In some embodiments, the training history fixation rate for each training possible pick-up point is the ratio of the number of training history orders including that training possible pick-up point to the total number of training history orders.

[0105] Step 740 involves determining the training transition probability from each user location to each corresponding possible training boarding point. Here, the training transition probability refers to the conditional probability in a Markov chain of transitioning from a given state (e.g., user location) to another state (e.g., possible training location). In some embodiments, the determination of the training transition probability may be similar to or the same as the determination of the transition probability described in step 630.

[0106] In some embodiments, the training transition probability from a user's location to a potential training entry point can be expressed as the ratio of the training popularity value of a potential training entry point corresponding to a training historical location associated with the user's location to the sum of the training popularity values ​​of all potential training entry points corresponding to the training historical location. Here, the training popularity value of a potential training entry point corresponding to a training historical location associated with the user's location takes into account the weight of each potential training entry point, and the sum of the training popularity values ​​of all potential training entry points corresponding to the training historical location takes into account the weight of each potential training entry point. In some embodiments, the weight of a potential training entry point may be related to the distance between the user's location and the training historical location corresponding to that potential training entry point.

[0107] Step 750: Label the corresponding training transition probability for each possible boarding point. In some embodiments, the boarding point recommendation model can be a supervised learning model. The extracted feature data may include example inputs for the boarding point recommendation model and labels indicating the expected outputs (i.e., training transition probabilities) corresponding to the example inputs. The process of training the supervised learning model enables the boarding point recommendation model to learn general rules that map inputs to corresponding outputs. Example algorithms that can be used to train the boarding point recommendation model may include Gradient Boosting Decision Tree (GBDT) algorithm, decision tree algorithm, random forest algorithm, logistic regression algorithm, support vector machine (SVM) algorithm, Naive Bayes algorithm, AdaBoost algorithm, K-Nearest Neighbors (KNN) algorithm, Markov chain algorithm, etc., or any combination thereof.

[0108] Step 760: The labeled possible boarding points can be input into the model to train the initial boarding point recommendation model, so as to obtain the trained boarding point recommendation model.

[0109] In some embodiments, the pick-up point recommendation model can be trained during iterative training. During iterative training, the parameters (e.g., weights) of the pick-up point recommendation model can be updated. In some embodiments, the iterative training process can terminate when a preset condition is met. In some embodiments, the preset condition can be related to a constraint (e.g., a threshold) of the algorithm, and the iteration can terminate when the algorithm meets this constraint. For example, the algorithm can be a loss function. For illustrative purposes only, during the training of the pick-up point recommendation model, the iteration can terminate when the loss function converges. In some embodiments, the preset condition can include a maximum number of iterations to be performed (e.g., ten iterations), and the iteration can terminate when the maximum number of iterations is performed (i.e., the preset condition is met). The maximum number of iterations can be set by a technician, based on the default settings of the pick-up point recommendation system 100, or a combination of both.

[0110] In some embodiments, the trained pick-up point recommendation model may be sent to a server (e.g., a cloud server) or one or more terminals (e.g., mobile device 300) for pick-up point recommendation. In some embodiments, the trained pick-up point recommendation model may be saved to a storage device (e.g., memory 160) for storage.

[0111] Figure 8 This is a flowchart illustrating an example process for determining the heat value of a potential pick-up point, the heat value of a road segment associated with a potential pick-up point, and the heat value of a route associated with a potential pick-up point, according to some embodiments of this disclosure. The operation of process 800 shown below is intended to be illustrative. In some embodiments, process 800 may be accomplished by one or more additional operations not described and / or one or more operations that need not be discussed. Furthermore, Figure 8 The order of operations in process 800 shown and described below is not intended to be restrictive.

[0112] Step 810 determines the popularity value of potential boarding points. The popularity value of each potential boarding point represents its popularity relative to other potential boarding points. In some embodiments, the popularity value of a potential boarding point can be determined based on the number of historical orders that used the potential boarding point as an actual boarding point, where the potential boarding point corresponds to a historical location. In some embodiments, the popularity value pos_weight_p1 of a potential boarding point can be the number of historical orders issued using the potential boarding point p1 as an actual boarding point. The potential boarding point p1 can correspond to a historical location m. n Historical orders can be orders placed by users within a past period, such as last week, last month, or last year.

[0113] For example, if the number of historical orders using possible boarding point p1 as the actual boarding point is 80, then possible boarding point p1 corresponds to historical location m.n Then, the popularity value of a possible boarding point p1 might be 80. For example, if the historical order quantity using a possible boarding point p2 as the actual boarding point is 110, the historical position m corresponding to possible boarding point p2... n If so, the heat value of boarding point p2 may be 110.

[0114] Step 820: The popularity value of each road segment associated with a potential pick-up point can be determined based on the number of potential pick-up points on the road segment. In some embodiments, elements in the road network of the digital road map can be determined, including the user's current location, historical locations associated with the user's current location, and one or more potential pick-up points corresponding to each historical location. Example elements may include nodes, road segments, etc. Nodes generally refer to intersections or connections of roads in a road network, and road segments generally refer to links connecting two different nodes in a road network. In some embodiments, a route from one place to another may include one or more road segments. For example, a route on Chang'an Road may be mapped on the map as five road segments, for example, through manual labeling. These five road segments can be connected one by one through their nodes to form the route on Chang'an Road. In some embodiments, a road segment may include one or more potential pick-up points. The popularity value of each road segment associated with one or more potential pick-up points can represent the popularity of each road segment.

[0115] In some embodiments, the heat value of each road segment associated with a possible pick-up point can be determined based on the heat values ​​of the possible pick-up points associated with that road segment. In some embodiments, the heat value of each road segment associated with a possible pick-up point can be the sum of the heat values ​​of the possible pick-up points associated with that road segment. For example, a road segment including possible pick-up points p1 and p2 can have a heat value of pos_weight_p1 + pos_weight_p2, which is 190.

[0116] Step 830: Determine the popularity value of the routes associated with possible pick-up points based on the number of road segments on the route. The popularity value of each route associated with a possible pick-up point can be determined based on the popularity value of possible pick-up points on the route or the popularity value of each road segment on the route. In some embodiments, the popularity value of each route associated with a possible pick-up point can be the sum of the popularity values ​​of the road segments associated with that possible pick-up point on the route. For example, the route may include a first road segment and a second road segment. The first road segment includes possible pick-up points p1 and p2, and the popularity value of the first road segment (L1) can be pos_weight_p1 + pos_weight_p2. The second road segment includes possible pick-up points p3 and p4, and the popularity value of the second road segment (L2) can be pos_weight_p3 + pos_weight_p4. Therefore, the popularity value of the route is the combination of L1 and L2, equal to pos_weight_p1 + pos_weight_p2 + pos_weight_p3 + pos_weight_p4.

[0117] In some embodiments, the heat value of each route associated with a possible pick-up point can be the sum of the heat values ​​of the possible pick-up points on that route. For example, a route including possible pick-up points p1, p2, p3, and p4 can have a heat value of pos_weight_p1 + pos_weight_p2 + pos_weight_p3 + pos_weight_p4.

[0118] Figure 9 This is a schematic diagram illustrating the relationship between a user's current location 910, multiple historical locations 920, 930 associated with the current location, and one or more possible pick-up points 940, 945, 950, 955 corresponding to each of the multiple historical locations, according to some embodiments of this disclosure. When a user opens an on-demand service application, the user's current location K can be determined. In some embodiments, such as... Figure 1 As shown, the current location K of user 910 can be determined by the user terminal device (e.g., passenger terminal 130) using positioning device 170. In some embodiments, the user's terminal device may be a mobile phone with a built-in Global Positioning System (GPS) module, and the user's current location may be determined by the built-in GPS module.

[0119] After obtaining the current location K of user 910, a historical region within a first preset distance from the current location K of user 910 can be determined. The first preset distance can be 20 meters, 50 meters, 100 meters, 150 meters, etc. Multiple historical orders containing the historical location of user 910 within the historical region within the first preset distance from the current location K can be extracted from a storage medium storing multiple historical orders. For example, the first historical location m1 920 can be extracted from the first historical order issued by the user, and the second historical location m2 930 can be extracted from the second historical order issued by the user. The first historical location m1 920 and the second historical location m2 930 are both within the first preset distance from the current location K of user 910. Simultaneously, the first historical departure point p1′ and the second historical departure point p2′ (not shown in the figure) can be extracted from the first historical order and the second historical order, respectively.

[0120] Then, one or more possible boarding points can be obtained corresponding to each of the user's first historical location m1 920 and second historical location m2 930. For example... Figure 9 As shown, the possible boarding point p corresponding to the user's first historical location m1 can be determined. 11 940 and p 12 945, and the possible boarding point p corresponding to the user's second historical location m2. 21 950 and p 22 955. In some embodiments, the possible boarding point p can be determined based on the first historical boarding point p1′. 11 and p 12 Furthermore, the possible boarding point p can be determined based on the second historical boarding point p2′. 21 and p 22 Each uses a clustering algorithm. Example clustering algorithms may include K-means clustering, mean-shift clustering, density-based noisy applied spatial clustering (DBSCAN), graph community detection, hierarchical clustering, density peak clustering (DPC), or any combination thereof.

[0121] The basic concepts have been described above. Obviously, for those skilled in the art after reading this specification, the above disclosure is merely illustrative and does not constitute a limitation of this specification. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and corrections to this specification. Such modifications, improvements, and corrections are suggested in this specification and therefore remain within the spirit and scope of the exemplary embodiments described herein.

[0122] Furthermore, this specification uses specific terms to describe embodiments thereof. For example, "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "an embodiment," "one embodiment," or "an alternative embodiment" mentioned twice or more in different places in this specification do not necessarily refer to the same embodiment. In addition, certain features, structures, or characteristics in one or more embodiments of this specification can be appropriately combined.

[0123] Furthermore, those skilled in the art will understand that various aspects of this specification can be described and illustrated in several patentable ways, including any new and useful combination of processes, machines, products, or substances, or any new and useful improvements thereof. Therefore, various aspects of this specification can be implemented entirely in hardware, entirely in software (including firmware, resident software, microcode, etc.), or through a combination of software and hardware implementations, which are generally referred to herein as “units,” “modules,” or “systems.” Furthermore, various aspects of this specification can take the form of a computer program product embodied on one or more computer-readable media having computer-readable program code thereon.

[0124] A computer-readable signal medium may contain a propagated data signal containing computer program code, for example, on baseband or as part of a carrier wave. Such propagated signals can take many forms, including electromagnetic, optical, and any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can be connected to an instruction execution system, apparatus, or device to enable communication, propagation, or transmission of a program for use. The program code located on the computer-readable signal medium can be propagated through any suitable medium, including radio, cable, fiber optic cable, RF, and any combination of the above.

[0125] Computer program code for performing the operations of the aspects described herein can be written in any combination of one or more programming languages, including languages ​​such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, Visual Basic, Fortran 2103, Perl, COBOL 2102, PHP, ABAP, dynamic programming languages ​​(such as Python, Ruby, and Groovy), or other programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can establish a connection with an external computer (e.g., through the network of an internet service provider) or provide services in a cloud computing environment, such as Software as a Service (SaaS).

[0126] Furthermore, unless expressly stated in the claims, the order of processing elements and sequences, the use of numbers and letters, or other names described in this specification are not intended to limit the order of the processes and methods described herein. Although various examples have been discussed in the foregoing disclosure of some embodiments of the invention that are currently considered useful, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments; rather, the claims are intended to cover all modifications and equivalent combinations that conform to the spirit and scope of the embodiments described herein. For example, while the implementation of the various components described above can be embodied in a hardware device, it can also be implemented as a purely software solution, such as an installation on an existing server or mobile device.

[0127] Similarly, it should be understood that in the foregoing description of embodiments of this specification, for the purposes of this specification, various features are sometimes grouped in a single embodiment, figure, or description thereof to aid in understanding one or more of the various embodiments. However, this method of disclosure should not be construed as reflecting an intention that the claimed subject matter requires more features than expressly listed in each claim. Rather, the claimed subject matter may be present in fewer than all the features of a single embodiment of the foregoing specification.

Claims

1. A system comprising: at least one storage device configured to store a set of instructions; and at least one processor configured to communicate with the at least one storage device, wherein the at least one processor is instructed to perform operations when executing the set of instructions, the operations comprising: obtaining and storing a current location of a user, a plurality of historical locations associated with the current location of the user, and one or more possible pickup points corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location of the user, the plurality of historical locations, and the one or more possible pickup points corresponding to each of the plurality of historical locations, the feature data comprising a hotness value of each of the possible pickup points, a hotness value of each road segment associated with the possible pickup point, a hotness value of each route associated with the possible pickup point, and a historical pinning rate of each of the possible pickup points, wherein the historical pinning rate is a ratio of a number of orders associated with the possible pickup point and a number of orders associated with all possible pickup points; inputting the extracted feature data into a pickup point recommendation model to determine a transition probability of each of the possible pickup points; and determining a recommended pickup point of the user based on the determined transition probability of each of the possible pickup points, wherein the transition probability refers to a conditional probability of transitioning from a current location to a possible location, determining a maximum transition probability from the determined transition probabilities, and designating the possible pickup point having the maximum transition probability as the recommended pickup point of the user. the hotness value of the possible pickup point represents a popularity of each possible pickup point relative to other possible pickup points, the hotness value of the road segment is determined based on the hotness values of possible pickup points on the road segment, and the hotness value of the route is determined based on the hotness values of possible pickup points on the route or the hotness values of road segments on the route. further comprising:

2. The system of claim 1, wherein, sending the recommended pickup point to a terminal device of the user. the plurality of historical locations are within a preset distance of the current location of the user.

3. The system of claim 2, wherein, the extracted feature data comprises:

4. The system of claim 3, wherein, a distance from the current location of the user to each of the possible pickup points. further comprising determining at least one of:

5. The system of claim 4, wherein, calculating the hotness value of each of the possible pickup points based on a number of historical orders using the possible pickup point as an actual pickup point, determining the hotness value of each road segment associated with the possible pickup point based on the hotness value of the possible pickup point on the road segment, and determining the hotness value of each route associated with the possible pickup point based on the hotness value of the possible pickup point on the route. the pickup point recommendation model comprises a gradient boosting decision tree (GBDT) model.

6. The system of claim 5, wherein, further comprising training the pickup point recommendation model by:

7. The system of claim 6, wherein, randomly extracting a plurality of historical orders issued by at least one user; from the extracted issued orders, a location of the user at the time of issuing the order to form a set of user location collections, a set of training historical location collections associated with each user location, and ​ a set of training possible pickup points corresponding to the set of training historical location sets; extracting training feature data from the set of user location sets, the set of training historical location sets and the set of training possible pickup point sets; determining a training transition probability from each of the user locations to each of the corresponding training possible pickup points; labeling each of the training possible pickup points with the corresponding training transition probability; and inputting the labeled training possible pickup points into a model for preliminary pickup point recommendation model training to obtain a trained pickup point recommendation model.

8. The system of claim 7, wherein, Further comprising: adding the heat values associated with the historical locations corresponding to the possible pickup points based on respective weights to determine the transition probability.

9. The system according to claim 8, characterized in that The weight is a distance between the current location of the user and the historical locations.

10. The system of any one of claims 1-9, wherein, Determining the one or more possible pickup points corresponding to each of the plurality of historical locations based on historical pickup points and clustering algorithms.

11. A method implemented on a device having at least one computer readable storage medium storing instructions and at least one processor executing the instructions to recommend a pickup point for a user, the method comprising: obtaining and storing a current location of a user, a plurality of historical locations associated with the current location of the user and one or more possible pickup points corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location of the user, the plurality of historical locations and the one or more possible pickup points corresponding to each of the plurality of historical locations; the feature data comprising a heat value for each of the possible pickup points, a heat value for each road segment associated with the possible pickup points, a heat value for each route associated with the possible pickup points and a historical pin rate for each of the possible pickup points, wherein the historical pin rate is a ratio of a number of orders associated with the possible pickup point and a number of orders associated with all possible pickup points; inputting the extracted feature data into a pickup point recommendation model to determine a transition probability for each of the possible pickup points; and determining a recommended pickup point for the user based on the determined transition probability for each of the possible pickup points; the transition probability being a conditional probability of transitioning from a current location to a possible location, determining a maximum transition probability from the determined transition probabilities; and designating the possible pickup point with the maximum transition probability as the recommended pickup point for the user; the heat value of the possible pickup point representing a popularity of each possible pickup point relative to other possible pickup points; the heat value of the road segment being determined based on heat values of possible pickup points on the road segment; the heat value of the route being determined based on heat values of possible pickup points on the route or heat values of road segments on the route.

12. The method of claim 11, wherein, Further comprising: sending the recommended pickup point to a terminal device of the user.

13. The method of claim 12, wherein, The plurality of historical locations are within a preset distance from the current location of the user.

14. The method of claim 13, wherein, The extracted feature data comprises: a distance from the current location of the user to each of the possible pickup points.

15. The method of claim 14, wherein, Further comprising determining at least one of: calculating a hotness value of each of the possible pickup points based on a number of historical orders using the possible pickup points as actual pickup points, determining a hotness value of each road segment associated with the possible pickup points based on the hotness values of the possible pickup points on the road segments, and determining a hotness value of each route associated with the possible pickup points based on the hotness values of the possible pickup points on the routes.

16. The method of claim 15, wherein, The pickup point recommendation model comprises a Gradient Boosting Decision Tree (GBDT) model.

17. The method of claim 16, wherein, The pickup point recommendation model is further trained by: randomly extracting a plurality of historical orders issued by at least one user; from the extracted issued orders, a set of user locations of the user at the time of issuing the orders, a set of training historical locations associated with each user location, and a set of training possible pickup points corresponding to the set of training historical locations; extracting training feature data from the set of user locations, the set of training historical locations, and the set of training possible pickup points; determining a training transition probability from each of the user locations to each of the corresponding training possible pickup points; labeling the corresponding training transition probability for each of the training possible pickup points; and inputting the labeled training possible pickup points into the model for preliminary pickup point recommendation model training to obtain a trained pickup point recommendation model. The pickup point recommendation model is further trained by:

18. The method of claim 17, wherein, adding the hotness values associated with the historical locations corresponding to the possible pickup points based on respective weights to determine the transition probability. The weight is a distance between the current location of the user and the historical location.

19. The method of claim 18, wherein, determining the one or more possible pickup points corresponding to each of the plurality of historical locations based on historical pickup points and a clustering algorithm.

20. The method of any one of claims 11-19, wherein, 21. A non-transitory computer-readable storage medium comprising instructions that, when accessed by at least one processor of a system, cause the system to perform a method, the method comprising: obtaining and storing a current location of a user, a plurality of historical locations associated with the current location of the user, and one or more possible pickup points corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location of the user, the plurality of historical locations, and the one or more possible pickup points corresponding to each of the plurality of historical locations; the feature data comprising a hotness value of each of the possible pickup points, a hotness value of each road segment associated with the possible pickup points, a hotness value of each route associated with the possible pickup points, and a historical pinpointing rate of each of the possible pickup points, wherein the historical pinpointing rate is a ratio of a number of orders associated with the possible pickup points and a number of orders associated with all possible pickup points; inputting the extracted feature data into a pickup point recommendation model to determine a transition probability of each of the possible pickup points; and ​ determining a recommended pickup point of the user based on the transfer probability of each of the possible pickup points, wherein the transfer probability refers to a conditional probability of transferring from a current location to a possible location, and determining a maximum transfer probability from the determined transfer probabilities, and designating the possible pickup point with the maximum transfer probability as the recommended pickup point of the user; a heat value of the possible pickup point represents a popularity of each possible pickup point relative to other possible pickup points, a heat value of the road segment is determined based on heat values of possible pickup points on the road segment, and a heat value of the route is determined based on heat values of possible pickup points on the route or heat values of road segments on the route.

Citation Information

Patent Citations

  • Boarding point recommendation method, device and apparatus, and storage medium

    CN111652676A