WO2022087971A1 - Systems and methods for recommending pick-up location - Google Patents

Systems and methods for recommending pick-up location Download PDF

Info

Publication number
WO2022087971A1
WO2022087971A1 PCT/CN2020/124869 CN2020124869W WO2022087971A1 WO 2022087971 A1 WO2022087971 A1 WO 2022087971A1 CN 2020124869 W CN2020124869 W CN 2020124869W WO 2022087971 A1 WO2022087971 A1 WO 2022087971A1
Authority
WO
WIPO (PCT)
Prior art keywords
location
pick
locations
user
historical
Prior art date
Application number
PCT/CN2020/124869
Other languages
French (fr)
Inventor
Bolong LIU
Original Assignee
Beijing Didi Infinity Technology And Development Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology And Development Co., Ltd. filed Critical Beijing Didi Infinity Technology And Development Co., Ltd.
Priority to PCT/CN2020/124869 priority Critical patent/WO2022087971A1/en
Priority to CN202080106667.3A priority patent/CN116457778A/en
Publication of WO2022087971A1 publication Critical patent/WO2022087971A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping

Definitions

  • the present disclosure generally relates to on-demand services, and more particularly, relates to systems and methods for recommending a pick-up location in an on-demand service.
  • On-demand services have become increasingly popular due to rapid development of mobile Internet and on-line service applications, which can bring great convenience to people.
  • a user can select a pick-up location nearby or designate a pick-up location manually on the basis of a recommended location provided by a built-in global positioning system (GPS) implemented in a mobile device.
  • GPS global positioning system
  • an inaccurate positioning of the GPS as well as other problems usually occur, which bring about an offset of a recommended pick-up location, resulting in poor user experiences.
  • a system for recommending a pick-up location may include at least one storage device storing a set of instructions, and at least one processor configured to communicate with the at least one storage device.
  • the at least one processor may be configured to direct the system to perform the following operations.
  • the following operations may include obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
  • a method for recommending a pick-up location may be implemented on a computing device having at least one processor and at least one computer-readable storage medium.
  • the method may comprise obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
  • a non-transitory computer readable medium may comprise at least one set of instructions for recommending a pick-up location, 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 comprise obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
  • the method further comprises transmitting the recommended pick-up location to a terminal device of the user.
  • the plurality of historical locations are within a preset distance from the current location of the user.
  • the extracted feature data includes a distance from the current location of the user to each potential pick-up locations, a heat value of each potential pick-up location, a heat value of each link associated with potential pick-up locations, a heat value of each route associated with potential pick-up locations, or a historical positioning ratio of each potential pick-up location, wherein the historical positioning ratio is a ratio of the number of orders associated with the potential pick-up location and the number of orders associated with all potential pick-up locations.
  • the extracted feature data further comprises determining at least one of the heat value of each potential pick-up location based on the number of historical orders using the potential pick-up location as an actual pick-up location, the heat value of each link associated with potential pick-up locations based on the heat values of potential pick-up locations on the link, and the heat value of each route associated with potential pick-up locations based on the heat values of potential pick-up locations on the route.
  • the pick-up location recommendation model comprises a gradient boost decision tree (GBDT) model.
  • GBDT gradient boost decision tree
  • the method further comprises training the pick-up location recommendation model by: randomly extracting a number of historical orders placed by at least one user; obtaining from the extracted orders placed, positions of the users when the order were placed to form a set of user locations; a set of training historical locations associated with each user location, and a set of training potential pick-up locations 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 potential pick-up locations; determining a training transition probability from each user location to each training potential pick-up location; labeling each training potential pick-up location with its corresponding training transition probability; and training a preliminary pick-up location recommendation model by inputting the labeled training potential pick-up locations to the model to obtain a trained pick-up location recommendation model.
  • the method further comprises adding the heat values associated with the historical location corresponding to the potential pick-up locations while factoring in its respective weight to determine the transition probability.
  • the weight is a distance between the current location of the user and the historical location.
  • determining the recommended pick-up location based on the determined transition probabilities comprising: identifying a largest transition probability from the determined transition probabilities; and designating the potential pick-up location that has the largest transition probability as the recommended pick-up location for the user.
  • the one or more potential pick-up locations corresponding to each of the plurality of historical locations are determined based on historical pick-up locations and a clustering algorithm.
  • FIG. 1 is a schematic diagram illustrating an example pick-up recommendation system according to some embodiments of the present disclosure
  • FIG. 2 is a schematic diagram illustrating example components of a computing apparatus according to some embodiments of the present disclosure
  • FIG. 3 is a schematic diagram illustrating example hardware and/or software components of an example user terminal according to some embodiments of the present disclosure
  • FIG. 4 is a block diagram illustrating an example processing device of FIG. 1 according to some embodiments of the present disclosure
  • FIG. 5 is a block diagram illustrating an example processing module of FIG. 4 according to some embodiments of the present disclosure
  • FIG. 6 is a flowchart illustrating an example process for recommending a pick-up location according to some embodiments of the present disclosure
  • FIG. 7 is a flowchart illustrating an example process for training a pick-up location recommendation model according to some embodiments of the present disclosure
  • FIG. 8 is a flowchart illustrating an example process for determining a heat value of a route according to some embodiments of the present disclosure.
  • FIG. 9 is a schematic diagram illustrating the relationship between a current location of a user, a plurality of historical locations, and one or more potential pick-up locations corresponding to each of the plurality of historical locations according to some embodiments of the present disclosure.
  • modules of the system may be referred to in various ways according to some embodiments of the present disclosure, however, any number of different modules may be used and operated in a client terminal and/or a server. These modules are intended to be illustrative, not intended to limit the scope of the present disclosure. Different modules may be used in different aspects of the system and method.
  • flow charts are used to illustrate the operations performed by the system. It is to be expressly understood, the operations above or below may or may not be implemented in order. Conversely, the operations may be performed in inverted order, or simultaneously. Besides, one or more other operations may be added to the flowcharts, or one or more operations may be omitted from the flowchart.
  • Some embodiments of the present disclosure are directed to systems and methods for recommending a pick-up location for a user.
  • the system may obtain and store a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user.
  • Feature data may be extracted from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user.
  • the extracted feature data may be input into a pick-up location recommendation model to determine a transition probability for each potential pick-up location. Then a recommended pick-up location may be determined for the user based on the determined transition probability for each potential pick-up location.
  • Some embodiments of the present disclosure are directed to a real-time or online pick-up location determination function applicable in, e.g., on-demand services, which is a newly emerged service or demand rooted only in the post-Internet era. It provides the technical solutions to service requesters that could rise only in the post-Internet era. The present solution is deeply rooted in and aimed to solve a problem only occurred in the post-Internet era.
  • FIG. 1 is a schematic diagram illustrating an example pick-up recommendation system according to some embodiments of the present disclosure.
  • the pick-up recommendation system 100 may be an online transportation service platform for transportation services such as car hailing services, chauffeur services, vehicle delivery services, carpooling services, bus services, driver hiring services, and shuttle services, etc.
  • the pick-up recommendation system 100 may include a server 110, a network 120, a passenger device 130, a driver device 140, a vehicle 150, and a storage 160.
  • the server 110 may be a computer server.
  • the server 110 may communicate with the passenger device 130 and/or the driver device 140 to provide various functionality of an order dispatching service.
  • the server 110 may be a single server, or a server group.
  • the server group may be a centralized server group connected to the network 120 via an access point, or a distributed server group connected to the network 120 via one or more access points, respectively.
  • the server 110 may be locally connected to the network 120 or in remote connection with the network 120.
  • the server 110 may access information and/or data stored in the passenger device 130, the driver device 140, and/or the storage 160 via the network 120.
  • the storage 160 may serve as backend storage of the server 110.
  • the server 110 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
  • the server 110 may include a processing device 112.
  • the processing device 112 may process information and/or data related to performing one or more functions described in the present disclosure. For example, the processing device 112 may obtain a current location of a user, and determine at least one pick-up location recommended to the user based on the current location and a plurality of historical orders of the user.
  • the processing device 112 may include one or more processing units (e.g., single-core processing engine (s) or multi-core processing engine (s) ) .
  • the processing device 112 may include a central processing unit (CPU) , an application-specific integrated circuit (ASIC) , an application-specific instruction-set processor (ASIP) , a graphics processing unit (GPU) , a physics processing unit (PPU) , a digital signal processor (DSP) , a field programmable gate array (FPGA) , a programmable logic device (PLD) , a controller, a microcontroller unit, a reduced instruction-set computer (RISC) , a microprocessor, or the like, or any combination thereof.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • ASIP application-specific instruction-set processor
  • GPU graphics processing unit
  • PPU physics processing unit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • PLD programmable logic device
  • controller a microcontroller unit, a reduced instruction-set computer (RISC) , a microprocessor, or the like, or any combination thereof.
  • RISC reduced
  • the network 120 may facilitate exchange of information and/or data.
  • one or more components in the pick-up recommendation system 100 e.g., the server 110, the passenger device 130, the driver device 140, the vehicle 150, the storage 160
  • the server 110 may access and/or obtain a plurality of historical orders from the storage 160 via the network 120.
  • the network 120 may be any type of wired or wireless network, or a combination thereof.
  • the network 120 may include a cable network, a wireline network, an optical fiber network, a telecommunications network, an intranet, an Internet, a local area network (LAN) , a wide area network (WAN) , a wireless local area network (WLAN) , a metropolitan area network (MAN) , a wide area network (WAN) , a public telephone switched network (PSTN) , a Bluetooth network, a ZigBee network, a near field communication (NFC) network, or the like, or any combination thereof.
  • the network 120 may include one or more network access points.
  • the 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 pick-up recommendation system 100 may be connected to the network 120 to exchange data and/or information.
  • a passenger or a user may be a holder of the passenger device 130.
  • the holder of the passenger device 130 may be someone other than the passenger.
  • a holder A of the passenger device 130 may use the passenger device 130 to send a service request for a passenger B, and/or receive a service confirmation and/or information or instructions from the server 110.
  • a driver may be a user of the driver device 140.
  • the user of the driver device 140 may be someone other than the driver.
  • a user C of the driver device 140 may use the driver device 140 to receive a service request for a driver D, and/or information or instructions from the server 110.
  • a driver may be assigned to use one of the driver devices 140 and/or one of the vehicles 150 for at least a certain period of time, for example, a day, a week, a month, or a year etc. In some other embodiments, a driver may be assigned to use one of the driver devices 140 and/or one of the vehicles 150 on a random basis. For example, when a driver is available to provide an on-demand service, he/she may be assigned to use a driver terminal that receives the earliest request and a vehicle that is recommended to perform the type of on-demand service.
  • driver device may be associated with one or more drivers (e.g., a night-shift driver, a day-shift driver, or a driver pool by a random shifting) .
  • the passenger device 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a built-in device in a vehicle 130-4, or the like, or any combination thereof.
  • the mobile device 130-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof.
  • the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof.
  • the wearable device may include a smart bracelet, a smart footgear, a smart glass, a smart helmet, a smart watch, smart clothing, a smart backpack, a smart accessory, or the like, or any combination thereof.
  • the smart mobile device may include a smartphone, a personal digital assistance (PDA) , a gaming device, a navigation device, a point of sale (POS) device, or the like, or any combination thereof.
  • the virtual reality device and/or the augmented reality device may include a virtual reality helmet, a virtual reality glass, a virtual reality patch, an augmented reality helmet, an augmented reality glass, an augmented reality patch, or the like, or any combination thereof.
  • the virtual reality device and/or the augmented reality device may include a Google Glass TM , an Oculus Rift TM , a Hololens TM , a Gear VR TM , etc.
  • a built-in device in the vehicle 130-4 may include a built-in computer, an onboard built-in television, a built-in tablet, etc.
  • the passenger device 130 may include a signal transmitter and a signal receiver configured to communicate with the positioning device 170 for locating the position of the passenger and/or the passenger device 130.
  • the driver device 140 may include a plurality of driver devices 140-1, 140-2, ..., 140-n. In some embodiments, the driver device 140 may be similar to, or the same device as the passenger device 130. In some embodiments, the driver device 140 may be customized to implement the online transportation service. In some embodiments, the driver device 140 and the passenger device 130 may be configured with a signal transmitter and a signal receiver to receive position information of the driver device 140 and the passenger device 130 from the positioning device 170. In some embodiments, the passenger device 130 and/or the driver device 140 may communicate with other positioning device to determine the position of the passenger, the passenger device 130, the driver, and/or the driver device 140. In some embodiments, the passenger device 130 and/or the driver device 140 may periodically send the positioning information to the server 110.
  • the driver device 140 may also periodically send the availability status to the server 110.
  • the availability status may indicate whether a vehicle 150 associated with the driver device 140 is available to transport a passenger.
  • the passenger device 130 may send the positioning information to the server 110 every thirty minutes.
  • the driver device 140 may send the availability status to the server every thirty minutes, and/or upon an on-demand service is completed.
  • the passenger device 130 may send the positioning information to the server 110 each time the user logs into the mobile application associated with the order dispatching service.
  • the driver device 140 may correspond to one or more vehicles 150.
  • the vehicle 150 may carry the passenger and travel to the destination.
  • the vehicle 150 may include a plurality of vehicles 150-1, 150-2, ..., 150-n.
  • the storage 160 may store data and/or instructions.
  • the storage 160 may store data obtained from the passenger device 130 and/or the driver device 140.
  • the storage 160 may store log information associated with the passenger device 130.
  • the storage 160 may store data and/or instructions that the server 110 may execute to provide the on-demand services described in the present disclosure.
  • the storage 160 may include a mass storage, are movable storage, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof.
  • Example mass storage may include a magnetic disk, an optical disk, a solid-state drives, etc.
  • Example removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc.
  • Example volatile read-and-write memory may include a random access memory (RAM) .
  • Example RAM may include a dynamic RAM (DRAM) , a double date rate synchronous dynamic RAM (DDR SDRAM) , a static RAM (SRAM) , a thyristor RAM (T-RAM) , and a zero-capacitor RAM (Z-RAM) , etc.
  • DRAM dynamic RAM
  • DDR SDRAM double date rate synchronous dynamic RAM
  • SRAM static RAM
  • T-RAM thyristor RAM
  • Z-RAM zero-capacitor RAM
  • Example ROM may include a mask ROM (MROM) , a programmable ROM (PROM) , an erasable programmable ROM (EPROM) , an electrically erasable programmable ROM (EEPROM) , a compact disk ROM (CD-ROM) , and a digital versatile disk ROM, etc.
  • the storage 160 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
  • the positioning device 170 may determine information associated with an object, for example, one or more of the passenger devices 130, the driver device 140, the vehicle 150, etc. For example, the positioning device 170 may determine a current time and a location of a passenger or a driver through the passenger device 130 and/or the driver device 140.
  • the positioning device 170 may be a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS) , etc.
  • the information may include a location, an elevation, a velocity, or an acceleration of the object, and/or a current time.
  • the location may be in the form of coordinates, such as, a latitude coordinate and a longitude coordinate, etc.
  • the positioning device 170 may include one or more satellites, for example, a satellite 170-1, a satellite 170-2, and a satellite 170-3.
  • the satellites 170-1 through 170-3 may determine the information mentioned above independently or jointly.
  • the positioning device 170 may send the information mentioned above to the passenger device 130, the driver device 140, or the vehicle 150 via the network 120.
  • one or more components in the pick-up recommendation system 100 may access the data or instructions stored in the storage 160 via the network 120.
  • the storage 160 may be directly connected to the server 110 as a backend storage.
  • one or more components in the pick-up recommendation system 100 may have permissions to access the storage 160.
  • one or more components in the pick-up recommendation system 100 may read and/or modify the information related to the passenger, the driver, and/or the vehicle when one or more conditions are met.
  • the server 110 may read and/or modify one or more passengers’ user features after an on-demand service order is completed.
  • information exchanging between one or more components of the pick-up recommendation system 100 may be initiated by way of launching the mobile application of the on-demand service on a terminal device to request a service.
  • the object of the service request may be any product.
  • the product may include food, medicine, commodity, chemical product, electrical appliance, clothing, car, housing, luxury, or the like, or any combination thereof.
  • the product may include a service product, a financial product, a knowledge product, an internet product, or the like, or any combination thereof.
  • the internet product may include an individual host product, a web product, a mobile internet product, a commercial host product, an embedded product, or the like, or any combination thereof.
  • the mobile internet product may be used in a software of a mobile terminal, a program, a system, or the like, or any combination thereof.
  • the mobile terminal may include a tablet computer, a laptop computer, a mobile phone, a personal digital assistance (PDA) , a smart watch, a point of sale (POS) device, an onboard computer, an onboard television, a wearable device, or the like, or any combination thereof.
  • PDA personal digital assistance
  • POS point of sale
  • the product may be any software and/or application used in the computer or mobile phone.
  • the software and/or application may relate to socializing, shopping, transporting, entertainment, learning, investment, or the like, or any combination thereof.
  • the software and/or application related to transporting may include a traveling software and/or application, a vehicle scheduling software and/or application, a mapping software and/or application, etc.
  • the vehicle may include a horse, a carriage, a rickshaw (e.g., a wheelbarrow, a bike, a tricycle, etc. ) , a car (e.g., a taxi, a bus, a private car, etc. ) , a train, a subway, a vessel, an aircraft (e.g., an airplane, a helicopter, a space shuttle, a rocket, a hot-air balloon, etc. ) , or the like, or any combination thereof.
  • a traveling software and/or application the vehicle may include a horse, a carriage, a rickshaw (e.g., a wheelbarrow, a bike, a tricycle, etc. ) , a car (e.g., a taxi, a bus, a private car, etc. )
  • an element of the pick-up recommendation system 100 may perform through electrical signals and/or electromagnetic signals.
  • the passenger device 130 may operate logic circuits in its processor to process such task.
  • a processor of the passenger device 130 may generate electrical signals encoding the order.
  • the processor of the passenger device 130 may then send the electrical signals to an output port. If the passenger device 130 communicates with the server 110 via a wired network, the output port may be physically connected to a cable, which further transmit the electrical signal to an input port of the server 110.
  • the output port of the terminal 130 may be one or more antennas, which convert the electrical signals to electromagnetic signals.
  • the driver device 140 may process a task through operation of logic circuits in its processor, and receive an instruction and/or service order from the server 110 via electrical signals or electromagnet signals.
  • an electronic device such as the passenger device 130, the driver device 140, and/or the server 110, when a processor thereof processes an instruction, sends out an instruction, and/or performs an action, the instruction and/or action is conducted via electrical signals.
  • the processor when the processor retrieves data (e.g., a plurality of historical orders) from a storage medium (e.g., the storage 160) , it may send out electrical signals to a read device of the storage medium, which may read structured data in the storage medium.
  • the structured data may be transmitted to the processor in the form of electrical signals via a bus of the electronic device.
  • an electrical signal may refer to one electrical signal, a series of electrical signals, and/or a plurality of discrete electrical signals.
  • FIG. 2 is a schematic diagram illustrating example hardware and/or software components of an example computing device according to some embodiments of the present disclosure.
  • the server 110, the passenger device 130, and/or the driver device 140 may be implemented on the computing device 200.
  • the processing device 112 may be implemented on the computing device 200 and configured to perform functions of the processing device 112 disclosed in this disclosure.
  • the computing device 200 may be used to implement any component of the order dispatching system 100 as described herein.
  • the processing device 112 may be implemented on the computing device 200, via its hardware, software program, firmware, or a combination thereof.
  • only one such computer is shown, for convenience, the computer functions relating to the online to offline service as described herein may be implemented in a distributed fashion on a number of similar platforms to distribute the processing load.
  • the computing device 200 may include COM ports 250 connected to and from a network connected thereto to facilitate data communications.
  • the computing device 200 may also include a processor 220, in the form of one or more processors (e.g., logic circuits) , for executing program instructions.
  • the processor 220 may include interface circuits and processing circuits therein.
  • the interface circuits may be configured to receive electronic signals from a bus 210, wherein the electronic signals encode structured data and/or instructions for the processing circuits to process.
  • the processing circuits may conduct logic calculations, and then determine a conclusion, a result, and/or an instruction encoded as electronic signals. Then the interface circuits may send out the electronic signals from the processing circuits via the bus 210.
  • the computing device 200 may further include program storage and data storage of different forms including, for example, a disk 270, a read only memory (ROM) 230, or a random access memory (RAM) 240, for storing various data files to be processed and/or transmitted by the computing device 200.
  • the computing device 200 may also include program instructions stored in the ROM 230, RAM 240, and/or other type of non-transitory storage medium to be executed by the processor 220.
  • the methods and/or processes of the present disclosure may be implemented as the program instructions.
  • the computing device 200 may also include an I/O component 260, supporting input/output between the computer and other components.
  • the computing device 200 may also receive programming and data via network communications.
  • step A and step B may also be performed by two different CPUs and/or processors jointly or separately in the computing device 200 (e.g., the first processor executes step A and the second processor executes step B, or the first and second processors jointly execute steps A and B) .
  • FIG. 3 is a schematic diagram illustrating example hardware and/or software components of an example mobile device according to some embodiments of the present disclosure.
  • the passenger device 130 or the driver device 140 may be implemented on the mobile device 300.
  • the mobile device 300 may include a communication platform 310, a display 320, a graphic processing unit (GPU) 330, a central processing unit (CPU) 340, an I/O 350, a memory 360, a mobile operating system (OS) 370, and a storage 390.
  • any other suitable component including but not limited to a system bus or a controller (not shown) , may also be included in the mobile device 300.
  • the mobile operating system 370 e.g., iOS TM , Android TM , Windows Phone TM
  • the applications 380 may include a browser or any other suitable mobile apps for receiving and rendering information relating to online to offline services or other information from the order dispatching system 100.
  • User interactions with the information stream may be achieved via the I/O 350 and provided to the processing device 112 and/or other components of the order dispatching system 100 via the network 120.
  • FIG. 4 is a block diagram illustrating an example 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.
  • the modules may be hardware circuits of at least part of the processing device 112.
  • the modules may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the modules may be any combination of the hardware circuits and the application/instructions.
  • the modules may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
  • the acquisition module 410 may acquire data from one or more components in the pick-up recommendation system 100 (e.g., the user terminal 130, the driver terminal 140, the storage device 160, etc. ) .
  • the acquired data may relate to a car-hailing service.
  • the acquired data may include a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user, a plurality of historical orders, services requests, machine learning models, user instructions, programs, algorithms, or the like, or a combination thereof. A detailed illustration of the use of such data will be presented hereinafter.
  • the processing module 420 may process data to determine a recommended pick-up location for the user.
  • the processing module 420 may obtain or receive data and/or information from the acquisition module 410, the I/O module 430, and/or any storage devices capable of storing data (e.g., the storage device 160, or an external data source) .
  • the processing module 420 may obtain various locations including, for example, the current location of the user, the plurality of historical locations associated with the current location of the user, a plurality of historical pick-up locations associated with the historical locations of the user, the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user, etc., and determine the recommended pick-up location based on the various destinations.
  • the processing module 420 may include a hardware processor, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC) , an application specific integrated circuits (ASICs) , an application-specific instruction-set processor (ASIP) , a central processing unit (CPU) , a graphics processing unit (GPU) , a physics processing unit (PPU) , a microcontroller unit, a digital signal processor (DSP) , a field programmable gate array (FPGA) , an advanced RISC machine (ARM) , a programmable logic device (PLD) , any circuit or processor capable of executing one or more functions, or the like, or any combinations thereof.
  • RISC reduced instruction set computer
  • ASICs application specific integrated circuits
  • ASIP application-specific instruction-set processor
  • CPU central processing unit
  • GPU graphics processing unit
  • PPU physics processing unit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • ARM advanced RISC machine
  • the I/O module 430 may input or output signals, data or information. For example, the I/O module 430 may output a recommended pick-up location to a user (e.g., a passenger) .
  • the I/O module 430 may include an input device and an output device.
  • Example input device may include a keyboard, a mouse, a touch screen, a microphone, or the like, or a combination thereof.
  • Example output device may include a display device, a loudspeaker, a printer, a projector, or the like, or a combination thereof.
  • Example display device 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 the like, or a combination thereof.
  • LCD liquid crystal display
  • LED light-emitting diode
  • flat panel display a flat panel display
  • curved screen a television device
  • CTR cathode ray tube
  • the communication module 440 may be connected to a network (e.g., the network 120) to facilitate data communications.
  • the communication module 440 may establish connections between the processing device 112 and the user terminal 130, the driver terminal 140, and/or the storage device 160. For example, the communication module 440 may send the recommended pick-up location to the user terminal 130 and/or the driver terminal 140.
  • the connection may be a wired connection, a wireless connection, any other communication connection that can enable data transmission and/or reception, and/or any combination of these connections.
  • the wired connection may include, for example, an electrical cable, an optical cable, a telephone wire, or the like, or any combination thereof.
  • the wireless connection may include, for example, a Bluetooth TM link, a Wi-Fi TM link, a WiMax TM link, a WLAN link, a ZigBee TM link, a mobile network link (e.g., 3G, 4G, 5G, etc. ) , or the like, or any combination thereof.
  • the communication module 440 may be and/or include a standardized communication port, such as RS232, RS485, etc.
  • processing device 112 may further include a storage module facilitating data storage.
  • a storage module facilitating data storage.
  • FIG. 5 is block diagram illustrating an example 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 pick-up location determination unit 530.
  • the units may be hardware circuits of at least part of the processing device 112.
  • the units may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the units may be any combination of the hardware circuits and the application/instructions.
  • the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
  • the feature determination unit 510 may determine one or more features from the obtained data.
  • the feature determination unit 510 may extract feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user.
  • the extracted feature data may include a distance from the current location of the user to each potential pick-up location, a heat value of each potential pick-up location, a heat value of each link associated with potential pick-up locations, a heat value of each route associated with potential pick-up locations, a historical positioning ratio of each potential pick-up location, or the like, or any combination thereof.
  • the feature data extracted by the feature determination unit 510 may be input into a pick-up location recommendation model to generate a recommended pick-up location for the user.
  • the model training unit 520 may train a model for determining a pick-up location of a user.
  • the model may be or include a machine learning model.
  • Example machine learning models may include a deep belief network (DBN) , a Stacked Auto-Encoders (SAE) , a logistic regression (LR) model, a support vector machine (SVM) model, a decision tree model, a Naive Bayesian Model, a random forest model, or a Restricted Boltzmann Machine (RBM) , a Gradient Boosting Decision Tree (GBDT) model, a LambdaMART model, an adaptive boosting model, a recurrent neural network (RNN) model, a convolutional network model, a hidden Markov model, a perceptron neural network model, a Hopfield network model, or the like, or any combination thereof.
  • DBN deep belief network
  • SAE Stacked Auto-Encoders
  • LR logistic regression
  • SVM support vector machine
  • RBM Restric
  • the model training unit 520 may train the model with training datasets related to pick-up locations in historical orders of one or more users.
  • one or more parameters e.g., weights, a bias, a regularization item, a mini-batch size, etc.
  • the training process (e.g., an iterative process) may terminate when a preset condition is satisfied. For example, the training process may terminate when a convergence of a loss function of the model is reached (e.g., the loss being smaller than equal to 0) .
  • a convergence of a loss function of the model e.g., the loss being smaller than equal to 0.
  • the pick-up location determination unit 530 may determine a recommended pick-up location. In some embodiments, the pick-up location determination unit 530 may determine the recommended pick-up location for the user based on transition probabilities for each potential pick-up location.
  • the transition probability refers to a conditional probability for transiting from a given state (e.g., a current location) to another state (e.g., a potential location) in a Markov chain.
  • the Markov chain is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event.
  • a transition probability from the current location of the user to a potential pick-up location may be represented by a ratio of a heat value of the potential pick-up location corresponding to a historical location associated with the current location of the user while factoring in a weight of the potential pick-up location to a sum of heat values of all potential pick-up locations corresponding to historical locations associated with the current location of the user while factoring in their respective weights.
  • the weight of the pick-up location may relate to a distance from the current location of the user to the historical location corresponding to the pick-up location.
  • a largest transition probability may be identified from the determined transition probabilities, and the potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user.
  • all the determined transition probabilities may be ranked according to the value of the transition probabilities, for example, in a descending order, and a potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user.
  • FIG. 6 is a flowchart illustrating an example process for recommending a pick-up location according to some embodiments of the present disclosure.
  • the process 600 shown in FIG. 6 may be implemented in the pick-up recommendation system 100 illustrated in FIG. 1.
  • at least a part of the process 600 may be stored in a storage device (e.g., the DISK 270 of the computing device 200) as a form of instructions, and invoked and/or executed by the server 110 (e.g., the processor 220 of the computing device 200, one or more modules illustrated in FIG. 4, or one or more units illustrated in FIG. 5) .
  • a part of the process 600 may be implemented on a terminal device.
  • process 600 presented below are intended to be illustrative. In some embodiments, the process 600 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 600 as illustrated in FIG. 6 and described below is not intended to be limiting.
  • a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user may be obtained and stored.
  • the current location of the user, the plurality of historical locations associated with the current location, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations may be obtained by the acquisition module 410.
  • the current location of the user may be determined by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170.
  • the positioning device 170 may be a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS) , etc.
  • the user terminal 130 may be mobile phones with built-in global positioning system (GPS) modules, and the current location of the user may be determined by the built-in GPS modules.
  • a historic area within a first preset distance from the current location of the user may be determined.
  • the first preset distance may be determined by a technician, according to default settings of the pick-up location recommendation system 100, etc.
  • the first preset distance may be 20 meters, 50 meters, 100 meters, 150 meters, etc.
  • a plurality of historical orders of the user having historical locations fall within the historic area may be extracted from the storage medium 160, 230.
  • a historical location may be a location of the user provided by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170 when the user placed a historical order.
  • order information of each historical order may also be obtained.
  • the order information of each historical order may include an order number, an actual pick-up location, a historical location, a destination, a departure time, an arrival time, an acceptable wait time, the number of passengers, luggage information, mileage information, whether to carry pets, user habit/preference (e.g., a vehicle type, a size of a trunk of a vehicle, a load of a vehicle, etc.
  • the order information may also include other order related information, such as weather conditions, environment conditions, road conditions (e.g., road closure due to security, road construction, or the like) , traffic conditions, or the like, or any combination thereof.
  • a historical location may be determined to be associated with the current location of the user since the historical location is within the first preset distance from the user location.
  • the actual pick-up location in the historical order may also be referred to as a historical pick-up location p’.
  • one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user may be obtained.
  • the potential pick-up locations refer to locations where the user may choose to get on a vehicle.
  • the potential pick-up locations corresponding to each of the plurality of historical locations of the user may be determined according to historical pick-up locations using a clustering algorithm.
  • Example clustering algorithms may include K-means clustering, mean shift clustering, density based spatial clustering of application with noise (DBSCAN) , graph community detection, agglomerate hierarchical clustering, Density Peak Cluster (DPC) algorithm, or the like, or any combination thereof.
  • FIG. 9 An example of the current location of the user, the plurality of historical locations associated with the current location, and the one or more potential pick-up locations corresponding to each historical location is provided in FIG. 9, which is intended to be illustrative, not limiting the scope of the present disclosure.
  • feature data may be extracted from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user.
  • the feature data may be extracted by feature determination unit 510.
  • the feature data extracted in 620 may be input into a pick-up location recommendation model to generate a recommended pick-up location for the user.
  • the extracted feature data may include a distance from the current location of the user to each potential pick-up location, a heat value of each potential pick-up location, a heat value of each link associated with potential pick-up locations, a heat value of each route associated with potential pick-up locations, a historical positioning ratio of each potential pick-up location, or the like, or any combination thereof.
  • the distance from the current location of the user to each potential pick-up location may refer to a straight-line distance between the current location of the user and each potential pick-up location.
  • geographic coordinates of the current location of the user and each potential pick-up location may be provided by the positioning device 170. The distance from the current location of the user to each potential pick-up location may be determined based on the geographic coordinates of the current location of the user and each potential pick-up location.
  • the heat value of each potential pick-up location may indicate a popularity of each potential pick-up location compared to the other potential pick-up locations.
  • the heat value of a potential pick-up location may be determined based on the number of historical orders that used the potential pick-up location as the actual pick-up location.
  • the heat value of a potential pick-up location pos_weight_p 1 may be the number of historical orders using the potential pick-up location p 1 as an actual pick-up location.
  • the potential pick-up location p 1 may correspond to a historical location m n .
  • the historical orders may be orders placed by the user during a past time period, for example, last week, last month, last year, etc.
  • the heat value of the potential pick-up location p 1 may be 80.
  • elements in a road network of a digital road map including the current location of the user, historical locations associated with the current location of the user, and one or more potential locations corresponding to each historical locations may be determined.
  • Example elements may include nodes, links, etc.
  • a node generally refers to an intersection or a connection of roads in a road network
  • a link generally refers to a road segment that connects two different nodes in a road network.
  • a route from one place to another may include one or more links.
  • the heat value of each link associated with potential pick-up locations may indicate a popularity of the link with respect to potential pick-up locations.
  • a link may include one or more potential pick-up locations.
  • the heat value of each link associated with potential pick-up locations may be determined based on heat values of potential pick-up locations associated with the link. In some embodiments, the heat value of each link associated with potential pick-up locations may be a sum of heat values of potential pick-up locations associated with the link.
  • the heat value of each route associated with potential pick-up locations may be determined based on heat values of potential pick-up locations on the route or heat values of links on the route.
  • the heat value of each route associated with potential pick-up locations may be a sum of heat values of potential pick-up locations associated with the route. Detailed description regarding the determination of the heat value of a potential pick-up location, the heat value of a link associated with potential pick-up locations, and the heat value of a route associated with potential pick-up locations may be described elsewhere in the present disclosure, for example, FIG. 8 and the descriptions thereof.
  • the historical positioning ratio of each potential pick-up location may indicate a probability that a user chooses a potential pick-up location as an actual pick-up location with respect to the plurality of potential pick-up locations associated with the current location of the user. In some embodiments, the historical positioning ratio of each potential pick-up location is a ratio between the number of historical orders associated with the potential pick-up location as the actual pick-up location and the number of historical orders associated with all potential pick-up locations as the actual pick up locations associated with the current location of the user.
  • the historical positioning ratio of the potential pick-up location p 1 is 0.33.
  • the extracted feature data may be input into a pick-up location recommendation model to determine a transition probability for each potential pick-up location.
  • the transition probability refers to a conditional probability for transiting from a given state (e.g., a current location) to another state (e.g., a potential location) in a Markov chain.
  • the Markov chain is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event.
  • a transition probability from the current location of the user to a potential pick-up location may be represented by a ratio of a heat value of the potential pick-up location corresponding to a historical location associated with the current location of the user while factoring in a weight of the potential pick-up location to a sum of heat values of all potential pick-up locations corresponding to historical locations associated with the current location of the user while factoring in their respective weights.
  • the weight of the pick-up location may relate to a distance from the current location of the user to the historical location corresponding to the pick-up location.
  • a recommended pick-up location may be determined for the user based on the determined transition probabilities for each potential pick-up location.
  • the recommended pick-up location may be determined by the pick-up location determination unit 530.
  • a plurality of historical orders placed in the last year by the user having historical locations in the historic area within a first preset distance from the current location K may be extracted from the plurality of historical orders, resulting in choosing a first historical location m1 associated with a first historical order placed by the user and a second historical location m2 associated with a second historical order placed by the user.
  • a first historical pick-up location p1’ and a second historical pick-up location p2’ may be extracted from the first historical order and the second historical order placed by the user respectively.
  • potential pick-up locations P11 and P12 corresponding to the first historical location m1 and potential pick-up locations P21 and P22 corresponding to the second historical location m2 may be obtained.
  • the potential pick-up locations P11 and P12 may be determined according to the first historical pick-up location p1’, and the potential pick-up locations P21 and P22 may be determined according to the second historical pick-up location p2’, each using a clustering algorithm.
  • the transition probability from the current location K of the user to the potential pick-up location P11 may be 0.11 (i.e., (80 ⁇ 0.15) / (80 ⁇ 0.15+120 ⁇ 0.15+50 ⁇ 0.35+160 ⁇ 0.35) ) .
  • the transition probabilities of P12, P21, and P22 may be 0.16, 0.16, and 0.57 respectively. Since P22 has the highest transition probability, P22 may be designated as the recommended pick-up location for the user.
  • the extracted feature data may be pre-processed before it is input into the trained model.
  • the extracted feature data may be pre-processed to generate a vector with a preset dimension.
  • the pre-processed feature data may be input into the pick-up location recommendation model, and a transition probability for each potential pick-up location may be determined as an output of the pick-up location recommendation model.
  • the pick-up location recommendation model may be a machine learning model.
  • the machine learning model may include a deep belief network (DBN) , a Stacked Auto-Encoders (SAE) , a logistic regression (LR) model, a support vector machine (SVM) model, a decision tree model, a Naive Bayesian Model, a random forest model, or a Restricted Boltzmann Machine (RBM) , a Gradient Boosting Decision Tree (GBDT) model, a LambdaMART model, an adaptive boosting model, a recurrent neural network (RNN) model, a convolutional network model, a hidden Markov model, a perceptron neural network model, a Hopfield network model, or the like, or any combination thereof.
  • DBN deep belief network
  • SAE Stacked Auto-Encoders
  • LR logistic regression
  • SVM support vector machine
  • RBM Restricted Boltzmann Machine
  • GBDT Gradient Boosting Decision Tree
  • GBDT Grad
  • the pick-up location recommendation model may be a GBDT model.
  • the pick-up location recommendation model may be trained to determine the transition probability for each potential pick-up location based on the extracted feature data input into the pick-up location recommendation model. Detailed descriptions regarding the training of the pick-up location recommendation model may be disclosed elsewhere, for example, FIG. 7 and the descriptions thereof.
  • a largest transition probability may be identified from the determined transition probabilities, and the potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user.
  • all the determined transition probabilities may be ranked according to the value of the transition probabilities, for example, in a descending order, and a potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user.
  • more than one potential pick-up locations corresponding to top transition probabilities may be identified and recommended to the user for selection.
  • the recommended pick-up location may be transmitted to a terminal device of the user.
  • the recommended pick-up location may be transmitted by the I/O module 430 or the communication module 440 over the network 150.
  • the recommended pick-up location may be displayed on a user interface of the on-demand service application (such as an online car-hailing service application) installed in the terminal device of the user (e.g., the user terminal 130) .
  • the recommended pick-up location may be displayed in a digital map including the current location of the user, and a walking navigation from the current location of the user to the recommended pick-up location may be provided.
  • the user may also be allowed to adjust the recommended pick-up location manually, for example, by dragging an icon representing the recommended pick-up location to another location on the map.
  • the obtained data, the extracted feature data, the determined transition probabilities and/or the recommended pick-up location may be stored in a storage device capable of storing data in the pick-up commendation system 100.
  • these variations and modifications fall in the scope of the present disclosure.
  • FIG. 7 is a flowchart illustrating an example process for training a pick-up location recommendation model according to some embodiments of the present disclosure.
  • the process 700 shown in FIG. 7 may be implemented in the pick-up recommendation system 100 illustrated in FIG. 1.
  • at least a part of the process 700 may be stored in a storage medium (e.g., the DISK 270 of the computing device 200) as a form of instructions, and invoked and/or executed by the server 110 (e.g., the processor 220 of the computing device 200, the processing module 420, or the model traning unit 520 modules illustrated in FIG. 4) .
  • a part of the process 700 may be implemented on a terminal device.
  • a number of historical orders may be extracted randomly.
  • the historical orders may be on-demand service orders.
  • the historical orders may be car-hailing service orders.
  • the car-hailing service orders may include carpooling orders, vanpooling service orders, express service orders, chauffeuring service orders, taxi hailing orders, shared vehicle dispatching orders, etc.
  • the randomly extracted historical orders may be orders placed by at least one user (e.g., passenger) .
  • the historical orders may be placed and fulfilled, by the at least one user, during a past time period, for example, last week, last month, last year, etc. For example, historical orders placed by two hundred users in a time period from March 1, 2019 to May 1, 2019 may be obtained to train the pick-up location recommendation model.
  • the historical orders may be randomly extracted from a storage device, for example, the storage 160, the RAM 240, the DISK 270, the storage 390, or other storage devices capable of storing data.
  • car-hailing service orders of different types may be randomly extracted from a the storage 160 over the network 120.
  • the car-hailing service orders of different types may be extracted and mixed together to train a pick-up location recommendation model for recommending a pick-up location.
  • the extracted car-hailing service orders of different types may be used to train different pick-up location recommendation models separately for recommending a pick-up location for car-hailing service orders of each type.
  • positions of the users may be obtained from the extracted orders when the orders were placed to form a set of user locations, a set of training historical locations associated with each user location, and a set of training potential pick-up locations corresponding to the set of training historical locations.
  • operations for obtaining, from the extracted orders, positions of the users when the orders were placed to form the set of user locations, the set of training historical locations associated with each user location, and the set of training potential pick-up locations corresponding to the set of training historical locations may be the same as or similar to the operations in 610.
  • the user location of the at least one user, the training historical locations, the training potential pick-up locations, training historical pick-up locations described below, and training historical orders described below may be similar to the current location of the user, the historical locations, the potential pick-up locations, the historical pick-up locations, and the historical orders, respectively, except that the user locations, the training historical locations, the training potential pick-up locations, the training historical pick-up locations, and training historical orders may be obtained from orders previously placed by at least one user and used to train the pick-up location recommendation model.
  • order information of each extracted historical order may also be obtained.
  • the order information of each extracted historical order may include an order number, a pick-up location, a user location, a destination, a departure time, an arrival time, an acceptable wait time, the number of passengers, luggage information, mileage information, whether to carry pets, user habit/preference (e.g., a vehicle type, a size of a trunk of a vehicle, a load of a vehicle, etc.
  • the order information may also include other order related information, such as weather conditions, environment conditions, road conditions (e.g., road closure due to security, road construction, or the like) , traffic conditions, or the like, or any combination thereof.
  • various types of positions of the user may be obtained from the order information of the extracted historical orders when the orders were placed.
  • user locations of the at least one user may be obtained from the order information of the extracted orders.
  • a user location of each of the at least one user may be determined by the terminal device of the user (e.g., the user terminal 130) using the positioning device 170 when a historical order was placed by the user.
  • the user terminal 130 may be mobile phones with built-in global positioning system (GPS) modules, and the user location of the user may be determined by the built-in GPS modules.
  • GPS global positioning system
  • a set of training historical locations associated with each user location may be obtained.
  • an area within a second preset distance from each user location may be determined.
  • the second preset distance may be determined by a technician, according to default settings of the pick-up location recommendation system 100, etc.
  • the second preset distance may be 20 meters, 50 meters, 100 meters, 150 meters, etc.
  • the second preset distance may be the same as the first preset distance.
  • a set of training historical orders may be extracted.
  • a set of training historical orders of the user having positioned locations in an area within the second preset distance from the user location may be extracted.
  • the positioned location may be a location of the user provided by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170 when the user placed the training historical order.
  • the positioned location may also be referred to as a training historical location.
  • the set of training historical locations may be obtained from the set of training historical orders.
  • the set of training historical locations may be determined to be associated with the user location since the set of training historical locations are within the second preset distance from the user location.
  • order information of the training historical order may also include a training historical pick-up location.
  • the training historical pick-up location refers to an actual pick-up location chosen by the user when the training historical order was placed and fulfilled.
  • a set of training potential pick-up locations corresponding to the set of training historical locations of the user may be obtained.
  • one or more training potential pick-up locations of a user may correspond to each of the set of training historical locations of the user.
  • the set of training potential pick-up locations corresponding to the set of training historical locations of the user may be determined according to a clustering algorithm and the set of training historical pick-up locations.
  • Example clustering algorithms may include K-means clustering, mean shift clustering, density based spatial clustering of application with noise (DBSCAN) , graph community detection, agglomerate hierarchical clustering, Density Peak Cluster (DPC) algorithm, or the like, or any combination thereof.
  • DBSCAN density based spatial clustering of application with noise
  • DPC Density Peak Cluster
  • training feature data may be extracted from the set of user locations, the set of training historical locations, and the set of training potential pick-up locations.
  • the training feature data extracted in 730 may be used to train a preliminary pick-up location recommendation model.
  • the preliminary pick-up location recommendation model may be stored in the storage 160 or other storage devices capable of storing data (e.g., the RAM 240, the DISK 270, the storage 390, etc. ) .
  • the preliminary pick-up location recommendation model may be a GBDT model.
  • operations for extracting training feature data from the set of user locations, the set of training historical locations, and the set of training potential pick-up locations in 730 may be similar to or the same as the operations for extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user in 620.
  • the feature data extracted from a user location of a user, a set of training historical locations associated with the user location, and a set of training potential pick-up locations corresponding to the set of training historical locations may include a training distance from the user location of the user to each training potential pick-up location, a training heat value of each training potential pick-up location, a training heat value of each link associated with training potential pick-up locations, a training heat value of each route associated with training potential pick-up locations, a training historical positioning ratio of each training potential pick-up location, or the like, or any combination thereof.
  • the determination of the training distance from the user location of the user to each training potential pick-up location, the training heat value of each training potential pick-up location, the training heat value of each link associated with training potential pick-up locations, the training heat value of each route associated with training potential pick-up locations, and the training historical positioning ratio of each training potential pick-up location may be similar to or the same as the determination of the distance from the current location of the user to each potential pick-up location, the heat value of each potential pick-up location, the heat value of each link associated with potential pick-up locations, the heat value of each route associated with potential pick-up locations, and the historical positioning ratio of each potential pick-up location described in 620.
  • the training distance from the user location of the user to each training potential pick-up location may refer to a straight-line distance between the user location of the user and each training potential pick-up location.
  • geographic coordinates of the user location of the user and each training potential pick-up location may be provided by a terminal device (e.g., the user terminal 130) of the user using the positioning device 170.
  • the training distance from the user location of the user to each training potential pick-up location may be determined based on the geographic coordinates of the user location of the user and each training potential pick-up location.
  • the training heat value of each training potential pick-up location may indicate a popularity of each training potential pick-up location with respect to the set of training potential pick-up locations associated with the user location of the user.
  • the training heat value of a training potential pick-up location may be determined based on the number of training historical orders including the training potential pick-up location, which corresponds to a certain training historical location.
  • the training heat value of each link associated with training potential pick-up locations may indicate a popularity of the link with respect to training potential pick-up locations.
  • a link may include one or more training potential pick-up locations.
  • the training heat value of each link associated with training potential pick-up locations may be determined based on training heat values of training potential pick-up locations associated with the link.
  • the training heat value of each link associated with training potential pick-up locations may be a sum of training heat values of training potential pick-up locations associated with the link.
  • the training heat value of each route associated with training potential pick-up locations may be determined based on training heat values of training potential pick-up locations on the route or training heat values of links on the route.
  • the training historical positioning ratio of each training potential pick-up location may indicate a probability that a user chooses a training potential pick-up location as an actual pick-up location with respect to the set of training potential pick-up locations associated with the user location of the user.
  • the training historical positioning ratio of each training potential pick-up location be a ratio of the number of training historical orders including the training potential pick-up location to a total number of training historical orders.
  • a training transition probability from each user location to each corresponding training potential pick-up location may be determined.
  • the training transition probability herein refers to a conditional probability for transiting from a given state (e.g., a user location) to another state (e.g., a training potential location) in a Markov chain.
  • determination of the training transition probability may be similar to or the same as the determination of the transition probability described in 630.
  • a training transition probability from a user location of a user to a training potential pick-up location may be represented by a ratio of a training heat value of training potential pick-up location corresponding to a training historical location associated with the user location of the user while factoring in a weight of the training potential pick-up location to a sum of training heat values of all training potential pick-up locations corresponding to training historical locations associated with the user location of the user while factoring in their respective weights.
  • the weight of the training potential pick-up location may relate to a distance from the user location of the user to a training historical location corresponding to the training potential pick-up location.
  • each training potential pick-up location may be labelled with its corresponding training transition probability.
  • the pick-up location recommendation model may be a supervised learning model.
  • the extracted feature data may include exemplary inputs for the pick-up location recommendation model and labels that indicate desired outputs (i.e., training transition probabilities) corresponding to the exemplary inputs.
  • the process for training the supervised learning model may enable the pick-up location recommendation model to learn a general rule that maps inputs to corresponding outputs.
  • Exemplary algorithms that may be used to train the pick-up location recommendation model may include a gradient boosting decision tree (GBDT) algorithm, a decision tree algorithm, a Random Forest algorithm, a logistic regression algorithm, a support vector machine (SVM) algorithm, a Naive Bayesian algorithm, an AdaBoost algorithm, a K-a nearest neighbor (KNN) algorithm, a Markov Chains algorithm, or the like, or any combination thereof.
  • GBDT gradient boosting decision tree
  • SVM support vector machine
  • AdaBoost AdaBoost algorithm
  • KNN K-a nearest neighbor
  • Markov Chains algorithm Markov Chains algorithm
  • the preliminary pick-up location recommendation model may be trained by inputting the labeled training potential pick-up locations to the model to obtain a trained pick-up location recommendation model.
  • the pick-up location recommendation model may be trained in an iterative training process. During the iterative training process, parameters (e.g., a weight) of the pick-up location recommendation model may be updated. In some embodiments, the iterative training process may terminate when a preset condition is satisfied. In some embodiments, the preset condition may relate to a restriction (e.g., a threshold) for an algorithm that when the algorithm satisfies the restriction, the iteration may terminate.
  • the algorithm may be a loss function. Merely for illustration, the iteration may terminate when the convergence of the loss function is reached in the training process of the pick-up location recommendation model.
  • the preset condition may include a maximum cycle of iterations (for example, ten cycles) to be performed, and when the maximum cycle of iterations are performed (i.e., the preset condition is satisfied) , the iteration may terminate.
  • the maximum cycle may be set by a technician, according to default settings of pick-up location recommendation system 100, or a combination both.
  • the trained pick-up location recommendation model may be transmitted to a server (e.g., a cloud server) , or one or more terminals (e.g., the mobile device 300) for pick-up location recommendation.
  • the trained pick-up location recommendation model may be saved to a storage device (e.g., storage 160) for storage.
  • FIG. 8 is a flow chart of an example process for determining a heat value of a potential pick-up location, a heat value of a link associated with potential pick-up locations, and a heat value of a route associated with potential pick-up locations according to some embodiments of the present disclosure.
  • the operations of the illustrated process 800 presented below are intended to be illustrative. In some embodiments, the process 800 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 800 as illustrated in FIG. 8 and described below is not intended to be limiting.
  • a heat value of a potential pick-up location may be determined.
  • the heat value of each potential pick-up location may indicate a popularity of each potential pick-up location compared to the other potential pick-up locations.
  • the heat value of a potential pick-up location may be determined based on the number of historical orders using the potential pick-up location as the actual pick-up location, which corresponds to a certain historical location.
  • the heat value of a potential pick-up location pos_weight_p 1 may be the number of historical orders placed using the potential pick-up location p 1 as an actual pick-up location.
  • the potential pick-up location p 1 may correspond to a historical location m n .
  • the historical orders may be orders placed by the user during a past time period, for example, last week, last month, last year, etc.
  • the heat value of the potential pick-up location p 1 may be 80.
  • the heat value of the potential pick-up location p 2 may be 110.
  • a heat value of a link associated with a number of potential pick-up locations may be determined based on the number of potential pick-up locations on the link.
  • elements in a road network of a digital road map including the current location of the user, historical locations associated with the current location of the user, and one or more potential pick up locations corresponding to each historical locations may be determined.
  • Example elements may include nodes, links, etc.
  • a node generally refers to an intersection or a connection of roads in a road network
  • a link generally refers to a road segment that connects two different nodes in a road network.
  • a route from one place to another may include one or more links.
  • a route in Chang’an Street may be mapped to five links on the map by, e.g., manually annotated mapping.
  • the five links may be connected one by one via its nodes to constitute the route in Chang’an Street.
  • a link may include one or more potential pick-up locations.
  • the heat value of each link associated with the one or more potential pick-up locations may indicate a popularity of each link.
  • the heat value of each link associated with potential pick-up locations may be determined based on heat values of potential pick-up locations associated with the link. In some embodiments, the heat value of each link associated with potential pick-up locations may be a sum of heat values of potential pick-up locations associated with the link. For example, a link including the potential pick-up location p 1 and the potential pick-up location p 2 may have a heat value of pos_weight_p 1 + pos_weight_p 2 , i.e., 190.
  • a heat value of a route associated with potential pick-up locations may be determined based on a number of links on the route.
  • the heat value of each route associated with potential pick-up locations may be determined based on heat values of potential pick-up locations on the route or heat values of links on the route.
  • the heat value of each route associated with potential pick-up locations may be a sum of heat values of links associated with potential pick-up locations on the route.
  • a route may include a first link and a second link.
  • the first link includes potential pick-up locations p1 and p2 and the heat value of the first link (L1) may be pos_weight_p 1 + pos_weight_p 2 .
  • the second link includes potential pick-up locations p3 and p4 and the heat value of the second link (L2) may be pos_weight_p 3 + pos_weight_p 4 .
  • the heat value of the route therefore is a combination of L1 and L2, which equals to pos_weight_p 1 + pos_weight_p 2 + pos_weight_p 3 + pos_weight_p 4 .
  • the heat value of each route associated with potential pick-up locations may be a sum of heat values of potential pick-up locations on the route.
  • a route including the potential pick-up location p 1 , the potential pick-up location p 2 , a potential pick-up location p 3 , and a potential pick-up location p 4 may have a heat value of pos_weight_p 1 + pos_weight_p 2 + pos_weight_p 3 + pos_weight_p 4 .
  • FIG. 9 is a schematic diagram illustrating the relationship between a current location 910 of a user, a plurality of historical locations 920, 930 associated with the current location, and one or more potential pick-up locations corresponding to each historical locations 940, 945, 950, 955 according to some embodiments of the present disclosure.
  • a current location K of the user 910 may be determined.
  • the current location K of the user 910 may be determined by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170, according to FIG. 1.
  • the terminal device of the user may be a mobile phone with a built-in global positioning system (GPS) module, and the current location of the user may be determined by the built-in GPS module.
  • GPS global positioning system
  • a historic area within a first preset distance from the current location K of the user 910 may be determined.
  • the first preset distance may be 20 meters, 50 meters, 100 meters, 150 meters, etc.
  • a plurality of historical orders of the user having historical locations in the historic area within the first preset distance from the current location K 910 may be extracted from a storage medium storing the plurality of historical orders. For example, a first historical location m1 920 may be extracted from a first historical order placed by the user and a second historical location m2 930 may be extracted from a second historical order placed by the user.
  • the first historical location m1 920 and the second historical location m2 930 may be in the first preset distance from the current location K of the user 910.
  • a first historical pick-up location p1’ and a second historical pick-up location p2’ may be extracted from the first historical order and the second historical order, respectively.
  • one or more potential pick-up locations corresponding to each of the first historical location m1 920 and the second historical location m2 930 of the user may be obtained.
  • potential pick-up locations p11 940 and p12 945 corresponding to the first historical location m1 of the user and potential pick-up locations p21 950 and p22 955 corresponding to the second historical location m2 of the user may be determined.
  • the potential pick-up locations p11 and p12 may be determined according to the first historical pick-up location p1’, and the potential pick-up locations p21 and p22 may be determined according to the second historical pick-up location p2’, each using a clustering algorithm.
  • Example clustering algorithms may include K-means clustering, mean shift clustering, density based spatial clustering of application with noise (DBSCAN) , graph community detection, agglomerate hierarchical clustering, Density Peak Cluster (DPC) algorithm, or the like, or any combination thereof.
  • DBSCAN density based spatial clustering of application with noise
  • DPC Density Peak Cluster
  • aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a “module, ” “unit, ” “component, ” “device, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS) .
  • LAN local area network
  • WAN wide area network
  • SaaS Software as a Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Remote Sensing (AREA)
  • Traffic Control Systems (AREA)

Abstract

The present disclosure relates to systems and methods for recommending pick-up locations. The method may include obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user. The method may also include extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user. The method may further include inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location. The method may still include determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.

Description

SYSTEMS AND METHODS FOR RECOMMENDING PICK-UP LOCATION TECHNICAL FIELD
The present disclosure generally relates to on-demand services, and more particularly, relates to systems and methods for recommending a pick-up location in an on-demand service.
BACKGROUND
On-demand services have become increasingly popular due to rapid development of mobile Internet and on-line service applications, which can bring great convenience to people. In an on-demand service, a user can select a pick-up location nearby or designate a pick-up location manually on the basis of a recommended location provided by a built-in global positioning system (GPS) implemented in a mobile device. However, an inaccurate positioning of the GPS as well as other problems usually occur, which bring about an offset of a recommended pick-up location, resulting in poor user experiences. Thus, there is a need for a system and method for recommending a pick-up location more accurately.
SUMMARY
According to one aspect of the present disclosure, a system for recommending a pick-up location is provided. The system may include at least one storage device storing a set of instructions, and at least one processor configured to communicate with the at least one storage device. When executing the set of instructions, the at least one processor may be configured to direct the system to perform the following operations. The following operations may include obtaining and storing a current location of the user, a plurality of  historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
According to another aspect of the present disclosure, a method for recommending a pick-up location is provided. The method may be implemented on a computing device having at least one processor and at least one computer-readable storage medium. The method may comprise obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
According to a further aspect of the present disclosure, a non-transitory computer readable medium is provided. The non-transitory computer readable medium may comprise at least one set of instructions for recommending a pick-up location, 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 comprise obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user; inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
In some embodiments, the method further comprises transmitting the recommended pick-up location to a terminal device of the user.
In some embodiments, the plurality of historical locations are within a preset distance from the current location of the user.
In some embodiments, the extracted feature data includes a distance from the current location of the user to each potential pick-up locations, a heat value of each potential pick-up location, a heat value of each link associated with potential pick-up locations, a heat value of each route associated with potential pick-up locations, or a historical positioning ratio of each potential pick-up location, wherein the historical positioning ratio is a ratio of the number of orders associated with the potential pick-up location and the number of orders associated with all potential pick-up locations.
In some embodiments, the extracted feature data further comprises determining at least one of the heat value of each potential pick-up location based on the number of historical orders using the potential pick-up location as an actual pick-up location, the heat value of each link associated with potential  pick-up locations based on the heat values of potential pick-up locations on the link, and the heat value of each route associated with potential pick-up locations based on the heat values of potential pick-up locations on the route.
In some embodiments, the pick-up location recommendation model comprises a gradient boost decision tree (GBDT) model.
In some embodiments, the method further comprises training the pick-up location recommendation model by: randomly extracting a number of historical orders placed by at least one user; obtaining from the extracted orders placed, positions of the users when the order were placed to form a set of user locations; a set of training historical locations associated with each user location, and a set of training potential pick-up locations 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 potential pick-up locations; determining a training transition probability from each user location to each training potential pick-up location; labeling each training potential pick-up location with its corresponding training transition probability; and training a preliminary pick-up location recommendation model by inputting the labeled training potential pick-up locations to the model to obtain a trained pick-up location recommendation model.
In some embodiments, the method further comprises adding the heat values associated with the historical location corresponding to the potential pick-up locations while factoring in its respective weight to determine the transition probability.
In some embodiments, the weight is a distance between the current location of the user and the historical location.
In some embodiments, determining the recommended pick-up location based on the determined transition probabilities comprising: identifying a largest  transition probability from the determined transition probabilities; and designating the potential pick-up location that has the largest transition probability as the recommended pick-up location for the user.
In some embodiments, the one or more potential pick-up locations corresponding to each of the plurality of historical locations are determined based on historical pick-up locations and a clustering algorithm.
Additional features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the examples. The features of the present disclosure may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities and combinations set forth in the detailed examples discussed below.
BRIEF DESCRIPTION OF THE DRAWINGS
The present disclosure is further described in terms of example embodiments. These example embodiments are described in detail with reference to the drawings. The drawings are not to scale. These embodiments are non-limiting example embodiments, in which like reference numerals represent similar structures throughout the several views of the drawings, and wherein:
FIG. 1 is a schematic diagram illustrating an example pick-up recommendation system according to some embodiments of the present disclosure;
FIG. 2 is a schematic diagram illustrating example components of a computing apparatus according to some embodiments of the present disclosure;
FIG. 3 is a schematic diagram illustrating example hardware and/or software components of an example user terminal according to some  embodiments of the present disclosure;
FIG. 4 is a block diagram illustrating an example processing device of FIG. 1 according to some embodiments of the present disclosure;
FIG. 5 is a block diagram illustrating an example processing module of FIG. 4 according to some embodiments of the present disclosure;
FIG. 6 is a flowchart illustrating an example process for recommending a pick-up location according to some embodiments of the present disclosure;
FIG. 7 is a flowchart illustrating an example process for training a pick-up location recommendation model according to some embodiments of the present disclosure;
FIG. 8 is a flowchart illustrating an example process for determining a heat value of a route according to some embodiments of the present disclosure; and
FIG. 9 is a schematic diagram illustrating the relationship between a current location of a user, a plurality of historical locations, and one or more potential pick-up locations corresponding to each of the plurality of historical locations according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
In order to illustrate the technical solutions related to the embodiments of the present disclosure, brief introduction of the drawings referred to in the description of the embodiments is provided below. Obviously, drawings described below are only some examples or embodiments of the present disclosure. Those having ordinary skills in the art, without further creative efforts, may apply the present disclosure to other similar scenarios according to these drawings. Unless stated otherwise or obvious from the context, the same reference numeral in the drawings refers to the same structure and operation.
As used in the disclosure and the appended claims, the singular forms “a, ” “an, ” and “the” include plural referents unless the content clearly dictates otherwise. It will be further understood that the terms “comprises, ” “comprising, ” “includes, ” and/or “including” when used in the disclosure, specify the presence of stated steps and elements, but do not preclude the presence or addition of one or more other steps and elements.
Some modules of the system may be referred to in various ways according to some embodiments of the present disclosure, however, any number of different modules may be used and operated in a client terminal and/or a server. These modules are intended to be illustrative, not intended to limit the scope of the present disclosure. Different modules may be used in different aspects of the system and method.
According to some embodiments of the present disclosure, flow charts are used to illustrate the operations performed by the system. It is to be expressly understood, the operations above or below may or may not be implemented in order. Conversely, the operations may be performed in inverted order, or simultaneously. Besides, one or more other operations may be added to the flowcharts, or one or more operations may be omitted from the flowchart.
Technical solutions of the embodiments of the present disclosure be described with reference to the drawings as described below. It is obvious that the described embodiments are not exhaustive and are not limiting. Other embodiments obtained, based on the embodiments set forth in the present disclosure, by those with ordinary skill in the art without any creative works are within the scope of the present disclosure.
Some embodiments of the present disclosure are directed to systems and methods for recommending a pick-up location for a user. The system may obtain and store a current location of the user, a plurality of historical locations  associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user. Feature data may be extracted from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user. The extracted feature data may be input into a pick-up location recommendation model to determine a transition probability for each potential pick-up location. Then a recommended pick-up location may be determined for the user based on the determined transition probability for each potential pick-up location.
Some embodiments of the present disclosure are directed to a real-time or online pick-up location determination function applicable in, e.g., on-demand services, which is a newly emerged service or demand rooted only in the post-Internet era. It provides the technical solutions to service requesters that could rise only in the post-Internet era. The present solution is deeply rooted in and aimed to solve a problem only occurred in the post-Internet era.
FIG. 1 is a schematic diagram illustrating an example pick-up recommendation system according to some embodiments of the present disclosure. In some embodiments, the pick-up recommendation system 100 may be an online transportation service platform for transportation services such as car hailing services, chauffeur services, vehicle delivery services, carpooling services, bus services, driver hiring services, and shuttle services, etc. The pick-up recommendation system 100 may include a server 110, a network 120, a passenger device 130, a driver device 140, a vehicle 150, and a storage 160.
The server 110 may be a computer server. The server 110 may communicate with the passenger device 130 and/or the driver device 140 to provide various functionality of an order dispatching service. In some embodiments, the server 110 may be a single server, or a server group. The  server group may be a centralized server group connected to the network 120 via an access point, or a distributed server group connected to the network 120 via one or more access points, respectively. In some embodiments, the server 110 may be locally connected to the network 120 or in remote connection with the network 120. For example, the server 110 may access information and/or data stored in the passenger device 130, the driver device 140, and/or the storage 160 via the network 120. As another example, the storage 160 may serve as backend storage of the server 110. In some embodiments, the server 110 may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
In some embodiments, the server 110 may include a processing device 112. The processing device 112 may process information and/or data related to performing one or more functions described in the present disclosure. For example, the processing device 112 may obtain a current location of a user, and determine at least one pick-up location recommended to the user based on the current location and a plurality of historical orders of the user. In some embodiments, the processing device 112 may include one or more processing units (e.g., single-core processing engine (s) or multi-core processing engine (s) ) . Merely by way of example, the processing device 112 may include a central processing unit (CPU) , an application-specific integrated circuit (ASIC) , an application-specific instruction-set processor (ASIP) , a graphics processing unit (GPU) , a physics processing unit (PPU) , a digital signal processor (DSP) , a field programmable gate array (FPGA) , a programmable logic device (PLD) , a controller, a microcontroller unit, a reduced instruction-set computer (RISC) , a microprocessor, or the like, or any combination thereof.
The network 120 may facilitate exchange of information and/or data. In some embodiments, one or more components in the pick-up recommendation system 100 (e.g., the server 110, the passenger device 130, the driver device 140, the vehicle 150, the storage 160) may send information and/or data to other component (s) in the pick-up recommendation system 100 via the network 120. For example, the server 110 may access and/or obtain a plurality of historical orders from the storage 160 via the network 120. In some embodiments, the network 120 may be any type of wired or wireless network, or a combination thereof. Merely by way of example, the network 120 may include a cable network, a wireline network, an optical fiber network, a telecommunications network, an intranet, an Internet, a local area network (LAN) , a wide area network (WAN) , a wireless local area network (WLAN) , a metropolitan area network (MAN) , a wide area network (WAN) , a public telephone switched network (PSTN) , a Bluetooth network, a ZigBee network, a near field communication (NFC) network, or the like, or any combination thereof. In some embodiments, the network 120 may include one or more network access points. For example, the 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 pick-up recommendation system 100 may be connected to the network 120 to exchange data and/or information.
In some embodiments, a passenger or a user may be a holder of the passenger device 130. In some embodiments, the holder of the passenger device 130 may be someone other than the passenger. For example, a holder A of the passenger device 130 may use the passenger device 130 to send a service request for a passenger B, and/or receive a service confirmation and/or information or instructions from the server 110. In some embodiments, a driver may be a user of the driver device 140. In some embodiments, the user of the  driver device 140 may be someone other than the driver. For example, a user C of the driver device 140 may use the driver device 140 to receive a service request for a driver D, and/or information or instructions from the server 110. In some embodiments, a driver may be assigned to use one of the driver devices 140 and/or one of the vehicles 150 for at least a certain period of time, for example, a day, a week, a month, or a year etc. In some other embodiments, a driver may be assigned to use one of the driver devices 140 and/or one of the vehicles 150 on a random basis. For example, when a driver is available to provide an on-demand service, he/she may be assigned to use a driver terminal that receives the earliest request and a vehicle that is recommended to perform the type of on-demand service. In some embodiments, “passenger” , “requestor” and “terminal device” may be used interchangeably, and “driver” , “provider” and “driver device” may be used interchangeably. In some embodiments, the driver device may be associated with one or more drivers (e.g., a night-shift driver, a day-shift driver, or a driver pool by a random shifting) .
In some embodiments, the passenger device 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a built-in device in a vehicle 130-4, or the like, or any combination thereof. In some embodiments, the mobile device 130-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof. In some embodiments, the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, a smart footgear, a smart glass, a smart helmet, a smart watch, smart clothing, a smart backpack, a smart accessory, or the like, or any combination thereof. In some  embodiments, the smart mobile device may include a smartphone, a personal digital assistance (PDA) , a gaming device, a navigation device, a point of sale (POS) device, or the like, or any combination thereof. In some embodiments, the virtual reality device and/or the augmented reality device may include a virtual reality helmet, a virtual reality glass, a virtual reality patch, an augmented reality helmet, an augmented reality glass, an augmented reality patch, or the like, or any combination thereof. For example, the virtual reality device and/or the augmented reality device may include a Google Glass TM, an Oculus Rift TM, a Hololens TM, a Gear VR TM, etc. In some embodiments, a built-in device in the vehicle 130-4 may include a built-in computer, an onboard built-in television, a built-in tablet, etc. In some embodiments, the passenger device 130 may include a signal transmitter and a signal receiver configured to communicate with the positioning device 170 for locating the position of the passenger and/or the passenger device 130.
The driver device 140 may include a plurality of driver devices 140-1, 140-2, ..., 140-n. In some embodiments, the driver device 140 may be similar to, or the same device as the passenger device 130. In some embodiments, the driver device 140 may be customized to implement the online transportation service. In some embodiments, the driver device 140 and the passenger device 130 may be configured with a signal transmitter and a signal receiver to receive position information of the driver device 140 and the passenger device 130 from the positioning device 170. In some embodiments, the passenger device 130 and/or the driver device 140 may communicate with other positioning device to determine the position of the passenger, the passenger device 130, the driver, and/or the driver device 140. In some embodiments, the passenger device 130 and/or the driver device 140 may periodically send the positioning information to the server 110. In some embodiments, the driver device 140 may also  periodically send the availability status to the server 110. The availability status may indicate whether a vehicle 150 associated with the driver device 140 is available to transport a passenger. For example, the passenger device 130 may send the positioning information to the server 110 every thirty minutes. As another example, the driver device 140 may send the availability status to the server every thirty minutes, and/or upon an on-demand service is completed. As another example, the passenger device 130 may send the positioning information to the server 110 each time the user logs into the mobile application associated with the order dispatching service.
In some embodiments, the driver device 140 may correspond to one or more vehicles 150. The vehicle 150 may carry the passenger and travel to the destination. The vehicle 150 may include a plurality of vehicles 150-1, 150-2, ..., 150-n.
The storage 160 may store data and/or instructions. In some embodiments, the storage 160 may store data obtained from the passenger device 130 and/or the driver device 140. For example, the storage 160 may store log information associated with the passenger device 130. In some embodiments, the storage 160 may store data and/or instructions that the server 110 may execute to provide the on-demand services described in the present disclosure. In some embodiments, the storage 160 may include a mass storage, are movable storage, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof. Example mass storage may include a magnetic disk, an optical disk, a solid-state drives, etc. Example removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc. Example volatile read-and-write memory may include a random access memory (RAM) . Example RAM may include a dynamic RAM (DRAM) , a double date rate synchronous dynamic RAM  (DDR SDRAM) , a static RAM (SRAM) , a thyristor RAM (T-RAM) , and a zero-capacitor RAM (Z-RAM) , etc. Example ROM may include a mask ROM (MROM) , a programmable ROM (PROM) , an erasable programmable ROM (EPROM) , an electrically erasable programmable ROM (EEPROM) , a compact disk ROM (CD-ROM) , and a digital versatile disk ROM, etc. In some embodiments, the storage 160 may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
The positioning device 170 may determine information associated with an object, for example, one or more of the passenger devices 130, the driver device 140, the vehicle 150, etc. For example, the positioning device 170 may determine a current time and a location of a passenger or a driver through the passenger device 130 and/or the driver device 140. In some embodiments, the positioning device 170 may be a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS) , etc. The information may include a location, an elevation, a velocity, or an acceleration of the object, and/or a current time. The location may be in the form of coordinates, such as, a latitude coordinate and a longitude coordinate, etc. The positioning device 170 may include one or more satellites, for example, a satellite 170-1, a satellite 170-2, and a satellite 170-3. The satellites 170-1 through 170-3 may determine the information mentioned above independently or jointly. The positioning device 170 may send the information mentioned above to the passenger device 130, the driver device 140, or the vehicle 150 via the network 120.
In some embodiments, one or more components in the pick-up  recommendation system 100 may access the data or instructions stored in the storage 160 via the network 120. In some embodiments, the storage 160 may be directly connected to the server 110 as a backend storage.
In some embodiments, one or more components in the pick-up recommendation system 100 (e.g., the server 110, the passenger device 130, the driver device 140, etc. ) may have permissions to access the storage 160. In some embodiments, one or more components in the pick-up recommendation system 100 may read and/or modify the information related to the passenger, the driver, and/or the vehicle when one or more conditions are met. For example, the server 110 may read and/or modify one or more passengers’ user features after an on-demand service order is completed.
In some embodiments, information exchanging between one or more components of the pick-up recommendation system 100 may be initiated by way of launching the mobile application of the on-demand service on a terminal device to request a service. The object of the service request may be any product. In some embodiments, the product may include food, medicine, commodity, chemical product, electrical appliance, clothing, car, housing, luxury, or the like, or any combination thereof. In some other embodiments, the product may include a service product, a financial product, a knowledge product, an internet product, or the like, or any combination thereof. The internet product may include an individual host product, a web product, a mobile internet product, a commercial host product, an embedded product, or the like, or any combination thereof. The mobile internet product may be used in a software of a mobile terminal, a program, a system, or the like, or any combination thereof. The mobile terminal may include a tablet computer, a laptop computer, a mobile phone, a personal digital assistance (PDA) , a smart watch, a point of sale (POS) device, an onboard computer, an onboard television, a wearable device, or the  like, or any combination thereof. For example, the product may be any software and/or application used in the computer or mobile phone. The software and/or application may relate to socializing, shopping, transporting, entertainment, learning, investment, or the like, or any combination thereof. In some embodiments, the software and/or application related to transporting may include a traveling software and/or application, a vehicle scheduling software and/or application, a mapping software and/or application, etc. In the vehicle scheduling software and/or application, the vehicle may include a horse, a carriage, a rickshaw (e.g., a wheelbarrow, a bike, a tricycle, etc. ) , a car (e.g., a taxi, a bus, a private car, etc. ) , a train, a subway, a vessel, an aircraft (e.g., an airplane, a helicopter, a space shuttle, a rocket, a hot-air balloon, etc. ) , or the like, or any combination thereof.
One of ordinary skill in the art would understand that when an element of the pick-up recommendation system 100 performs, the element may perform through electrical signals and/or electromagnetic signals. For example, when a passenger device 130 processes a task, such as transmitting an order, the passenger device 130 may operate logic circuits in its processor to process such task. When the passenger device 130 sends out an order to the server 110, a processor of the passenger device 130 may generate electrical signals encoding the order. The processor of the passenger device 130 may then send the electrical signals to an output port. If the passenger device 130 communicates with the server 110 via a wired network, the output port may be physically connected to a cable, which further transmit the electrical signal to an input port of the server 110. If the passenger device 130 communicates with the server 110 via a wireless network, the output port of the terminal 130 may be one or more antennas, which convert the electrical signals to electromagnetic signals. Similarly, the driver device 140 may process a task through operation of logic  circuits in its processor, and receive an instruction and/or service order from the server 110 via electrical signals or electromagnet signals. Within an electronic device, such as the passenger device 130, the driver device 140, and/or the server 110, when a processor thereof processes an instruction, sends out an instruction, and/or performs an action, the instruction and/or action is conducted via electrical signals. For example, when the processor retrieves data (e.g., a plurality of historical orders) from a storage medium (e.g., the storage 160) , it may send out electrical signals to a read device of the storage medium, which may read structured data in the storage medium. The structured data may be transmitted to the processor in the form of electrical signals via a bus of the electronic device. Here, an electrical signal may refer to one electrical signal, a series of electrical signals, and/or a plurality of discrete electrical signals.
FIG. 2 is a schematic diagram illustrating example hardware and/or software components of an example computing device according to some embodiments of the present disclosure. In some embodiments, the server 110, the passenger device 130, and/or the driver device 140 may be implemented on the computing device 200. For example, the processing device 112 may be implemented on the computing device 200 and configured to perform functions of the processing device 112 disclosed in this disclosure.
The computing device 200 may be used to implement any component of the order dispatching system 100 as described herein. For example, the processing device 112 may be implemented on the computing device 200, via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown, for convenience, the computer functions relating to the online to offline service as described herein may be implemented in a distributed fashion on a number of similar platforms to distribute the processing load.
The computing device 200 may include COM ports 250 connected to and from a network connected thereto to facilitate data communications. The computing device 200 may also include a processor 220, in the form of one or more processors (e.g., logic circuits) , for executing program instructions. For example, the processor 220 may include interface circuits and processing circuits therein. The interface circuits may be configured to receive electronic signals from a bus 210, wherein the electronic signals encode structured data and/or instructions for the processing circuits to process. The processing circuits may conduct logic calculations, and then determine a conclusion, a result, and/or an instruction encoded as electronic signals. Then the interface circuits may send out the electronic signals from the processing circuits via the bus 210.
The computing device 200 may further include program storage and data storage of different forms including, for example, a disk 270, a read only memory (ROM) 230, or a random access memory (RAM) 240, for storing various data files to be processed and/or transmitted by the computing device 200. The computing device 200 may also include program instructions stored in the ROM 230, RAM 240, and/or other type of non-transitory storage medium to be executed by the processor 220. The methods and/or processes of the present disclosure may be implemented as the program instructions. The computing device 200 may also include an I/O component 260, supporting input/output between the computer and other components. The computing device 200 may also receive programming and data via network communications.
Merely for illustration, only one processor is described in FIG. 2. Multiple processors are also contemplated, thus operations and/or steps performed by one processor as described in the present disclosure may also be jointly or separately performed by the multiple processors. For example, if in the present disclosure the processor of the computing device 200 executes both step  A and step B, it should be understood that step A and step B may also be performed by two different CPUs and/or processors jointly or separately in the computing device 200 (e.g., the first processor executes step A and the second processor executes step B, or the first and second processors jointly execute steps A and B) .
FIG. 3 is a schematic diagram illustrating example hardware and/or software components of an example mobile device according to some embodiments of the present disclosure. In some embodiments, the passenger device 130 or the driver device 140 may be implemented on the mobile device 300. As illustrated in FIG. 3, the mobile device 300 may include a communication platform 310, a display 320, a graphic processing unit (GPU) 330, a central processing unit (CPU) 340, an I/O 350, a memory 360, a mobile operating system (OS) 370, and a storage 390. In some embodiments, any other suitable component including but not limited to a system bus or a controller (not shown) , may also be included in the mobile device 300.
In some embodiments, the mobile operating system 370 (e.g., iOS TM, Android TM, Windows Phone TM) and one or more applications 380 may be loaded into the memory 360 from the storage 390 in order to be executed by the CPU 340. The applications 380 may include a browser or any other suitable mobile apps for receiving and rendering information relating to online to offline services or other information from the order dispatching system 100. User interactions with the information stream may be achieved via the I/O 350 and provided to the processing device 112 and/or other components of the order dispatching system 100 via the network 120.
FIG. 4 is a block diagram illustrating an example 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. The modules may be hardware circuits of at least part of the processing device 112. The modules may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the modules may be any combination of the hardware circuits and the application/instructions. For example, the modules may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
The acquisition module 410 may acquire data from one or more components in the pick-up recommendation system 100 (e.g., the user terminal 130, the driver terminal 140, the storage device 160, etc. ) . In some embodiments, the acquired data may relate to a car-hailing service. Merely by ways of example, the acquired data may include a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user, a plurality of historical orders, services requests, machine learning models, user instructions, programs, algorithms, or the like, or a combination thereof. A detailed illustration of the use of such data will be presented hereinafter.
The processing module 420 may process data to determine a recommended pick-up location for the user. The processing module 420 may obtain or receive data and/or information from the acquisition module 410, the I/O module 430, and/or any storage devices capable of storing data (e.g., the storage device 160, or an external data source) . In some embodiments, the processing module 420 may obtain various locations including, for example, the current location of the user, the plurality of historical locations associated with the current location of the user, a plurality of historical pick-up locations associated with the historical locations of the user, the one or more potential pick-up  locations corresponding to each of the plurality of historical locations of the user, etc., and determine the recommended pick-up location based on the various destinations.
The processing module 420 may include a hardware processor, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC) , an application specific integrated circuits (ASICs) , an application-specific instruction-set processor (ASIP) , a central processing unit (CPU) , a graphics processing unit (GPU) , a physics processing unit (PPU) , a microcontroller unit, a digital signal processor (DSP) , a field programmable gate array (FPGA) , an advanced RISC machine (ARM) , a programmable logic device (PLD) , any circuit or processor capable of executing one or more functions, or the like, or any combinations thereof.
The I/O module 430 may input or output signals, data or information. For example, the I/O module 430 may output a recommended pick-up location to a user (e.g., a passenger) . In some embodiments, the I/O module 430 may include an input device and an output device. Example input device may include a keyboard, a mouse, a touch screen, a microphone, or the like, or a combination thereof. Example output device may include a display device, a loudspeaker, a printer, a projector, or the like, or a combination thereof. Example display device 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 the like, or a combination thereof.
The communication module 440 may be connected to a network (e.g., the network 120) to facilitate data communications. The communication module 440 may establish connections between the processing device 112 and the user terminal 130, the driver terminal 140, and/or the storage device 160. For example, the communication module 440 may send the recommended pick-up  location to the user terminal 130 and/or the driver terminal 140. The connection may be a wired connection, a wireless connection, any other communication connection that can enable data transmission and/or reception, and/or any combination of these connections. The wired connection may include, for example, an electrical cable, an optical cable, a telephone wire, or the like, or any combination thereof. The wireless connection may include, for example, a Bluetooth TM link, a Wi-Fi TM link, a WiMax TM link, a WLAN link, a ZigBee TM link, a mobile network link (e.g., 3G, 4G, 5G, etc. ) , or the like, 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.
It should be noted that the above description of the processing device 112 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. For example, the processing device 112 may further include a storage module facilitating data storage. However, those variations and modifications do not depart from the scope of the present disclosure.
FIG. 5 is block diagram illustrating an example 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 pick-up location determination unit 530. The units may be hardware circuits of at least part of the processing device 112. The units may also be implemented as an application or set of instructions read and executed by the processing device 112. Further, the units may be any combination of the hardware circuits and the application/instructions. For example, the units may be the part of the processing device 112 when the processing device 112 is executing the application/set of instructions.
The feature determination unit 510 may determine one or more features from the obtained data. In some embodiments, the feature determination unit 510 may extract feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user. In some embodiments, the extracted feature data may include a distance from the current location of the user to each potential pick-up location, a heat value of each potential pick-up location, a heat value of each link associated with potential pick-up locations, a heat value of each route associated with potential pick-up locations, a historical positioning ratio of each potential pick-up location, or the like, or any combination thereof. The feature data extracted by the feature determination unit 510 may be input into a pick-up location recommendation model to generate a recommended pick-up location for the user.
The model training unit 520 may train a model for determining a pick-up location of a user. The model may be or include a machine learning model. Example machine learning models may include a deep belief network (DBN) , a Stacked Auto-Encoders (SAE) , a logistic regression (LR) model, a support vector machine (SVM) model, a decision tree model, a Naive Bayesian Model, a random forest model, or a Restricted Boltzmann Machine (RBM) , a Gradient Boosting Decision Tree (GBDT) model, a LambdaMART model, an adaptive boosting model, a recurrent neural network (RNN) model, a convolutional network model, a hidden Markov model, a perceptron neural network model, a Hopfield network model, or the like, or any combination thereof. The model training unit 520 may train the model with training datasets related to pick-up locations in historical orders of one or more users. During the training process of the model, one or more parameters (e.g., weights, a bias, a regularization item, a mini-batch size, etc. ) of the model may be updated. The training  process (e.g., an iterative process) may terminate when a preset condition is satisfied. For example, the training process may terminate when a convergence of a loss function of the model is reached (e.g., the loss being smaller than equal to 0) . Detailed description regarding the training of the model may be disclosed elsewhere, for example, FIG. 7 and the descriptions thereof.
The pick-up location determination unit 530 may determine a recommended pick-up location. In some embodiments, the pick-up location determination unit 530 may determine the recommended pick-up location for the user based on transition probabilities for each potential pick-up location. As used herein, the transition probability refers to a conditional probability for transiting from a given state (e.g., a current location) to another state (e.g., a potential location) in a Markov chain. The Markov chain is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. In some embodiments, a transition probability from the current location of the user to a potential pick-up location may be represented by a ratio of a heat value of the potential pick-up location corresponding to a historical location associated with the current location of the user while factoring in a weight of the potential pick-up location to a sum of heat values of all potential pick-up locations corresponding to historical locations associated with the current location of the user while factoring in their respective weights. In some embodiments, the weight of the pick-up location may relate to a distance from the current location of the user to the historical location corresponding to the pick-up location.
In some embodiments, a largest transition probability may be identified from the determined transition probabilities, and the potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user. Merely by ways of example, all the  determined transition probabilities may be ranked according to the value of the transition probabilities, for example, in a descending order, and a potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user.
FIG. 6 is a flowchart illustrating an example process for recommending a pick-up location according to some embodiments of the present disclosure. In some embodiments, the process 600 shown in FIG. 6 may be implemented in the pick-up recommendation system 100 illustrated in FIG. 1. For example, at least a part of the process 600 may be stored in a storage device (e.g., the DISK 270 of the computing device 200) as a form of instructions, and invoked and/or executed by the server 110 (e.g., the processor 220 of the computing device 200, one or more modules illustrated in FIG. 4, or one or more units illustrated in FIG. 5) . In some embodiments, a part of the process 600 may be implemented on a terminal device. The operations of the illustrated process 600 presented below are intended to be illustrative. In some embodiments, the process 600 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 600 as illustrated in FIG. 6 and described below is not intended to be limiting.
In 610, a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user may be obtained and stored. In some embodiments, the current location of the user, the plurality of historical locations associated with the current location, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations may be obtained by the acquisition module 410.
In some embodiments, the current location of the user may be determined by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170. The positioning device 170 may be a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS) , etc. In some embodiments, the user terminal 130 may be mobile phones with built-in global positioning system (GPS) modules, and the current location of the user may be determined by the built-in GPS modules.
In some embodiments, a historic area within a first preset distance from the current location of the user may be determined. The first preset distance may be determined by a technician, according to default settings of the pick-up location recommendation system 100, etc. For example, the first preset distance may be 20 meters, 50 meters, 100 meters, 150 meters, etc. A plurality of historical orders of the user having historical locations fall within the historic area may be extracted from the  storage medium  160, 230. As used herein, a historical location may be a location of the user provided by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170 when the user placed a historical order.
In some embodiments, order information of each historical order may also be obtained. The order information of each historical order may include an order number, an actual pick-up location, a historical location, a destination, a departure time, an arrival time, an acceptable wait time, the number of passengers, luggage information, mileage information, whether to carry pets, user habit/preference (e.g., a vehicle type, a size of a trunk of a vehicle, a load of a vehicle, etc. ) , whether to accept car sharing and/or carpool, a price, a price raised by a consumer, a price adjusted by a service provider, a price adjusted by  a system, a usage of coupons, a payment way (e.g., cash payment, card payment, online payment, remittance payment, etc. ) , completion statuses of orders, or the like, or any combination thereof. In some embodiments, the order information may also include other order related information, such as weather conditions, environment conditions, road conditions (e.g., road closure due to security, road construction, or the like) , traffic conditions, or the like, or any combination thereof. In some embodiments, a historical location may be determined to be associated with the current location of the user since the historical location is within the first preset distance from the user location. The actual pick-up location in the historical order may also be referred to as a historical pick-up location p’.
In some embodiments, one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user may be obtained. As used herein, the potential pick-up locations refer to locations where the user may choose to get on a vehicle. In some embodiments, the potential pick-up locations corresponding to each of the plurality of historical locations of the user may be determined according to historical pick-up locations using a clustering algorithm. Example clustering algorithms may include K-means clustering, mean shift clustering, density based spatial clustering of application with noise (DBSCAN) , graph community detection, agglomerate hierarchical clustering, Density Peak Cluster (DPC) algorithm, or the like, or any combination thereof. An example of the current location of the user, the plurality of historical locations associated with the current location, and the one or more potential pick-up locations corresponding to each historical location is provided in FIG. 9, which is intended to be illustrative, not limiting the scope of the present disclosure.
In 620, feature data may be extracted from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user. In some embodiments, the feature data may be extracted by feature determination unit 510. The feature data extracted in 620 may be input into a pick-up location recommendation model to generate a recommended pick-up location for the user. In some embodiments, the extracted feature data may include a distance from the current location of the user to each potential pick-up location, a heat value of each potential pick-up location, a heat value of each link associated with potential pick-up locations, a heat value of each route associated with potential pick-up locations, a historical positioning ratio of each potential pick-up location, or the like, or any combination thereof.
The distance from the current location of the user to each potential pick-up location may refer to a straight-line distance between the current location of the user and each potential pick-up location. In some embodiments, geographic coordinates of the current location of the user and each potential pick-up location may be provided by the positioning device 170. The distance from the current location of the user to each potential pick-up location may be determined based on the geographic coordinates of the current location of the user and each potential pick-up location.
The heat value of each potential pick-up location may indicate a popularity of each potential pick-up location compared to the other potential pick-up locations. In some embodiments, the heat value of a potential pick-up location may be determined based on the number of historical orders that used the potential pick-up location as the actual pick-up location. In some embodiments, the heat value of a potential pick-up location pos_weight_p 1 may be the number of historical orders using the potential pick-up location p 1 as an  actual pick-up location. The potential pick-up location p 1 may correspond to a historical location m n. The historical orders may be orders placed by the user during a past time period, for example, last week, last month, last year, etc. For example, if the number of historical orders using a potential pick-up location p 1 as an actual pick-up location is 80, and the potential pick-up location p 1 corresponds to a historical location m n, the heat value of the potential pick-up location p 1 may be 80.
In some embodiments, elements in a road network of a digital road map including the current location of the user, historical locations associated with the current location of the user, and one or more potential locations corresponding to each historical locations may be determined. Example elements may include nodes, links, etc. A node generally refers to an intersection or a connection of roads in a road network, and a link generally refers to a road segment that connects two different nodes in a road network. In some embodiments, a route from one place to another may include one or more links. The heat value of each link associated with potential pick-up locations may indicate a popularity of the link with respect to potential pick-up locations. In some embodiments, a link may include one or more potential pick-up locations. In some embodiments, the heat value of each link associated with potential pick-up locations may be determined based on heat values of potential pick-up locations associated with the link. In some embodiments, the heat value of each link associated with potential pick-up locations may be a sum of heat values of potential pick-up locations associated with the link.
Similarly, the heat value of each route associated with potential pick-up locations may be determined based on heat values of potential pick-up locations on the route or heat values of links on the route. In some embodiments, the heat value of each route associated with potential pick-up locations may be a  sum of heat values of potential pick-up locations associated with the route. Detailed description regarding the determination of the heat value of a potential pick-up location, the heat value of a link associated with potential pick-up locations, and the heat value of a route associated with potential pick-up locations may be described elsewhere in the present disclosure, for example, FIG. 8 and the descriptions thereof.
In some embodiments, the historical positioning ratio of each potential pick-up location may indicate a probability that a user chooses a potential pick-up location as an actual pick-up location with respect to the plurality of potential pick-up locations associated with the current location of the user. In some embodiments, the historical positioning ratio of each potential pick-up location is a ratio between the number of historical orders associated with the potential pick-up location as the actual pick-up location and the number of historical orders associated with all potential pick-up locations as the actual pick up locations associated with the current location of the user. For example, if the number of historical order placed in last year using all potential pick-up locations as the actual pick up locations associated with the current location of the user is 240 and the number of historical orders placed in last year using the potential pick-up location p 1 as the actual pick-up location is 80, the historical positioning ratio of the potential pick-up location p 1 is 0.33.
In 630, the extracted feature data may be input into a pick-up location recommendation model to determine a transition probability for each potential pick-up location. The transition probability refers to a conditional probability for transiting from a given state (e.g., a current location) to another state (e.g., a potential location) in a Markov chain. The Markov chain is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. In some  embodiments, a transition probability from the current location of the user to a potential pick-up location may be represented by a ratio of a heat value of the potential pick-up location corresponding to a historical location associated with the current location of the user while factoring in a weight of the potential pick-up location to a sum of heat values of all potential pick-up locations corresponding to historical locations associated with the current location of the user while factoring in their respective weights. In some embodiments, the weight of the pick-up location may relate to a distance from the current location of the user to the historical location corresponding to the pick-up location.
In 640, a recommended pick-up location may be determined for the user based on the determined transition probabilities for each potential pick-up location. In some embodiments, the recommended pick-up location may be determined by the pick-up location determination unit 530.
For example, as illustrated in FIG. 9, for a current location K of a user, a plurality of historical orders placed in the last year by the user having historical locations in the historic area within a first preset distance from the current location K may be extracted from the plurality of historical orders, resulting in choosing a first historical location m1 associated with a first historical order placed by the user and a second historical location m2 associated with a second historical order placed by the user. In the meanwhile, a first historical pick-up location p1’ and a second historical pick-up location p2’ may be extracted from the first historical order and the second historical order placed by the user respectively. Then potential pick-up locations P11 and P12 corresponding to the first historical location m1 and potential pick-up locations P21 and P22 corresponding to the second historical location m2 may be obtained. In some embodiments, the potential pick-up locations P11 and P12, may be determined according to the first historical pick-up location p1’, and the potential pick-up  locations P21 and P22 may be determined according to the second historical pick-up location p2’, each using a clustering algorithm. Merely for illustration purposes, if a heat value of the potential pick-up location P11 is 80, a weight of the potential pick-up location P11 is 0.3, a heat value of the potential pick-up location P12 is 120, a weight of the potential pick-up location P12 is 0.3, a heat value of the potential pick-up location P21 is 50, a weight of the potential pick-up location P21 is 0.35, a heat value of the potential pick-up location P22 is 160, and a weight of the potential pick-up location P22 is 0.35, the transition probability from the current location K of the user to the potential pick-up location P11 may be 0.11 (i.e., (80×0.15) / (80×0.15+120×0.15+50×0.35+160×0.35) ) . Similarly, the transition probabilities of P12, P21, and P22 may be 0.16, 0.16, and 0.57 respectively. Since P22 has the highest transition probability, P22 may be designated as the recommended pick-up location for the user.
In some embodiments, at least a part of the extracted feature data may be pre-processed before it is input into the trained model. For example, the extracted feature data may be pre-processed to generate a vector with a preset dimension. The pre-processed feature data may be input into the pick-up location recommendation model, and a transition probability for each potential pick-up location may be determined as an output of the pick-up location recommendation model.
In some embodiments, the pick-up location recommendation model may be a machine learning model. The machine learning model may include a deep belief network (DBN) , a Stacked Auto-Encoders (SAE) , a logistic regression (LR) model, a support vector machine (SVM) model, a decision tree model, a Naive Bayesian Model, a random forest model, or a Restricted Boltzmann Machine (RBM) , a Gradient Boosting Decision Tree (GBDT) model, a LambdaMART model, an adaptive boosting model, a recurrent neural network (RNN) model, a  convolutional network model, a hidden Markov model, a perceptron neural network model, a Hopfield network model, or the like, or any combination thereof. In some embodiments, the pick-up location recommendation model may be a GBDT model. The pick-up location recommendation model may be trained to determine the transition probability for each potential pick-up location based on the extracted feature data input into the pick-up location recommendation model. Detailed descriptions regarding the training of the pick-up location recommendation model may be disclosed elsewhere, for example, FIG. 7 and the descriptions thereof.
In some embodiments, a largest transition probability may be identified from the determined transition probabilities, and the potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user. Merely by ways of example, all the determined transition probabilities may be ranked according to the value of the transition probabilities, for example, in a descending order, and a potential pick-up location that has the largest transition probability may be designated as the recommended pick-up location for the user. In some embodiments, more than one potential pick-up locations corresponding to top transition probabilities may be identified and recommended to the user for selection.
In 650, the recommended pick-up location may be transmitted to a terminal device of the user. In some embodiments, the recommended pick-up location may be transmitted by the I/O module 430 or the communication module 440 over the network 150.
In some embodiments, the recommended pick-up location may be displayed on a user interface of the on-demand service application (such as an online car-hailing service application) installed in the terminal device of the user (e.g., the user terminal 130) . Merely for illustration purposes, the recommended  pick-up location may be displayed in a digital map including the current location of the user, and a walking navigation from the current location of the user to the recommended pick-up location may be provided. The user may also be allowed to adjust the recommended pick-up location manually, for example, by dragging an icon representing the recommended pick-up location to another location on the map.
It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. For example, the obtained data, the extracted feature data, the determined transition probabilities and/or the recommended pick-up location may be stored in a storage device capable of storing data in the pick-up commendation system 100. However, these variations and modifications fall in the scope of the present disclosure.
FIG. 7 is a flowchart illustrating an example process for training a pick-up location recommendation model according to some embodiments of the present disclosure. In some embodiments, the process 700 shown in FIG. 7 may be implemented in the pick-up recommendation system 100 illustrated in FIG. 1. For example, at least a part of the process 700 may be stored in a storage medium (e.g., the DISK 270 of the computing device 200) as a form of instructions, and invoked and/or executed by the server 110 (e.g., the processor 220 of the computing device 200, the processing module 420, or the model traning unit 520 modules illustrated in FIG. 4) . In some embodiments, a part of the process 700 may be implemented on a terminal device. The operations of the illustrated process 700 presented below are intended to be illustrative. In some embodiments, the process 700 may be accomplished with one or more  additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 700 as illustrated in FIG. 7 and described below is not intended to be limiting.
In 710, a number of historical orders may be extracted randomly. The historical orders may be on-demand service orders. In some embodiments, the historical orders may be car-hailing service orders. The car-hailing service orders may include carpooling orders, vanpooling service orders, express service orders, chauffeuring service orders, taxi hailing orders, shared vehicle dispatching orders, etc.
In some embodiments, the randomly extracted historical orders may be orders placed by at least one user (e.g., passenger) . The historical orders may be placed and fulfilled, by the at least one user, during a past time period, for example, last week, last month, last year, etc. For example, historical orders placed by two hundred users in a time period from March 1, 2019 to May 1, 2019 may be obtained to train the pick-up location recommendation model.
In some embodiments, the historical orders may be randomly extracted from a storage device, for example, the storage 160, the RAM 240, the DISK 270, the storage 390, or other storage devices capable of storing data. For example, car-hailing service orders of different types may be randomly extracted from a the storage 160 over the network 120. In some embodiments, the car-hailing service orders of different types may be extracted and mixed together to train a pick-up location recommendation model for recommending a pick-up location. In some embodiments, the extracted car-hailing service orders of different types may be used to train different pick-up location recommendation models separately for recommending a pick-up location for car-hailing service orders of each type.
In 720, positions of the users may be obtained from the extracted orders when the orders were placed to form a set of user locations, a set of training historical locations associated with each user location, and a set of training potential pick-up locations corresponding to the set of training historical locations. In some embodiments, operations for obtaining, from the extracted orders, positions of the users when the orders were placed to form the set of user locations, the set of training historical locations associated with each user location, and the set of training potential pick-up locations corresponding to the set of training historical locations may be the same as or similar to the operations in 610. The user location of the at least one user, the training historical locations, the training potential pick-up locations, training historical pick-up locations described below, and training historical orders described below may be similar to the current location of the user, the historical locations, the potential pick-up locations, the historical pick-up locations, and the historical orders, respectively, except that the user locations, the training historical locations, the training potential pick-up locations, the training historical pick-up locations, and training historical orders may be obtained from orders previously placed by at least one user and used to train the pick-up location recommendation model.
In some embodiments, order information of each extracted historical order may also be obtained. The order information of each extracted historical order may include an order number, a pick-up location, a user location, a destination, a departure time, an arrival time, an acceptable wait time, the number of passengers, luggage information, mileage information, whether to carry pets, user habit/preference (e.g., a vehicle type, a size of a trunk of a vehicle, a load of a vehicle, etc. ) , whether to accept car sharing and/or carpool, a price, a price raised by a consumer, a price adjusted by a service provider, a price adjusted by a system, a usage of coupons, a payment way (e.g., cash  payment, card payment, online payment, remittance payment, etc. ) , completion statuses of orders, or the like, or any combination thereof. In some embodiments, the order information may also include other order related information, such as weather conditions, environment conditions, road conditions (e.g., road closure due to security, road construction, or the like) , traffic conditions, or the like, or any combination thereof. In some embodiments, for each user, various types of positions of the user may be obtained from the order information of the extracted historical orders when the orders were placed.
In some embodiments, user locations of the at least one user may be obtained from the order information of the extracted orders. A user location of each of the at least one user may be determined by the terminal device of the user (e.g., the user terminal 130) using the positioning device 170 when a historical order was placed by the user. The user terminal 130 may be mobile phones with built-in global positioning system (GPS) modules, and the user location of the user may be determined by the built-in GPS modules.
In some embodiments, a set of training historical locations associated with each user location may be obtained. In some embodiments, an area within a second preset distance from each user location may be determined. The second preset distance may be determined by a technician, according to default settings of the pick-up location 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 may be extracted.
Taking a user location of a user as an example, a set of training historical orders of the user having positioned locations in an area within the second preset distance from the user location may be extracted. The positioned location may  be a location of the user provided by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170 when the user placed the training historical order. The positioned location may also be referred to as a training historical location. In some embodiments, the set of training historical locations may be obtained from the set of training historical orders. The set of training historical locations may be determined to be associated with the user location since the set of training historical locations are within the second preset distance from the user location. In some embodiments, order information of the training historical order may also include a training historical pick-up location. The training historical pick-up location refers to an actual pick-up location chosen by the user when the training historical order was placed and fulfilled. In some embodiments, a set of training potential pick-up locations corresponding to the set of training historical locations of the user may be obtained. For example, one or more training potential pick-up locations of a user may correspond to each of the set of training historical locations of the user. In some embodiments, the set of training potential pick-up locations corresponding to the set of training historical locations of the user may be determined according to a clustering algorithm and the set of training historical pick-up locations. Example clustering algorithms may include K-means clustering, mean shift clustering, density based spatial clustering of application with noise (DBSCAN) , graph community detection, agglomerate hierarchical clustering, Density Peak Cluster (DPC) algorithm, or the like, or any combination thereof.
In 730, training feature data may be extracted from the set of user locations, the set of training historical locations, and the set of training potential pick-up locations. The training feature data extracted in 730 may be used to train a preliminary pick-up location recommendation model. The preliminary pick-up location recommendation model may be stored in the storage 160 or  other storage devices capable of storing data (e.g., the RAM 240, the DISK 270, the storage 390, etc. ) . In some embodiments, the preliminary pick-up location recommendation model may be a GBDT model.
In some embodiments, operations for extracting training feature data from the set of user locations, the set of training historical locations, and the set of training potential pick-up locations in 730 may be similar to or the same as the operations for extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user in 620. Merely for illustration purposes, the feature data extracted from a user location of a user, a set of training historical locations associated with the user location, and a set of training potential pick-up locations corresponding to the set of training historical locations may include a training distance from the user location of the user to each training potential pick-up location, a training heat value of each training potential pick-up location, a training heat value of each link associated with training potential pick-up locations, a training heat value of each route associated with training potential pick-up locations, a training historical positioning ratio of each training potential pick-up location, or the like, or any combination thereof.
In some embodiments, the determination of the training distance from the user location of the user to each training potential pick-up location, the training heat value of each training potential pick-up location, the training heat value of each link associated with training potential pick-up locations, the training heat value of each route associated with training potential pick-up locations, and the training historical positioning ratio of each training potential pick-up location may be similar to or the same as the determination of the distance from the current location of the user to each potential pick-up location, the heat value of each  potential pick-up location, the heat value of each link associated with potential pick-up locations, the heat value of each route associated with potential pick-up locations, and the historical positioning ratio of each potential pick-up location described in 620.
For example, the training distance from the user location of the user to each training potential pick-up location may refer to a straight-line distance between the user location of the user and each training potential pick-up location. In some embodiments, geographic coordinates of the user location of the user and each training potential pick-up location may be provided by a terminal device (e.g., the user terminal 130) of the user using the positioning device 170. The training distance from the user location of the user to each training potential pick-up location may be determined based on the geographic coordinates of the user location of the user and each training potential pick-up location.
As another example, the training heat value of each training potential pick-up location may indicate a popularity of each training potential pick-up location with respect to the set of training potential pick-up locations associated with the user location of the user. In some embodiments, the training heat value of a training potential pick-up location may be determined based on the number of training historical orders including the training potential pick-up location, which corresponds to a certain training historical location.
As a further example, the training heat value of each link associated with training potential pick-up locations may indicate a popularity of the link with respect to training potential pick-up locations. In some embodiments, a link may include one or more training potential pick-up locations. In some embodiments, the training heat value of each link associated with training potential pick-up locations may be determined based on training heat values of training potential pick-up locations associated with the link. In some embodiments, the training  heat value of each link associated with training potential pick-up locations may be a sum of training heat values of training potential pick-up locations associated with the link.
As a further example, the training heat value of each route associated with training potential pick-up locations may be determined based on training heat values of training potential pick-up locations on the route or training heat values of links on the route.
As still a further example, the training historical positioning ratio of each training potential pick-up location may indicate a probability that a user chooses a training potential pick-up location as an actual pick-up location with respect to the set of training potential pick-up locations associated with the user location of the user. In some embodiments, the training historical positioning ratio of each training potential pick-up location be a ratio of the number of training historical orders including the training potential pick-up location to a total number of training historical orders.
In 740, a training transition probability from each user location to each corresponding training potential pick-up location may be determined. The training transition probability herein refers to a conditional probability for transiting from a given state (e.g., a user location) to another state (e.g., a training potential location) in a Markov chain. In some embodiments, determination of the training transition probability may be similar to or the same as the determination of the transition probability described in 630.
In some embodiments, a training transition probability from a user location of a user to a training potential pick-up location may be represented by a ratio of a training heat value of training potential pick-up location corresponding to a training historical location associated with the user location of the user while factoring in a weight of the training potential pick-up location to a sum of training  heat values of all training potential pick-up locations corresponding to training historical locations associated with the user location of the user while factoring in their respective weights. In some embodiments, the weight of the training potential pick-up location may relate to a distance from the user location of the user to a training historical location corresponding to the training potential pick-up location.
In 750, each training potential pick-up location may be labelled with its corresponding training transition probability. In some embodiments, the pick-up location recommendation model may be a supervised learning model. The extracted feature data may include exemplary inputs for the pick-up location recommendation model and labels that indicate desired outputs (i.e., training transition probabilities) corresponding to the exemplary inputs. The process for training the supervised learning model may enable the pick-up location recommendation model to learn a general rule that maps inputs to corresponding outputs. Exemplary algorithms that may be used to train the pick-up location recommendation model may include a gradient boosting decision tree (GBDT) algorithm, a decision tree algorithm, a Random Forest algorithm, a logistic regression algorithm, a support vector machine (SVM) algorithm, a Naive Bayesian algorithm, an AdaBoost algorithm, a K-a nearest neighbor (KNN) algorithm, a Markov Chains algorithm, or the like, or any combination thereof.
In 760, the preliminary pick-up location recommendation model may be trained by inputting the labeled training potential pick-up locations to the model to obtain a trained pick-up location recommendation model.
In some embodiments, the pick-up location recommendation model may be trained in an iterative training process. During the iterative training process, parameters (e.g., a weight) of the pick-up location recommendation model may be updated. In some embodiments, the iterative training process may terminate  when a preset condition is satisfied. In some embodiments, the preset condition may relate to a restriction (e.g., a threshold) for an algorithm that when the algorithm satisfies the restriction, the iteration may terminate. For example, the algorithm may be a loss function. Merely for illustration, the iteration may terminate when the convergence of the loss function is reached in the training process of the pick-up location recommendation model. In some embodiments, the preset condition may include a maximum cycle of iterations (for example, ten cycles) to be performed, and when the maximum cycle of iterations are performed (i.e., the preset condition is satisfied) , the iteration may terminate. The maximum cycle may be set by a technician, according to default settings of pick-up location recommendation system 100, or a combination both.
In some embodiments, the trained pick-up location recommendation model may be transmitted to a server (e.g., a cloud server) , or one or more terminals (e.g., the mobile device 300) for pick-up location recommendation. In some embodiments, the trained pick-up location recommendation model may be saved to a storage device (e.g., storage 160) for storage.
FIG. 8 is a flow chart of an example process for determining a heat value of a potential pick-up location, a heat value of a link associated with potential pick-up locations, and a heat value of a route associated with potential pick-up locations according to some embodiments of the present disclosure. The operations of the illustrated process 800 presented below are intended to be illustrative. In some embodiments, the process 800 may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of the process 800 as illustrated in FIG. 8 and described below is not intended to be limiting.
In 810, a heat value of a potential pick-up location may be determined.  The heat value of each potential pick-up location may indicate a popularity of each potential pick-up location compared to the other potential pick-up locations. In some embodiments, the heat value of a potential pick-up location may be determined based on the number of historical orders using the potential pick-up location as the actual pick-up location, which corresponds to a certain historical location. In some embodiments, the heat value of a potential pick-up location pos_weight_p 1 may be the number of historical orders placed using the potential pick-up location p 1 as an actual pick-up location. The potential pick-up location p 1 may correspond to a historical location m n. The historical orders may be orders placed by the user during a past time period, for example, last week, last month, last year, etc.
For example, if the number of historical orders placed using a potential pick-up location p 1 as an actual pick-up location is 80, and the potential pick-up location p 1 corresponds to a historical location m n, the heat value of the potential pick-up location p 1 may be 80. As another example, if the number of historical orders placed using a potential pick-up location p 2 as an actual pick-up location is 110, and the potential pick-up location p 2 corresponds to the historical location m n, the heat value of the potential pick-up location p 2 may be 110.
In 820, a heat value of a link associated with a number of potential pick-up locations may be determined based on the number of potential pick-up locations on the link. In some embodiments, elements in a road network of a digital road map including the current location of the user, historical locations associated with the current location of the user, and one or more potential pick up locations corresponding to each historical locations may be determined. Example elements may include nodes, links, etc. A node generally refers to an intersection or a connection of roads in a road network, and a link generally refers to a road segment that connects two different nodes in a road network. In  some embodiments, a route from one place to another may include one or more links. For example, a route in Chang’an Street may be mapped to five links on the map by, e.g., manually annotated mapping. The five links may be connected one by one via its nodes to constitute the route in Chang’an Street. In some embodiments, a link may include one or more potential pick-up locations. The heat value of each link associated with the one or more potential pick-up locations may indicate a popularity of each link.
In some embodiments, the heat value of each link associated with potential pick-up locations may be determined based on heat values of potential pick-up locations associated with the link. In some embodiments, the heat value of each link associated with potential pick-up locations may be a sum of heat values of potential pick-up locations associated with the link. For example, a link including the potential pick-up location p 1 and the potential pick-up location p 2 may have a heat value of pos_weight_p 1 + pos_weight_p 2, i.e., 190.
In 830, a heat value of a route associated with potential pick-up locations may be determined based on a number of links on the route. The heat value of each route associated with potential pick-up locations may be determined based on heat values of potential pick-up locations on the route or heat values of links on the route. In some embodiments, the heat value of each route associated with potential pick-up locations may be a sum of heat values of links associated with potential pick-up locations on the route. For example, a route may include a first link and a second link. The first link includes potential pick-up locations p1 and p2 and the heat value of the first link (L1) may be pos_weight_p 1 + pos_weight_p 2. The second link includes potential pick-up locations p3 and p4 and the heat value of the second link (L2) may be pos_weight_p 3 + pos_weight_p 4. The heat value of the route therefore is a combination of L1 and L2, which equals to pos_weight_p 1 + pos_weight_p 2 + pos_weight_p 3 +  pos_weight_p 4.
In some embodiments, the heat value of each route associated with potential pick-up locations may be a sum of heat values of potential pick-up locations on the route. For example, a route including the potential pick-up location p 1, the potential pick-up location p 2 , a potential pick-up location p 3, and a potential pick-up location p 4 may have a heat value of pos_weight_p 1 + pos_weight_p 2 + pos_weight_p 3 + pos_weight_p 4.
FIG. 9 is a schematic diagram illustrating the relationship between a current location 910 of a user, a plurality of  historical locations  920, 930 associated with the current location, and one or more potential pick-up locations corresponding to each  historical locations  940, 945, 950, 955 according to some embodiments of the present disclosure. When a user opens an on-demand service application, a current location K of the user 910 may be determined. In some embodiments, the current location K of the user 910 may be determined by a terminal device of the user (e.g., the user terminal 130) using the positioning device 170, according to FIG. 1. In some embodiments, the terminal device of the user may be a mobile phone with a built-in global positioning system (GPS) module, and the current location of the user may be determined by the built-in GPS module.
After the current location K of the user 910 is obtained, a historic area within a first preset distance from the current location K of the user 910 may be determined. The first preset distance may be 20 meters, 50 meters, 100 meters, 150 meters, etc. A plurality of historical orders of the user having historical locations in the historic area within the first preset distance from the current location K 910 may be extracted from a storage medium storing the plurality of historical orders. For example, a first historical location m1 920 may be extracted from a first historical order placed by the user and a second  historical location m2 930 may be extracted from a second historical order placed by the user. The first historical location m1 920 and the second historical location m2 930 may be in the first preset distance from the current location K of the user 910. In the meanwhile, a first historical pick-up location p1’ and a second historical pick-up location p2’ (not shown in the figure) may be extracted from the first historical order and the second historical order, respectively.
Then one or more potential pick-up locations corresponding to each of the first historical location m1 920 and the second historical location m2 930 of the user may be obtained. As illustrated in FIG. 9, potential pick-up locations p11 940 and p12 945 corresponding to the first historical location m1 of the user and potential pick-up locations p21 950 and p22 955 corresponding to the second historical location m2 of the user may be determined. In some embodiments, the potential pick-up locations p11 and p12, may be determined according to the first historical pick-up location p1’, and the potential pick-up locations p21 and p22 may be determined according to the second historical pick-up location p2’, each using a clustering algorithm. Example clustering algorithms may include K-means clustering, mean shift clustering, density based spatial clustering of application with noise (DBSCAN) , graph community detection, agglomerate hierarchical clustering, Density Peak Cluster (DPC) algorithm, or the like, or any combination thereof.
Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be  suggested by this disclosure, and are within the spirit and scope of the example embodiments of this disclosure.
Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and “some embodiments” mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the present disclosure.
Further, it will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a “module, ” “unit, ” “component, ” “device, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any  suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS) .
Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through  various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software only solution, e.g., an installation on an existing server or mobile device.
Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claim subject matter lie in less than all features of a single foregoing disclosed embodiment.

Claims (23)

  1. A system, comprising:
    at least one storage device storing a set of instructions; and
    at least one processor configured to communicate with the at least one storage device, wherein when executing the set of instructions, the at least one processor is directed to perform operations including:
    obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user;
    extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user;
    inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and
    determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
  2. The system of claim 1, further comprising:
    transmitting the recommended pick-up location to a terminal device of the user.
  3. The system of claim 1 or 2, wherein the plurality of historical locations may be within a preset distance from the current location of the user.
  4. The system of any one of claims 1-3, wherein the extracted feature data includes
    a distance from the current location of the user to each potential pick-up locations,
    a heat value of each potential pick-up location,
    a heat value of each link associated with potential pick-up locations,
    a heat value of each route associated with potential pick-up locations, or
    a historical positioning ratio of each potential pick-up location, wherein the historical positioning ratio is a ratio of the number of orders associated with the potential pick-up location and the number of orders associated with all potential pick-up locations.
  5. The system of claim 4, further comprising determining at least one of
    the heat value of each potential pick-up location based on the number of historical orders using the potential pick-up location as an actual pick-up location,
    the heat value of each link associated with potential pick-up locations based on the heat values of potential pick-up locations on the link, and
    the heat value of each route associated with potential pick-up locations based on the heat values of potential pick-up locations on the route.
  6. The system of any one of claims 1-5, wherein the pick-up location recommendation model comprises a gradient boost decision tree (GBDT) model.
  7. The system of any one of claims 1-6, further comprising training the pick-up location recommendation model by:
    randomly extracting a number of historical orders placed by at least one user;
    obtaining from the extracted orders placed,
    positions of the users when the order were placed to form a set of  user locations,
    a set of training historical locations associated with each user location, and
    a set of training potential pick-up locations 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 potential pick-up locations;
    determining a training transition probability from each user location to each training potential pick-up location;
    labeling each training potential pick-up location with its corresponding training transition probability; and
    training a preliminary pick-up location recommendation model by inputting the labeled training potential pick-up locations to the model to obtain a trained pick-up location recommendation model.
  8. The system of any one of claims 1-7, further comprising adding the heat values associated with the historical location corresponding to the potential pick-up locations while factoring in its respective weight to determine the transition probability.
  9. The system of claim 8, wherein the weight is a distance between the current location of the user and the historical location.
  10. The system of any one of claims 1-9, wherein determining the recommended pick-up location based on the determined transition probabilities comprising:
    identifying a largest transition probability from the determined transition probabilities; and
    designating the potential pick-up location that has the largest transition probability as the recommended pick-up location for the user.
  11. The system of any one of claims 1-10, wherein the one or more potential pick-up locations corresponding to each of the plurality of historical locations are determined based on historical pick-up locations and a clustering algorithm.
  12. A method implemented on a device having at least one computer-readable storage medium storing a set of instructions and at least one processor executing the set of instructions for recommending a pick-up location for a user, the method comprising:
    obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user;
    extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user;
    inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and
    determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
  13. The method of claim 12, further comprising:
    transmitting the recommended pick-up location to a terminal device of the user.
  14. The method of claim 12 or 13, wherein the plurality of historical locations may  be within a preset distance from the current location of the user.
  15. The method of any one of claims 12-14, wherein the extracted feature data includes
    a distance from the current location of the user to each potential pick-up locations,
    a heat value of each potential pick-up location,
    a heat value of each link associated with potential pick-up locations,
    a heat value of each route associated with potential pick-up locations, or
    a historical positioning ratio of each potential pick-up location, wherein the historical positioning ratio is a ratio of the number of orders associated with the potential pick-up location and the number of orders associated with all potential pick-up locations.
  16. The method of claim 15, further comprising determining at least one of
    the heat value of each potential pick-up location based on the number of historical orders using the potential pick-up location as an actual pick-up location,
    the heat value of each link associated with potential pick-up locations based on the heat values of potential pick-up locations on the link, and
    the heat value of each route associated with potential pick-up locations based on the heat values of potential pick-up locations on the route.
  17. The method of any one of claims 12-16, wherein the pick-up location recommendation model comprises a gradient boost decision tree (GBDT) model.
  18. The method of any one of claims 12-17, further comprising training the pick-up location recommendation model by:
    randomly extracting a number of historical orders placed by at least one user;
    obtaining from the extracted orders placed,
    positions of the users when the order were placed to form a set of user locations,
    a set of training historical locations associated with each user location, and
    a set of training potential pick-up locations 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 potential pick-up locations;
    determining a training transition probability from each user location to each training potential pick-up location;
    labeling each training potential pick-up location with its corresponding training transition probability; and
    training a preliminary pick-up location recommendation model by inputting the labeled training potential pick-up locations to the model to obtain a trained pick-up location recommendation model.
  19. The method of any one of claims 12-18, further comprising adding the heat values associated with the historical location corresponding to the potential pick-up locations while factoring in its respective weight to determine the transition probability.
  20. The method of claim 19, wherein the weight is a distance between the current location of the user and the historical location.
  21. The method of any one of claims 12-20, wherein determining the recommended pick-up location based on the determined transition probabilities comprising:
    identifying a largest transition probability from the determined transition probabilities; and
    designating the potential pick-up location that has the largest transition probability as the recommended pick-up location for the user.
  22. The method of any one of claims 12-21, wherein the one or more potential pick-up locations corresponding to each of the plurality of historical locations are determined based on historical pick-up locations and a clustering algorithm.
  23. A non-transitory computer-readable storage medium including instructions, that, when accessed by at least one processor of a system, causes the system to perform a method, the method comprising:
    obtaining and storing a current location of the user, a plurality of historical locations associated with the current location of the user, and one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user;
    extracting feature data from the current location, the plurality of historical locations, and the one or more potential pick-up locations corresponding to each of the plurality of historical locations of the user;
    inputting the extracted feature data into a pick-up location recommendation model to determine a transition probability for each potential pick-up location; and
    determining a recommended pick-up location for the user based on the determined transition probability for each potential pick-up location.
PCT/CN2020/124869 2020-10-29 2020-10-29 Systems and methods for recommending pick-up location WO2022087971A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/124869 WO2022087971A1 (en) 2020-10-29 2020-10-29 Systems and methods for recommending pick-up location
CN202080106667.3A CN116457778A (en) 2020-10-29 2020-10-29 System and method for recommending get-on point

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/124869 WO2022087971A1 (en) 2020-10-29 2020-10-29 Systems and methods for recommending pick-up location

Publications (1)

Publication Number Publication Date
WO2022087971A1 true WO2022087971A1 (en) 2022-05-05

Family

ID=81381722

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/124869 WO2022087971A1 (en) 2020-10-29 2020-10-29 Systems and methods for recommending pick-up location

Country Status (2)

Country Link
CN (1) CN116457778A (en)
WO (1) WO2022087971A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170059347A1 (en) * 2015-08-28 2017-03-02 Google Inc. Determining Improved Pick-Up Locations
CN109313846A (en) * 2017-03-02 2019-02-05 北京嘀嘀无限科技发展有限公司 System and method for recommending to get on the bus a little
CN109325185A (en) * 2018-07-16 2019-02-12 北京三快在线科技有限公司 A kind of determination is got on the bus method, apparatus, equipment and storage medium a little
US20200124427A1 (en) * 2018-10-22 2020-04-23 International Business Machines Corporation Determining a pickup location for a vehicle based on real-time contextual information
CN111652676A (en) * 2020-05-22 2020-09-11 汉海信息技术(上海)有限公司 Method, device and equipment for recommending boarding points and storage medium
CN111832789A (en) * 2019-09-24 2020-10-27 北京嘀嘀无限科技发展有限公司 Position determination method, model training method, device, equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170059347A1 (en) * 2015-08-28 2017-03-02 Google Inc. Determining Improved Pick-Up Locations
CN109313846A (en) * 2017-03-02 2019-02-05 北京嘀嘀无限科技发展有限公司 System and method for recommending to get on the bus a little
CN109325185A (en) * 2018-07-16 2019-02-12 北京三快在线科技有限公司 A kind of determination is got on the bus method, apparatus, equipment and storage medium a little
US20200124427A1 (en) * 2018-10-22 2020-04-23 International Business Machines Corporation Determining a pickup location for a vehicle based on real-time contextual information
CN111832789A (en) * 2019-09-24 2020-10-27 北京嘀嘀无限科技发展有限公司 Position determination method, model training method, device, equipment and storage medium
CN111652676A (en) * 2020-05-22 2020-09-11 汉海信息技术(上海)有限公司 Method, device and equipment for recommending boarding points and storage medium

Also Published As

Publication number Publication date
CN116457778A (en) 2023-07-18

Similar Documents

Publication Publication Date Title
US10989548B2 (en) Systems and methods for determining estimated time of arrival
US10948301B2 (en) Systems and methods for recommending an estimated time of arrival
US20200011692A1 (en) Systems and methods for recommending an estimated time of arrival
US11631027B2 (en) Systems and methods for allocating service requests
US11546729B2 (en) System and method for destination predicting
US11079244B2 (en) Methods and systems for estimating time of arrival
WO2018214361A1 (en) Systems and methods for improvement of index prediction and model building
WO2018227325A1 (en) Systems and methods for determining an estimated time of arrival
WO2018209551A1 (en) Systems and methods for determining an estimated time of arrival
WO2021012342A1 (en) Systems and methods for traffic prediction
WO2019109604A1 (en) Systems and methods for determining an estimated time of arrival for online to offline services
WO2021012244A1 (en) Systems and methods for order dispatching
WO2019232773A1 (en) Systems and methods for abnormality detection in data storage
WO2022087971A1 (en) Systems and methods for recommending pick-up location
WO2022126354A1 (en) Systems and methods for obtaining estimated time of arrival in online to offline services
WO2020164161A1 (en) Systems and methods for estimated time of arrival (eta) determination
WO2022087767A1 (en) Systems and methods for recommending pick-up locations
WO2020243963A1 (en) Systems and methods for determining recommended information of service request

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20959134

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202080106667.3

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20959134

Country of ref document: EP

Kind code of ref document: A1