WO2022087767A1 - Systems and methods for recommending pick-up locations - Google Patents

Systems and methods for recommending pick-up locations Download PDF

Info

Publication number
WO2022087767A1
WO2022087767A1 PCT/CN2020/123554 CN2020123554W WO2022087767A1 WO 2022087767 A1 WO2022087767 A1 WO 2022087767A1 CN 2020123554 W CN2020123554 W CN 2020123554W WO 2022087767 A1 WO2022087767 A1 WO 2022087767A1
Authority
WO
WIPO (PCT)
Prior art keywords
sample
location
pick
candidate pick
service order
Prior art date
Application number
PCT/CN2020/123554
Other languages
French (fr)
Inventor
Jiantao YANG
Minghui HE
Weihuan SHU
Li Ma
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/123554 priority Critical patent/WO2022087767A1/en
Publication of WO2022087767A1 publication Critical patent/WO2022087767A1/en

Links

Images

Classifications

    • 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

Definitions

  • the present disclosure generally relates to Online to Offline (O2O) services, and more specifically, to methods and systems for recommending a pick-up location for an O2O service order.
  • O2O Online to Offline
  • O2O services such as an online car hailing service and a delivery service
  • a service requester e.g., a passenger
  • the service system usually needs to recommend a pick-up location for a service provider (e.g., a driver) to pick up the service requester or an object of the service requester.
  • the recommended pick-up location may be determined based on a start location (or a point of interest (POI) ) inputted by the service requester.
  • POI point of interest
  • the service system may retrieve a location whose name matches the start location from a location database, and determine the location as a recommended pick-up location for the service requester.
  • the start location may be a faceted area (e.g., a school, a market, a park, a housing estate) , and there may be a plurality of locations inside, at, or outside a boundary of the start location that can be served as a recommended pick-up location.
  • a location that is at or near the boundary of the start location is more suitable to serve as a recommended pick-up location because the location at or near the boundary is easier to identify and more convenient for the service provider to pick up the service requester. Therefore, it is desirable to provide systems and methods for determining a pick-up location by taking a relative position of the pick-up location to the boundary of the start location into consideration, thus improving service efficiency of the service system and user experience.
  • a system for pick-up location recommendation may include at least one storage medium including a set of instructions and at least one processor in communication with the at least one storage medium.
  • the at least one processor may be configured to direct the system to perform the following operations.
  • the at least one processor may be configured to direct the system to receive a start location of a service order from a requester terminal, and determine a plurality of candidate pick-up locations around the start location base on a location information database. Each candidate pick-up location may have a relative position to a boundary of the start location.
  • the at least one processor may be configured to direct the system to determine one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, wherein an input of the pick-up location recommendation model at least includes the relative positions of the candidate pick-up locations to the boundary of the start location.
  • the at least one processor may be further configured to direct the system to transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
  • the at least one processor may be further configured to direct the system to obtain a relevance score of each candidate pick-up location with respect to the service order by applying the pick-up location recommendation model to the plurality of candidate pick-up locations, and determine the one or more recommended pick-up locations among the plurality of candidate pick-up locations based on the relevance score of each candidate pick-up location.
  • the pick-up location recommendation model may be trained according to a training process.
  • the training process may include obtaining a plurality of sample service orders, .
  • Each sample service order may include a sample start location and a sample pick-up location.
  • the training process may include determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database.
  • Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location.
  • the training process may include determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. For each of the plurality of sample service orders, the training process may also include generating a training sample corresponding to the sample service order.
  • the training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
  • the training process may further include generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • the location information database may store a plurality of historical pick-up locations in a preset region.
  • the determining the at least one sample candidate pick-up location of the sample service order may include selecting at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order among the plurality of historical pick-up locations in the location information database, and designating the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
  • the determining the sample relevance score of each sample candidate pick-up location of a sample service order may include, for the each sample candidate pick-up location of the sample service order, determining whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point based on the sample relative position of the sample candidate pick-up location to the boundary of the corresponding sample start location.
  • the determining the sample relevance score of each sample candidate pick-up location of a sample service order may also include determining the sample relevance score of the sample candidate pick-up location based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
  • the determining the sample relevance score of each sample candidate pick-up location of the sample service order may include, for the each sample candidate pick-up location of the sample service order, determining a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order, and determining the sample relevance score of the sample candidate pick-up location based on the first distance and the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
  • the generating the pick-up location recommendation model by training the preliminary model using the training samples may include, for each training sample, determining a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location, and performing one or more iterations to train the preliminary model.
  • Each current iteration of the one or more iterations may include, for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the preliminary model in the current iteration to the training sample, and determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample.
  • Each current iteration of the one or more iterations may also include determining whether a termination condition is satisfied in the current iteration based on the value of the loss function, and in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
  • the determining the value of the loss function may include, for the each training sample, determining a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position, and determining the value of the loss function based on the normalized DCG of the each training sample.
  • the normalized DCG may incorporate a weight of each corresponding sample candidate pick-up location. The weight of the each corresponding sample candidate pick-up location may be associated with the sample relevance score of the corresponding sample candidate pick-up location.
  • the preliminary model may include a LambdaMart model.
  • a system for generating a pick-up location recommendation model may include at least one storage medium storing a set of instructions, and at least one processor in communication with the at least one storage medium.
  • the at least one processor may be configured to direct the system to perform the following operations.
  • the at least one processor may be configured to direct the system to obtain a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location.
  • the at least one processor may be configured to direct the system to determine at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database.
  • Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location.
  • the at least one processor may be configured to direct the system to determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
  • the at least one processor may be configured to direct the system to generate a training sample corresponding to the sample service order and generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • the training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
  • the location information database may store a plurality of historical pick-up locations in a preset region.
  • the at least one processor may be further configured to direct the system to select at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order among the plurality of historical pick-up locations in the location information database, and designate the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
  • the at least one processor may be further configured to direct the system to, for the each sample candidate pick-up location of the sample service order, determine whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point based on the sample relative position of the sample candidate pick-up location to the boundary of the corresponding sample start location, and determine the sample relevance score of the sample candidate pick-up location based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
  • the at least one processor may be further configured to direct the system to, for the each sample candidate pick-up location of the sample service order, determine a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order, and determine the sample relevance score of the sample candidate pick-up location based on the first distance and the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
  • the at least one processor may be further configured to direct the system to, for each training sample, determine a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location, and perform one or more iterations to train the preliminary model.
  • Each current iteration of the one or more iterations may include, for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the preliminary model in the current iteration to the training sample, and determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample.
  • Each current iteration of the one or more iterations may also include determining whether a termination condition is satisfied in the current iteration based on the value of the loss function, and in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
  • each current iteration of the one or more iterations may further include, for the each training sample, determining an NDCG of the corresponding predicted ranking result at a preset rank position, and determining the value of the loss function based on the normalized DCG of the each training sample.
  • the normalized DCG may incorporate a weight of each corresponding sample candidate pick-up location.
  • the weight of the each corresponding sample candidate pick-up location may be associated with the sample relevance score of the corresponding sample candidate pick-up location.
  • each current iteration may further include in response to a determination that the termination condition is not satisfied in the current iteration, updating the preliminary model in the current iteration according to the value of the loss function, and designating the updated preliminary model in the current iteration as a preliminary model in a next iteration.
  • the preliminary model may include a LambdaMart model.
  • a sample start location of a sample service order of the plurality of sample service orders may be a faceted area.
  • the training sample corresponding to the sample service order may further include one or more features of each corresponding sample candidate pick-up location.
  • the one or more features of a corresponding sample candidate pick-up location may include at least one of a distance between the sample candidate pick-up location to a central point of the faceted area, a shortest distance between the sample candidate pick-up location to the boundary of the faceted area, a distance between the sample candidate pick-up location to a representative location of the faceted area, a distance between the sample candidate pick-up location to a location of a user who initiated the sample service order, or information related to a road where the sample candidate pick-up location locates.
  • a method implemented on a computing device having at least one processor and at least one storage device for pick-up location recommendation may include receiving a start location of a service order from a requester terminal, and determining a plurality of candidate pick-up locations around the start location base on a location information database. Each candidate pick-up location may have a relative position to a boundary of the start location.
  • the method may also include determining one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, and transmitting the one or more recommended pick-up locations to the requester terminal for recommendation.
  • An input of the pick-up location recommendation model at least may include the relative positions of the candidate pick-up locations to the boundary of the start location.
  • a method implemented on a computing device having at least one processor and at least one storage device for generating a pick-up location recommendation model may include obtaining a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location. For each of the plurality of sample service orders, the method may also include determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, and for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
  • Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location.
  • the method may further include generating a training sample corresponding to the sample service order, and generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • the training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
  • a non-transitory computer readable medium including a set of instructions for generating a pick-up location recommendation model.
  • the set of instructions may direct the at least one processor to effectuate a method.
  • the method may include obtaining a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location.
  • the method may also include determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, and for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
  • Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location.
  • the method may further include generating a training sample corresponding to the sample service order, and generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • the training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
  • a system for generating a pick-up location recommendation model may include an obtaining module, a sample candidate pick-up location determination module, a relevance score determination module, a training sample generation module, and a model generation module.
  • the obtaining module may be configured to obtain a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location.
  • the sample candidate pick-up location determination module may be configured to, for each of the plurality of sample service orders, determine at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location.
  • the relevance score determination module may be configured to, for each sample candidate pick-up location of each sample service order, determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
  • the training sample generation module may be configured to generate a training sample corresponding to the sample service order.
  • the training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
  • the model generation module may be configured to generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • a non-transitory computer readable medium including a set of instructions for pick-up location recommendation.
  • the set of instructions may direct the at least one processor to effectuate a method.
  • the method may include receiving a start location of a service order from a requester terminal, and determining a plurality of candidate pick-up locations around the start location base on a location information database. Each candidate pick-up location may have a relative position to a boundary of the start location.
  • the method may also include determining one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, and transmitting the one or more recommended pick-up locations to the requester terminal for recommendation.
  • An input of the pick-up location recommendation model at least may include the relative positions of the candidate pick-up locations to the boundary of the start location.
  • a system for pick-up location recommendation may include a receiving module, a candidate pick-up location determination module, a recommended pick-up location determination module, and a transmission module.
  • the receiving module may be configured to receive a start location of a service order from a requester terminal.
  • the candidate pick-up location determination module may be configured to determine a plurality of candidate pick-up locations around the start location base on a location information database, each candidate pick-up location having a relative position to a boundary of the start location.
  • the recommended pick-up location determination module may be configured to determine one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations.
  • An input of the pick-up location recommendation model at least may include the relative positions of the candidate pick-up locations to the boundary of the start location.
  • the transmission module may be configured to transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
  • FIG. 1 is a schematic diagram illustrating an exemplary O2O service system according to some embodiments of the present disclosure
  • FIG. 2 is a schematic diagram illustrating exemplary hardware and/or software components of a computing device according to some embodiments of the present disclosure
  • FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of a mobile device according to some embodiments of the present disclosure
  • FIG. 4A is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure.
  • FIG. 4B is a block diagram illustrating another exemplary processing device according to some embodiments of the present disclosure.
  • FIG. 5 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model according to some embodiments of the present disclosure
  • FIG. 6 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model by training a preliminary model according to some embodiments of the present disclosure.
  • FIG. 7 is a flowchart illustrating an exemplary process for determining one or more pick-up locations for a service order using a pick-up location recommendation model according to some embodiments of the present disclosure.
  • the flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood that the operations of the flowchart may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
  • the system and method in the present disclosure is described primarily in regard to pick-up location recommendation in a transportation system, it should also be understood that the present disclosure is not intended to be limiting.
  • the system or method of the present disclosure may be applied to any other kind of services.
  • the system or method of the present disclosure may be applied to transportation systems of different environments including land, ocean, aerospace, or the like, or any combination thereof.
  • the vehicle of the transportation systems may include a taxi, a private car, a carpool, a bus, a train, a bullet train, a high speed rail, a subway, a vessel, an aircraft, a spaceship, a hot-air balloon, a driverless vehicle, or the like, or any combination thereof.
  • the transportation system may also include any transportation system for management and/or distribution, for example, a system for sending and/or receiving an express.
  • the application of the system or method of the present disclosure may be implemented on a user device and include a webpage, a plug-in of a browser, a client terminal, a custom system, an internal analysis system, an artificial intelligence robot, or the like, or any combination thereof.
  • passenger " “requester, “ “service requester, “ “customer” and “user” in the present disclosure are used interchangeably to refer to an individual, an entity, or a tool that may request or order a service.
  • driver “ “provider, “ and “service provider” in the present disclosure are used interchangeably to refer to an individual, an entity, or a tool that may provide a service or facilitate the providing of the service.
  • service request “ “request for a service, “ “requests, “ and “order” in the present disclosure are used interchangeably to refer to a request that may be initiated by a passenger, a service requester, a customer, a driver, a provider, a service provider, or the like, or any combination thereof.
  • the service request may be accepted by any one of a passenger, a service requester, a customer, a driver, a provider, or a service provider.
  • the service request may be chargeable or free.
  • service provider terminal “provider terminal, ” and “driver terminal” in the present disclosure are used interchangeably to refer to a mobile terminal that is used by a service provider to provide a service or facilitate the providing of the service.
  • service requester terminal “ “requester terminal, ” and “passenger terminal” in the present disclosure are used interchangeably to refer to a mobile terminal that is used by a service requester to request or order a service.
  • distance between two locations may refer to a linear distance between the two locations and/or or a route distance along a route between the two location.
  • the positioning technology used in the present disclosure may be based on a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a Galileo positioning system, a quasi-zenith satellite system (QZSS) , a wireless fidelity (WiFi) positioning technology, or the like, or any combination thereof.
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • COMPASS compass navigation system
  • Galileo positioning system Galileo positioning system
  • QZSS quasi-zenith satellite system
  • WiFi wireless fidelity positioning technology
  • An aspect of the present disclosure relates to systems and methods for generating a pick-up location recommendation model.
  • the systems and methods may obtain a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location. For each of the plurality of sample service orders, the systems and methods may determine at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location. For each sample candidate pick-up location of each sample service order, the systems and methods may determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
  • the systems and methods may also generate a training sample corresponding to each sample service order, wherein the training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
  • the systems and methods may also generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • the systems and methods may receive a start location of a service order from a requester terminal.
  • the systems and methods may also determine a plurality of candidate pick-up locations around the start location base on a location information database, each recommended pick-up location having a relative position to a boundary of the start location.
  • the systems and methods may also determine one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations.
  • the systems and methods may also transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
  • the pick-up location recommendation model may be generated by training a preliminary model using the plurality of training samples.
  • different sample candidate pick-up locations may have different sample relevance scores according to the sample relative position of each sample candidate pick-up location with respect to the boundary of the sample start location of the training sample.
  • the sample relevance score of a sample candidate pick-up location may be associated with one or more specific features of the sample candidate pick-up location, such as whether the sample candidate pick-up location is an edge point, a first distance between the sample candidate pick-up location and a corresponding sample pick-up location, or the like.
  • each sample candidate pick-up location of a training sample may be assigned with a weight according to the sample relevance score of the sample candidate pick-up location, and the weight may be incorporated into a loss function and have an influence on the value of the loss function during the training of the preliminary model.
  • the one or more specific features may have a greater impact on the training of the preliminary model than other features of the training samples.
  • a higher sample relevance score and/or a higher weight may be assigned to a sample candidate pick-up location being an edge point than a sample candidate pick-up location being a non-edge point, such that the pick-up location recommendation model may be more likely to recommend a candidate pick-up location that is an edge point.
  • such pick-up location recommendation model may improve the efficiency of the O2O service system 100. For example, it is easier and more convenient for a service requester and/or a service provider to identify a candidate pick-up location which is an edge point recommended by the O2O service system 100. This may further facilitate the service process and reduce system load, for example, by avoiding an unnecessary communication between service requesters and service providers, reducing waiting time of service requesters and thereby reducing the whole service time.
  • the present disclosure may employ a machine-learning algorithm to learn a complex mapping between an input (e.g., one or more specific features of a sample candidate pick-up location, other features of a sample service order) and an output of interest (e.g., a recommended pick-up location, a ranking of a plurality of recommended pick-up locations) .
  • the pick-up location recommendation model may comprehensively consider different features of a service order to determine a suitable recommended pick-up location. This may further improve the efficiency of the O2O service system 100 by reducing, e.g., the processing time, the computational complexity and/or cost, etc.
  • FIG. 1 is a schematic diagram illustrating an exemplary O2O service system 100 according to some embodiments of the present disclosure.
  • the O2O service system 100 may provide one or more types of O2O services.
  • Exemplary O2O services may include a transportation service (e.g., a taxi-hailing service, a chauffeur service, an express car service, a luxury car service, a premium car, a carpool service, a bus service, a driver hire service, and a shuttle service) , a meal delivery service, a delivery service, a shopping service, or the like, or any combination thereof.
  • a transportation service e.g., a taxi-hailing service, a chauffeur service, an express car service, a luxury car service, a premium car, a carpool service, a bus service, a driver hire service, and a shuttle service
  • a meal delivery service e.g., a delivery service, a shopping service, or the like, or any combination thereof.
  • a transportation service e.g
  • the O2O service system 100 may include a processing device 110, a network 120, a requester terminal 130, a provider terminal 140, a vehicle 150, a storage device 160, and a navigation system 170.
  • the processing device 110 may process data and/or information related to the O2O service system 100 to perform one or more functions described in the present disclosure.
  • the processing device 110 may be a single server or a server group.
  • the server group may be centralized or distributed.
  • the processing device 110 may process a plurality of historical transportation orders to generate a plurality of training samples.
  • the processing device 110 may further generate a pick-up location recommendation model by training a model using the training samples.
  • the processing device 110 may apply the pick-up location recommendation model to determine one or more recommended pick-up locations for a target transportation order.
  • the training samples and/or the pick-up location recommendation model may be generated by a processing device, while the application of the pick-up location recommendation model may be performed on a different processing device.
  • the training samples and/or the pick-up location recommendation model may be generated by a processing device of a system different than the O2O service system 100 or a processing device different than the processing device 110 on which the application of pick-up location recommendation model is performed.
  • the training samples and/or the pick-up location recommendation model may be generated by a first system of a vendor who provides and/or maintains such a pick-up location recommendation model, while pick-up location recommendation based on the provided pick-up location recommendation model may be performed on a second system of a client of the vendor.
  • the application of the pick-up location recommendation model may be performed online in response to a request for pick-up location recommendation for a transportation order.
  • the training samples and/or the pick-up location recommendation model may be determined or generated offline.
  • the processing device 110 may be local to or remote from the O2O service system 100.
  • the processing device 110 may access information and/or data from one or more components (e.g., the requester terminal 130, the provider terminal 140, and/or the storage device 160) of the O2O service system 100 via the network 120.
  • the processing device 110 may be directly connected to one or more components (e.g., the requester terminal 130, the provider terminal 140, and/or the storage device 160) to access information and/or data.
  • the processing device 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 a combination thereof.
  • the processing device 110 may be implemented by a computing device 200 having one or more components as described in connection with FIG. 2.
  • the processing device 110 may include one or more processors (e.g., single-core processor (s) or multi-core processor (s) ) .
  • the processing device 110 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 microcontrol
  • the network 120 may facilitate exchange of information and/or data.
  • one or more components of the O2O service system 100 e.g., the processing device 110, the requester terminal 130, the provider terminal 140, the vehicle 150, the storage device 160, and the navigation system 170
  • the processing device 110 may receive a start location of a transportation order from the requester terminal 130 via the network 120.
  • the network 120 may be any type of wired or wireless network, or 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 O2O service system 100 may be connected to the network 120 to exchange data and/or information.
  • a service requester may be an owner of the requester terminal 130. In some embodiments, the owner of the requester terminal 130 may be someone other than the service requester. For example, an owner A of the requester terminal 130 may use the requester terminal 130 to transmit a service request for a service requester B or receive a service confirmation and/or information or instructions from the processing device 110.
  • a service provider may be a user of the provider terminal 140. In some embodiments, the user of the provider terminal 140 may be someone other than the service provider. For example, a user C of the provider terminal 140 may use the provider terminal 140 to receive a service request for a service provider D, and/or information or instructions from the processing device 110.
  • service requester and “requester terminal” may be used interchangeably, and “service provider” and “provider terminal” may be used interchangeably.
  • the provider terminal may be associated with one or more service providers (e.g., a night-shift service provider, or a day-shift service provider) .
  • the requester terminal 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, smart glasses, 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 assistant (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, augmented reality glasses, 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 TM Glasses, an Oculus Rift TM , a HoloLens TM , a Gear VR TM , etc.
  • the built-in device in the vehicle 130-4 may include an onboard computer, an onboard television, etc.
  • the requester terminal 130 may be a device with positioning technology for locating the position of the service requester and/or the requester terminal 130.
  • the provider terminal 140 may include a plurality of provider terminals 140-1, 140-2, ..., 140-n. In some embodiments, the provider terminal 140 may be similar to, or the same device as the requester terminal 130. In some embodiments, the provider terminal 140 may be customized to be able to implement the online on-demand transportation service. In some embodiments, the provider terminal 140 may be a device with positioning technology for locating the service provider, the provider terminal 140, and/or a vehicle 150 associated with the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may communicate with another positioning device to determine the position of the passenger, the requester terminal 130, the service provider, and/or the provider terminal 140.
  • the requester terminal 130 and/or the provider terminal 140 may periodically transmit the positioning information to the processing device 110.
  • the provider terminal 140 may also periodically transmit the availability status to the processing device 110.
  • the availability status may indicate whether a vehicle 150 associated with the provider terminal 140 is available to carry a passenger.
  • the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the processing device 110 every thirty minutes.
  • the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the processing device 110 each time the user logs into the mobile application associated with the online on-demand transportation service.
  • the provider terminal 140 may correspond to one or more vehicles 150.
  • the vehicles 150 may carry the service requester and travel to the destination.
  • the vehicles 150 may include a plurality of vehicles 150-1, 150-2, ..., 150-n.
  • One vehicle may correspond to one type of services (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, or a shuttle service) .
  • the storage device 160 may store data and/or instructions. In some embodiments, the storage device 160 may store data obtained from the requester terminal 130 and/or the provider terminal 140. In some embodiments, the storage device 160 may store data and/or instructions that the processing device 110 may execute or use to perform exemplary methods described in the present disclosure. For example, the storage device 160 may store information related to a plurality of historical transportation orders, such as a historical start location, a historical pick-up location, and a historical destination of each historical transportation order. As another example, the storage device 160 may store a plurality of recommended pick-up locations in a specific region.
  • the storage device 160 may include a mass storage device, a removable storage device, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof.
  • Exemplary mass storage devices may include a magnetic disk, an optical disk, solid-state drives, etc.
  • Exemplary removable storage devices may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc.
  • Exemplary volatile read-and-write memory may include a random-access memory (RAM) .
  • Exemplary 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.
  • Exemplary 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 device 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 storage device 160 may be connected to the network 120 to communicate with one or more components of the O2O service system 100 (e.g., the processing device 110, the requester terminal 130, or the provider terminal 140) .
  • One or more components of the O2O service system 100 may access the data or instructions stored in the storage device 160 via the network 120.
  • the storage device 160 may be directly connected to or communicate with one or more components of the O2O service system 100 (e.g., the processing device 110, the requester terminal 130, the provider terminal 140) .
  • the storage device 160 may be part of the processing device 110.
  • the navigation system 170 may determine information associated with an object, for example, one or more of the requester terminal 130, the provider terminal 140, the vehicle 150, etc.
  • the navigation system 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, or a current time.
  • the navigation system 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 satellite navigation system 170 may transmit the information mentioned above to the network 120, the requester terminal 130, the provider terminal 140, or the vehicle 150 via wireless connections.
  • information exchanging of one or more components of the O2O service system 100 may be initiated by way of requesting a service.
  • the object of the requested service 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 servicing 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 on 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 or component of the O2O service system 100 performs, the element may perform through electrical signals and/or electromagnetic signals.
  • a processor of the requester terminal 130 may generate an electrical signal encoding the request.
  • the processor of the requester terminal 130 may then transmit the electrical signal to an output port. If the requester terminal 130 communicates with the processing device 110 via a wired network, the output port may be physically connected to a cable, which further may transmit the electrical signal to an input port of the processing device 110.
  • the output port of the requester terminal 130 may be one or more antennas, which convert the electrical signal to electromagnetic signal.
  • a provider terminal 130 may receive an instruction and/or service request from the processing device 110 via electrical signal or electromagnet signals.
  • an electronic device such as the requester terminal 130, the provider terminal 140, and/or the processing device 110, when a processor thereof processes an instruction, transmits out an instruction, and/or performs an action, the instruction and/or action is conducted via electrical signals.
  • the processor retrieves or saves data from a storage medium, it may transmit out electrical signals to a read/write device of the storage medium, which may read or write 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. 1 the example illustrated in FIG. 1 and the description thereof are merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure.
  • multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure.
  • one or more components of the O2O service system 100 described above may be omitted.
  • the storage device 140 may be omitted.
  • FIG. 2 is a schematic diagram illustrating exemplary hardware and software components of a computing device 200 according to some embodiments of the present disclosure.
  • the computing device 200 may be used to implement any component of the O2O service system 100 as described herein.
  • requester terminal 130, the provider terminal 140, and/or the processing device 110 may be implemented on the computing device 200, respectively, via its hardware, software program, firmware, or a combination thereof.
  • the computer functions relating to the O2O service system 100 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 a communication bus 210, a processor 220, a storage device, an input/output (I/O) 260, and a communication port 250.
  • the processor 220 may execute computer instructions (e.g., program code) and perform functions of one or more components (e.g., the processing device 110) of the O2O service system 100in accordance with techniques described herein.
  • the computer instructions may include, for example, routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions described herein.
  • the processor 220 may include interface circuits and processing circuits therein.
  • the interface circuits may be configured to receive electronic signals from the communication 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 communication bus 210.
  • the processor 220 may include one or more hardware processors, 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
  • processor 220 is described in the computing device 200.
  • the computing device 200 in the present disclosure may also include multiple processors, thus operations and/or method operations that are performed by one processor as described in the present disclosure may also be jointly or separately performed by the multiple processors.
  • the processor of the computing device 200 executes both operation A and operation B
  • operation A and operation B may also be performed by two or more different processors jointly or separately in the computing device 200 (e.g., a first processor executes operation A and a second processor executes operation B, or the first and second processors jointly execute operations A and B) .
  • the storage device may store data/information related to the O2O service system 100.
  • the storage device may include a mass storage device, a removable storage device, a volatile read-and-write memory, a random access memory (RAM) 240, a read-only memory (ROM) 230, a disk 270, or the like, or any combination thereof.
  • the storage device may store one or more programs and/or instructions to perform exemplary methods described in the present disclosure.
  • the storage device may store a program for the processor 220 to execute.
  • the I/O 260 may input and/or output signals, data, information, etc. In some embodiments, the I/O 260 may enable a user interaction with the computing device 200. In some embodiments, the I/O 260 may include an input device and an output device. Examples of the input device may include a keyboard, a mouse, a touch screen, a microphone, or the like, or a combination thereof. Examples of the output device may include a display device, a loudspeaker, a printer, a projector, or the like, or a combination thereof.
  • Examples of the 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) , a touch screen, or the like, or a combination thereof.
  • LCD liquid crystal display
  • LED light-emitting diode
  • CRT cathode ray tube
  • the communication port 250 may be connected to a network (e.g., the network 120) to facilitate data communications.
  • the communication port 250 may establish connections between the computing device 200 and one or more components of the O2O service system 100.
  • 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 link, a mobile network link (e.g., 3G, 4G, 5G, etc.
  • the communication port 250 may be and/or include a standardized communication port, such as RS232, RS485, etc. In some embodiments, the communication port 250 may be a specially designed communication port.
  • FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of a mobile device 300 according to some embodiments of the present disclosure.
  • one or more components of the O2O service system 100 such as the requester terminal 130, the provider terminal 140 and/or the processing device 110 may be implemented on the mobile device 300.
  • the mobile device 300 may include a communication platform 310, a display 320, a graphics processing unit (GPU) 330, a central processing unit (CPU) 340, an I/O 350, a memory 360, 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.
  • a mobile operating system 370 e.g., iOS TM , Android TM , Windows Phone TM , etc.
  • the applications 380 may include a browser or any other suitable mobile apps for receiving and rendering information relating to the O2O service system 100.
  • User interactions with the information stream may be achieved via the I/O 350 and provided to one or more other components of the O2O service system 100 via the network 120.
  • computer hardware platforms may be used as the hardware platform (s) for one or more of the elements described herein.
  • a computer with user interface elements may be used to implement a personal computer (PC) or any other type of work station or terminal device.
  • PC personal computer
  • a computer may also act as a server if appropriately programmed.
  • FIG. 4A is a block diagram illustrating an exemplary processing device 110A according to some embodiments of the present disclosure.
  • FIG. 4B is a block diagram illustrating an exemplary processing device 110B according to some embodiments of the present disclosure.
  • the processing device may be configured to process information and/or data to generate a plurality of training samples.
  • the processing device 110A may be further configured to generate a pick-up location recommendation model using the plurality of training samples.
  • the processing device 110B may be configured to determine one or more pick-up locations for a service order using the pick-up location recommendation model.
  • the processing devices 110A and 110B may be respectively implemented on a processing unit (e.g., a processor 220 illustrated in FIG. 2 or a CPU 340 as illustrated in FIG.
  • a processing unit e.g., a processor 220 illustrated in FIG. 2 or a CPU 340 as illustrated in FIG.
  • the processing devices 110A may be implemented on a computing device 200, and the processing device 110B may be implemented on a CPU 340 of a terminal device.
  • the processing devices 110A and 110B may be implemented on a same computing device 200 or a same CPU 340.
  • the processing devices 110A and 110B may be implemented on a same computing device 200.
  • the processing device 110A may include an obtaining module 410, a sample candidate pick-up location determination module 420, a relevance score determination module 430, a training sample generation module 440, and a model generation module 450.
  • the obtaining module 410 may be configured to obtain a plurality of sample service orders.
  • Each sample service order may include a sample start location and a sample pick-up location.
  • a sample start location of a sample service order may refer to a start location of the sample service order where a service requester of the sample service order wanted and/or needed to start the sample service order.
  • the sample start location may be a spot location or a faceted area.
  • a sample pick-up location of a sample service order may refer to a pick-up location of the sample service order where a service provider of the sample service order picked up the service requester or an object of the service requester of the sample service order.
  • the obtaining module 410 may obtain the plurality of sample service orders from an external source and/or one or more components in a service system (e.g., the O2O service system 100) . More descriptions regarding the obtaining of the sample service orders may be found elsewhere in the present disclosure. See, e.g., 510 and the relevant descriptions thereof.
  • the sample candidate pick-up location determination module 420 may be configured to determine one or more sample candidate pick-up locations around the sample start location of a sample service order based on a first location information database. Each sample candidate pick-up location of a sample service order may have a sample relative position to a boundary of the sample start location of the sample service order.
  • the first location information database may refer to a database that stores information related to a plurality of historical pick-up locations in a specific region (e.g., a country or a city) .
  • the sample candidate pick-up location determination module 420 may determine the sample candidate pick-up location around the start location by retrieving the first location information database or by using a candidate pick-up location determination model. More descriptions regarding the determination of the sample candidate pick-up locations may be found elsewhere in the present disclosure. See, e.g., 520 and the relevant descriptions thereof.
  • the relevance score determination module 430 may be configured to determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
  • the sample relevance score of the sample candidate pick-up location may be associated with whether the sample candidate pick-up location is an edge point at the boundary of the sample start location or a non-edge point.
  • the sample relevance score of the sample candidate pick-up location may be determined based on a determination result as to whether the sample candidate pick-up location is an edge point at the boundary of the sample start location or a non-edge point and/or one or more other features (e.g., a first distance between the sample candidate pick-up location and the actual sample pick-up location of the sample service order) of the sample candidate pick-up location. More descriptions regarding the determination of the sample relevance score may be found elsewhere in the present disclosure. See, e.g., 530 and the relevant descriptions thereof.
  • the training sample generation module 440 may be configured to generate the training sample corresponding to a sample service order.
  • the training sample corresponding to a sample service order may include the sample start location, the sample pick-up location, the sample candidate pick-up location (s) , and the sample relevance score (s) of the sample candidate pick-up location (s) of the sample service order.
  • the training sample corresponding to the sample service order may include one or more other features of the sample service order. More descriptions regarding the generation of the training sample may be found elsewhere in the present disclosure. See, e.g., 540 and the relevant descriptions thereof.
  • the model generation module 450 may be configured to generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • the preliminary model may include or be any suitable machine learning model, such as a LambdaMart model.
  • the preliminary model may be trained according to a machine learning algorithm based on a loss function. More descriptions regarding the generation of the pick-up location recommendation model may be found elsewhere in the present disclosure. See, e.g., 550 and the relevant descriptions thereof.
  • the processing device 110B may include a receiving module 460, a candidate pick-up location determination module 470, a recommended pick-up location determination module 480, and a transmission module 490.
  • the receiving module 460 may be configured to receive a start location of a service order from a requester terminal.
  • the service order may be used to request for an O2O service.
  • the service order may be inputted by a requester of the requester terminal (e.g., a requester terminal 130) .
  • the start location may be a location where the service requester wants and/or needs to receive the requested O2O service. More descriptions regarding the receiving of the start location may be found elsewhere in the present disclosure. See, e.g., 710 and the relevant descriptions thereof.
  • the candidate pick-up location determination module 470 may be configured to determine a plurality of candidate pick-up locations around the start location base on a second location information database.
  • a candidate pick-up location may refer to a possible location where a service provider of the service order may pick up the service requester of the service order or an object of the service requester.
  • the start location may be a spot location or a faceted area.
  • each candidate pick-up location may have a relative position to a boundary of the start location.
  • the second location information database may be the same or similar database to the first location information database.
  • the determination of the candidate pick-up locations of the service order based on the second location information database may be performed in a similar manner with the determination of the sample candidate pick-up location of the sample service order based on the first location information database. More descriptions regarding the determination of the candidate pick-up locations may be found elsewhere in the present disclosure. See, e.g., 720 and the relevant descriptions thereof.
  • the recommended pick-up location determination module 480 may be configured to determine one or more recommended pick-up locations among the candidate pick-up locations by applying the pick-up location recommendation model to the candidate pick-up locations.
  • an input of the pick-up location recommendation model may include the relative positions of the candidate pick-up locations to the boundary of the start location, a determination result as to whether each candidate pick-up location is an edge point or a non-edge point, and one or more other features of the service order.
  • the pick-up location recommendation model may output a processing result (e.g., a ranking result of the candidate pick-up locations) or output the recommended pick-up location (s) .
  • the recommended pick-up location determination module 480 may determine the recommended pick-up location (s) based on the processing result. More descriptions regarding the determination of the recommended pick-up locations may be found elsewhere in the present disclosure. See, e.g., 730 and the relevant descriptions thereof.
  • the transmission module 490 may be configured to transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
  • the transmission module 490 may transmit the recommended pick-up location (s) to the requester terminal via the network 120 in real-time, and the requester terminal may display the recommended pick-up location (s) on the interface of the requester terminal to the service requester. More descriptions regarding the transmission of the recommended pick-up locations may be found elsewhere in the present disclosure. See, e.g., 740 and the relevant descriptions thereof.
  • two or more modules may be integrated into a single module to perform the functions thereof.
  • the determination module 410 and the receiving module 460 may be integrated into a single module to perform the functions thereof.
  • a module may be divided into a plurality of units.
  • FIG. 5 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model according to some embodiments of the present disclosure.
  • process 500 may be executed by the O2O service system 100.
  • the process 500 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) .
  • the processing device 110A e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more modules illustrated in FIG. 4A
  • the pick-up location recommendation model may be a model configured to receive a plurality of candidate pick-up locations around a start location of a service order, and output one or more recommended pick-up locations among the candidate pick-up locations and/or information related to the one or more recommended pick-up locations.
  • the service order may be initiated by a service requester via a requester terminal (e.g., a requester terminal 130) of the service requester.
  • the service order may be used to request an O2O service, such as a transportation service (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, a shuttle service) , a delivery service (e.g., a meal delivery service) , or the like, or any combination thereof.
  • a transportation service e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, a shuttle service
  • a delivery service e.g., a meal delivery service
  • the start location of the service order may refer to a location where the service requester wants and/or needs to receive the requested O2O service.
  • a recommended pick-up location may refer to a recommended location for a service provider to pick up the service requester or an object of the service provider to provide the requested O2O service.
  • a recommended pick-up location of a transportation service order may refer to a recommended location for a driver to pick up a passenger who initiates the transportation service order.
  • a recommended pick-up location of a delivery order may refer to a recommended location for a deliveryman to pick up an object of a service requester who initiates the delivery order.
  • the processing device 110A may obtain a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location.
  • the sample service orders may include a plurality of first historical service orders of a service system (e.g., the O2O service system 100) , which are used as sample data in training the pick-up location recommendation model.
  • the sample service orders may include all or a portion of a plurality of historical transportation services that were finished in a specific historical period (e.g., three months, half a year, a year, two years, etc. ) and/or within a preset region (e.g., a city, a district, a country) in a transportation service system.
  • Each sample service order i.e., each first historical service order
  • a sample start location of a sample service order may refer to a start location of the sample service order where a service requester of the sample service order wanted and/or needed to start the sample service order.
  • a sample pick-up location of a sample service order may refer to a pick-up location of the sample service order where a service provider of the sample service order picked up the service requester or an object of the service requester of the sample service order.
  • a sample start location of the sample transportation service order may refer to a start location of a passenger who initiated the sample transportation service order, wherein the start location may be inputted by the passenger or be a current location of the passenger when he/she initiated the sample transportation service order.
  • a sample pick-up location of the sample transportation service order may refer to a pick-up location where a driver of the sample transportation service order picked up the passenger.
  • a sample start location and/or a sample pick-up location of a sample service order may be represented by a location name and/or a geographic coordinate, respectively.
  • a sample start location of a sample service order may be a spot location or a faceted area.
  • a spot location may refer to a location (e.g., a crossroad, a stop, an exit, an entrance) that has an area size smaller than a first threshold size and corresponds to a spot or point in a map.
  • a faceted area may refer to a location (e.g., a school, a park, a market) that has an area size larger than a second threshold size and corresponds to an area having a certain size in a map.
  • the second threshold size may be equal to or different from the first threshold size.
  • a spot location may be represented by a location name and/or a geographic coordinate of the spot location.
  • a faceted area may be represented by a location name and/or a geographic coordinate of one or more points within faceted area.
  • a facet area may be represented by one or more geographic coordinates of one or more representative locations of the faceted area.
  • Exemplary representative locations of a faceted area may include a central location, an entrance, an exit, a gate, a parking place, a location close to a road (e.g., within a distance threshold to the road) , or any other location that can represent the faceted area, or any combination thereof.
  • the sample start location may have a boundary.
  • a boundary of a spot location may refer to the spot location itself.
  • a boundary of a faceted area may refer to a real or an imaginary line that represents an edge of the faceted area.
  • a boundary of a school having a fence enclosing the school may be a curve line that represents the fence.
  • a boundary of a building may be an imaginary circle enclosing the building.
  • a boundary of a faceted area may be represented by geographic coordinates of points at the boundary (or a portion of the points) .
  • the processing device 110A may obtain the plurality of sample service orders from an external source and/or one or more components in the O2O service system 100 (e.g., the request terminal 130 and/or the storage device 160) .
  • the processing device 110A may determine one or more sample candidate pick-up locations around the sample start location of the sample service order based on a first location information database.
  • Each sample candidate pick-up location of a sample service order may have a sample relative position to a boundary of the sample start location of the sample service order.
  • a sample candidate pick-up location L may refer to a possible location where a service provider of the sample service order O might pick up a service requester of the sample service order O or an object of the service requester.
  • the sample candidate pick-up location L may be a location near the sample start location S. For example, the distance between the sample candidate pick-up location L and the sample start location S may be smaller than a threshold distance T 1 .
  • each sample candidate pick-up location L may have a sample relative position to a boundary of the sample start location S.
  • a sample relative position of a sample candidate pick-up location L to the boundary of sample start location S may be represented by, for example, a second distance between the sample candidate pick-up location L and the boundary of the sample start location S, an orientation from the sample candidate pick-up location L to the sample start location S, whether the sample candidate pick-up location L is an edge point at the boundary of the sample start location S or a non-edge point, or the like, or any combination thereof.
  • the sample start location S is a spot location
  • each sample candidate pick-up location L may be regarded as a non-edge point out of the boundary of the spot location.
  • the second distance may be a distance between the sample candidate pick-up location L and any point (e.g., a point closest to or most far away from the sample candidate pick-up location L) at the boundary of the facet area.
  • a determination as to whether the sample candidate pick-up location L is an edge point at the boundary of the faceted area or a non-edge point may be associated with the second distance between the sample candidate pick-up location L and the boundary of the facet area.
  • an edge point at the boundary of the faceted area may refer to a sample candidate pick-up location L whose second distance to the boundary of the facet area is smaller than a threshold distance T 2 .
  • a non-edge point of the faceted area may refer to a sample candidate pick-up location L whose second distance to the boundary of the facet area is greater than the threshold distance T 2 .
  • the threshold distance T 2 may be any suitable values, such as but not limited to 1 meter, 5 meters, 10 meters, 20 meters, or the like.
  • the first location information database may refer to a database that stores information related to a plurality of historical pick-up locations in a specific region (e.g., a country or a city) .
  • the first location information database may be a local database in the O2O service system 100, for example, be a portion of the storage device 160.
  • the first location information database may be a remote database, such as a cloud database, which can be accessed by the processing device 110A via the network 120.
  • the historical pick-up locations stored in the first location information database may include historical pick-up locations of a plurality of second historical service orders of a service system (e.g., the O2O service system 100) .
  • the second historical service orders may include all or a portion of historical service orders that were finished in a historical period (e.g., three months, half a year, a year, two years, etc. ) in the service system.
  • the information related to a historical pick-up location may include position information (e.g., a coordinate) , information related to a road at which the historical pick-up location locates (e.g., a road type, a count of historical pick-up locations along the road, etc.
  • a number of times that the historical pick-up location has been used as a pick-up location one or more historical start locations corresponding to the historical pick-up location, a relative position of the historical pick-up location to a boundary of a corresponding historical start location, a relative position of the historical pick-up location to a representative location of a corresponding historical start location, or the like, or any combination thereof.
  • the historical start location A may be regarded as being corresponding to the historical pick-up location B.
  • the first location information database may store information of each historical pick-up location as a data point.
  • the first location information database may store a map of the specific region, and each historical pick-up location may be mapped to, for example, a road or a position at which the historical pick-up location locates in the map.
  • the first location information database may store a mapping table between the historical start locations and the historical pick-up locations of the second historical service orders.
  • the first location information database may store a plurality of records, each of which corresponds to a historical start location of the second historical service orders.
  • a record corresponding to a specific historical start location may include one or more historical pick-up locations corresponding to the specific historical start location, and information related each of the one or more historical pick-up locations (e.g., position information, a relative position of each of the one or more historical pick-up locations to a boundary and/or a representative location of the specific historical start location, and/or other information as described above) .
  • information related each of the one or more historical pick-up locations e.g., position information, a relative position of each of the one or more historical pick-up locations to a boundary and/or a representative location of the specific historical start location, and/or other information as described above.
  • the processing device 110A may determine the sample candidate pick-up location (s) L around the sample start location S by retrieving the first location information database. For example, the processing device 110A may select, among the plurality of historical pick-up locations in the first location information database, one or more historical pick-up locations within the threshold distance T 1 to the sample start location S. The processing device 110A may further designate the selected historical pick-up location (s) as the sample candidate pick-up location (s) L of the sample service order O. As another example, the first location information database may store a plurality of records corresponding to the historical start locations of the second historical service orders as described above.
  • the processing device 110A may determine a historical start location (denoted as H) that matches the sample start location S, e.g., a historical start location that is closest to the sample start location S among the historical start locations in the first location information database.
  • the processing device 110A may determine all or a portion of historical pick-up location (s) corresponding to the historical start location H as the sample candidate pick-up location (s) L of the sample service order O.
  • the processing device 110A may select a portion of the historical pick-up location (s) corresponding to the historical start location H as the sample candidate pick-up location (s) L, wherein a distance between each selected historical pick-up location and the sample start location S is within the threshold distance T 1 .
  • the sample candidate pick-up location (s) L of the sample service order O may be determined according to a candidate pick-up location determination model (also referred to as a pick-up location recall model) .
  • the candidate pick-up location determination model may be a rule model that defines one or more rules and/or algorithms for candidate pick-up location determination based on the first location information database.
  • Information related to the sample service order O e.g., the sample start location S
  • the candidate pick-up location determination model may output the sample candidate pick-up location (s) L and/or information related to each sample candidate pick-up location L (e.g., a sample relative position to a boundary of the sample start location S) .
  • the sample relative position of each sample candidate pick-up location L to the boundary of the sample start location S may be retrieved from the first location information database or determined based on position information of the each sample candidate pick-up location L and the sample start location S by the processing device 110A.
  • the processing device 110A may determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
  • a sample relevance score of a sample candidate pick-up location L with respect to the sample service order O is described as an instance.
  • a sample relevance score of the sample candidate pick-up location L may indicate a recommended degree for the sample candidate pick-up location L to be a pick-up location of the sample service order O.
  • a higher sample relevance score may indicate that the sample candidate pick-up location L is more recommended to be a pick-up location of the sample service order O.
  • the sample relevance score may be represented by, for example, a number, a level, a degree, a rating, or the like, or any combination thereof.
  • the sample relevance score may be represented by an integer in a range of [0, 2] or a fraction in a range of [0, 1] .
  • the sample relevance score may be represented by a plurality of relevance levels, e.g., a low level of relevance, a middle level of relevance, and a high level of relevance.
  • the sample relevance score may be expressed in rating, such as “A” , “AA” , “AAA” , wherein “AAA” indicates the highest rating of relevance, “AA” indicates the middle rating of relevance, and “A” indicates the lowest rating of relevance.
  • the sample relevance score of the sample candidate pick-up location L may be associated with whether the sample candidate pick-up location L is an edge point at the boundary of the sample start location S or a non-edge point. For example, a sample relevance score of an edge point may be higher than that of a non-edge point.
  • the processing device 110A may determine whether the sample candidate pick-up location L is an edge point or a non-edge point based on the sample relative position of the sample candidate pick-up location L to the boundary of the sample start location S.
  • the sample relative position may include whether the sample candidate pick-up location L is an edge point or a non-edge point.
  • the processing device 110A may directly retrieve the determination result as to whether the sample candidate pick-up location L is an edge point or a non-edge point from the sample relative position.
  • the sample relative position may include a second distance between the sample candidate pick-up location L and the sample start location S.
  • the processing device 110A may determine that the sample candidate pick-up location L is an edge point if the second distance is smaller than the threshold distance T 2 .
  • the processing device 110A may determine that the sample candidate pick-up location L is a non-edge point if the second distance is greater than the threshold distance T 2 .
  • the processing device 110A may determine the sample relevance score of the sample candidate pick-up location L based on a determination result as to whether the sample candidate pick-up location L is an edge point or a non-edge point (referred to as the determination result for brevity) . For example, a first sample relevance score may be assigned to the sample candidate pick-up location L if the sample candidate pick-up location L is an edge point, and a second sample relevance score may be assigned to the sample candidate pick-up location L if the sample candidate pick-up location L is a non-edge point. The second sample relevance score may be lower than the first sample relevance score.
  • the processing device 110A may determine the sample relevance score of the sample candidate pick-up location L based on the determination result in combination with one or more other features of the sample candidate pick-up location L.
  • Exemplary other features of the sample candidate pick-up location L may include a first distance between the sample candidate pick-up location L and the actual sample pick-up location P of the sample service order O, whether the sample candidate pick-up location L is located at a road, a closest distance from the sample candidate pick-up location L and a road, a distance between the sample candidate pick-up location L to a representative location of the sample start location S (if the sample start location S is a faceted area) , a distance between the sample candidate pick-up location L to a location of a user who initiated the sample service order O, or the like, or any combination thereof.
  • the processing device 110A may determine the first distance between the sample candidate pick-up location L and the sample pick-up location P based on position information of the sample candidate pick-up location L and the sample pick-up location P.
  • the processing device 110A may further determine the sample relevance score of the sample candidate pick-up location L based on the first distance and the determination result. For example, the processing device 110A may assign the first or second sample relevance score to the sample candidate pick-up location L according to the determination result.
  • the processing device 110A may further adjust the sample relevance score of the sample candidate pick-up location L by multiplying the sample relevance score with a coefficient, wherein the coefficient has a negative correlation with the first distance.
  • a third sample relevance score may be assigned to the sample candidate pick-up location L if the first distance is greater than a threshold distance T 3 and the sample candidate pick-up location L is a non-edge point.
  • a fourth sample relevance score may be assigned to the sample candidate pick-up location L if the first distance is smaller than the threshold distance T 3 and the sample candidate pick-up location L is the non-edge point.
  • a fifth sample relevance score may be assigned to the sample candidate pick-up location L if the first distance is smaller than the threshold distance T 3 and the sample candidate pick-up location L is an edge point.
  • the third sample relevance score may be smaller than the fourth sample relevance score, and the fourth sample relevance score may be smaller than the fifth sample relevance score.
  • the third, fourth, and fifth sample relevance scores may be 0, 1, and 2, respectively.
  • a value or a range of the sample relevance score of the sample candidate pick-up location L may be determined based on a mapping table or a correlation function.
  • the mapping table may record different determination results and a corresponding sample relevance score of each determination result, or different combinations of determination results and values (or ranges) of the first distance and a corresponding sample relevance score of each combination.
  • the correlation function may be a function between the sample relevance score, the determination result, and optionally the first distance.
  • the processing device 110A may determine the sample relevance score of the sample candidate pick-up location L by looking up the mapping table or solving the correlation function.
  • the sample relevance score may also be determined based on one or more other features (as described in 530) of the sampling candidate pick-up location other than the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point and/or the first distance.
  • the relevance may be determined based on a distance between the sample candidate pick-up location to a representative location of the faceted area.
  • the sample relevance score may also be determined based on a distance between the sample candidate pick-up location to a location of a user who initiated the sample service order.
  • a threshold distance (e.g., the threshold distances T 1 , T 2 , and/or T 3 ) described above may be a default parameter stored in a storage device (e.g., the storage device 160) or be set by a user of the O2O service system 100.
  • a threshold distance may be determined by one or more components in the O2O service system 100, such as but not limited to the processing engine 110A.
  • the value of a threshold distance may vary in different scenarios. Merely by way of example, a smaller threshold distance T 2 may be adopted in edge point determination for a sample start location in a city than that adopted in edge point determination for a sample start location in a suburb.
  • the processing device 110A may generate a training sample corresponding to the sample service order.
  • the training sample corresponding to a sample service order may include the sample start location, the sample pick-up location, the sample candidate pick-up location (s) , and the sample relevance score (s) of the sample candidate pick-up location (s) of the sample service order.
  • the training sample corresponding to the sample service order O may include the sample start location S, the sample pick-up location P, the sample candidate pick-up location (s) L, and a sample relevance score of each sample candidate pick-up location L.
  • the training sample corresponding to the sample service order O may include one or more other features of the sample service order O, such as a location at which a service requester located when he/she initiated the sample service order O, a location at which a service provider located when he/she accepted the sample service order O, a traffic condition at the sample start location S when the sample service order O was initiated, a time when the sample service order O was initiated, one or more additional features of each sample candidate pick-up location L, or the like, or any combination thereof.
  • the sample service order O such as a location at which a service requester located when he/she initiated the sample service order O, a location at which a service provider located when he/she accepted the sample service order O, a traffic condition at the sample start location S when the sample service order O was initiated, a time when the sample service order O was initiated, one or more additional features of each sample candidate pick-up location L, or the like, or any combination thereof.
  • Exemplary additional features of a sample candidate pick-up location L may include a distance between the sample candidate pick-up location L to a location of a service requester who initiated the sample service order, information related to a road where the sample candidate pick-up location L locates, or the like, or any combination thereof.
  • the sample start location S may be a faceted area
  • exemplary additional features of a sample candidate pick-up location L may include a distance between the sample candidate pick-up location L to a central point of the faceted area, a shortest distance between the sample candidate pick-up location L to the boundary of the faceted area, a distance between the sample candidate pick-up location L to a representative location of the faceted area, or the like, or any combination thereof.
  • an additional feature of the sample service order O may be stored in the first location information database, and the processing device 110A may obtain the additional feature by retrieving the first location information database.
  • the processing device 110A may determine an additional feature of the sample service order O by performing data analysis on, for example, information related to the sample service order O, position information of the sample candidate pick-up location L and the sample start location S, or the like, or any combination thereof.
  • one or more derived features may be determined from the features.
  • the derived feature (s) may be represented as linear or non-linear combinations of the features.
  • the processing device 110A may generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  • the preliminary model may include or be any suitable machine learning model, such as a LambdaMart model, an adaptive ranking (AdaRank) model, an support vector machine for optimizing mean average precision (SVM-MAP) model, a SoftRank model, or the like.
  • the preliminary model may be a LambdaMart model.
  • the LambdaMart model may be a boosted tree version of LamdaRank model, which combines a LamdaRank model and an MART model.
  • the LandaRank model introduces the use of a Lambda into a RankNet model.
  • the RankNet model utilizes a pairwise approach and uses Gradient Descent (GD) to update weights or model parameters for learning a rank problem.
  • GD Gradient Descent
  • the MART model is a boosted tree model (e.g., a cascade of trees) , in which a gradient may be determined based on each new tree, to estimate a direction that minimizes a loss function.
  • a gradient may be determined based on each new tree, to estimate a direction that minimizes a loss function.
  • Each tree in MART may contribute to a gradient step in the direction that minimizes a loss function, and an ensemble of these trees may be designated as a final model (i.e., the MART) .
  • the LambdaMART model uses the ensemble of MART but it replaces the gradient in MART with the Lambda presented in LambdaRank and optionally an evaluation indicator.
  • the evaluation indicator may be configured to evaluate a ranking quality.
  • Exemplary evaluation indicators may include a Mean Reciprocal Rank (MRR) , a Mean Average Precision (MAP) , a Normalized Discounted Cumulative Gain (NDCG) , an Expected Reciprocal Rank (ERR) , or the like, or any combination thereof.
  • the evaluation indicator may include the NDGC.
  • the preliminary model may be trained according to a machine learning algorithm.
  • the machine learning algorithm may include but not be limited to an artificial neural network algorithm, a deep learning algorithm, a decision tree algorithm, an association rule algorithm, an inductive logic programming algorithm, a support vector machine algorithm, a clustering algorithm, a Bayesian network algorithm, a reinforcement learning algorithm, a representation learning algorithm, a similarity and metric learning algorithm, a sparse dictionary learning algorithm, a genetic algorithm, a rule-based machine learning algorithm, or the like, or any combination thereof.
  • the machine learning algorithm used to train the preliminary model may be a supervised learning algorithm, a semi-supervised learning algorithm, a transductive learning algorithm, a reinforcement-based learning algorithm, or the like, or any combination thereof.
  • the preliminary model may have an initial setting (e.g., one or more initial values of one or more model parameters) .
  • the processing device 110A may train the preliminary model using the plurality of training samples to update the values of the model parameter (s) of the preliminary model.
  • the training of the preliminary model may include one or more iterations.
  • the processing device 110A may perform one or more iterations of process 600 as described in connection with FIG.. 6 to train the preliminary model, so as to generate the pick-up location recommendation model.
  • the training of the preliminary model may be performed based on a loss function.
  • the preliminary model may be trained in order to minimize the value of the loss function.
  • a sample candidate pick-up location of a training sample may be assigned with a weight, wherein the weight may be incorporated into the loss function and have an influence on the value of the loss function.
  • a weight assigned to a sample candidate pick-up location may be associated with one or more specific features of the sample candidate pick-up location, for example, a sample relevance score of the sample candidate pick-up location with respect to a corresponding sample service order, whether the sample candidate pick-up location is an edge point or not, a first distance between the sample candidate pick-up location and a corresponding actual sample pick-up location, or the like, or any combination thereof.
  • the one or more specific features may have a greater impact on the training of the preliminary model than other features of the training samples.
  • a higher weight may be assigned to a sample candidate pick-up location being an edge point than a sample candidate pick-up location being a non- edge point, such that the pick-up location recommendation model may be more likely to recommend a candidate pick-up location that is an edge point.
  • An application of such pick-up location recommendation model may improve the efficiency of the O2O service system 100. For example, it is easier and more convenient for a service requester and/or a service provider to identify a candidate pick-up location which is an edge point recommended by the O2O service system 100. This may further facilitate the service process and reduce system load, for example, by avoiding an unnecessary communication between service requesters and service providers.
  • the present disclosure may employ a machine-learning algorithm to learn a complex mapping between an input (e.g., the specific feature (s) of at least one sample candidate pick-up location, other feature (s) of sample service orders) and an output of interest (e.g., a recommended pick-up location, a ranking of a plurality of recommended pick-up locations) .
  • an optimal mapping may be determined via a statistical approach using one or more machine-learning algorithms to learn the mapping from the training samples.
  • optimal weights of different features of training samples may be determined.
  • the pick-up location recommendation model may comprehensively consider different features of a service order to determine a suitable recommended pick-up location. This may further improve the efficiency of the O2O service system 100.
  • one or more operations may be added or omitted.
  • the processing device 110A may further test the pick-up location recommendation model using a set of testing sample service orders. Additionally or alternatively, the processing device 110A may update the pick-up location recommendation model periodically or irregularly based on updated training samples.
  • the updated training samples may include training samples corresponding to new sample service orders, or a combination of new and original sample service orders.
  • FIG. 6 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model by training a preliminary model according to some embodiments of the present disclosure.
  • process 600 may be executed by the O2O service system 100.
  • the process 600 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) .
  • the processing device 110A e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more modules illustrated in FIG. 4A
  • one or more operations of the process 600 may be performed to achieve at least part of operation 550 as described in connection with FIG. 5.
  • the preliminary model may include or be any suitable machine learning model, such as a LambdaMart model, an AdaRank model, an SVM-MAPmodel, a SoftRank model, model, or the like.
  • the preliminary model have an initial setting, such as one or more initial values of one or more model parameters.
  • the preliminary model may be a LambdaMart model, and exemplary model parameters of the LambdaMart model may include a loss function, a positive learning rate in an iteration, a number of decision trees, a depth of each decision tree, a number of leaf nodes in each decision tree, a number of training samples for each leaf node, a number of features of each training sample, or the like, or any combination thereof.
  • the one or more parameter values of the model parameter (s) of the preliminary model may be updated.
  • the processing device 110A may perform 610 for each training sample to determine a ranking result of the corresponding sample candidate pick-up location (s) .
  • the sample candidate pick-up location (s) L may include a plurality of sample candidate pick-up locations L.
  • the processing device 110A may determine a ranking result of the sample candidate pick-up locations L according to the sample relevance scores of the sample candidate pick-up locations.
  • the sample candidate pick-up locations L may be ranked according to respective sample relevance scores, for example, from high to low or from low to high.
  • the sample candidate pick-up locations L includes 4 sample candidate pick-up locations L 1 , L 2, L 3 , and L 4 , the sample relevance score of which is 1, 0, 1 and 2, respectively.
  • the ranking result of the sample candidate pick-up locations L may be “L 4 , L 3 , L 1 , L 2 ” or “L 4 , L 1 , L 3 , L 2 ” .
  • the sample candidate pick-up locations L 1 and L 3 with the same sample relevance score may be ranked randomly in the ranking result.
  • the processing device 110A may determine the ranking result of a training sample according to a ranking algorithm, e.g., a bubble sort algorithm, a selection sort algorithm, a Shell’s sort algorithm, a quicksort algorithm, an insertion sort algorithm, a merge sort algorithm, a heapsort algorithm, etc.
  • a ranking algorithm e.g., a bubble sort algorithm, a selection sort algorithm, a Shell’s sort algorithm, a quicksort algorithm, an insertion sort algorithm, a merge sort algorithm, a heapsort algorithm, etc.
  • the ranking result of a training sample may be used as a ground truth value of the training sample in training the preliminary model.
  • the training of the preliminary model may learn or train a mapping between features and the ground truth values by, for example, minimizing the best fit between predictions and ground truth values over a portion of or the entire training samples.
  • the training of the preliminary model may include one or more iterations. For illustration purposes, a current iteration of the iteration (s) is described in the following description. The current iteration may include one or more operations of 620 to 670.
  • the processing device 110A e.g., the model generation module 450, the processing circuits of the processor 220
  • the predicted ranking result may be an output of the preliminary model based on the training sample.
  • the predicted ranking result of the sample candidate pick-up locations L 1 , L 2 , L 3 , and L 4 may be “L 4 , L 3 , L 1 , and L 2 ” , or “L 3 , L 4 , L 1 , and L 2 ” , which may be the same as or different from the actual ranking result.
  • the processing device 110A may determine a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score (s) the sample candidate pick-up location (s) of each training sample.
  • the loss function may be configured to measure a difference between predicted ranking results and the ground truth ranking results of the training samples.
  • the value of the loss function may indicate the accuracy of the preliminary model in the current iteration. For example, the higher the loss function, the more accurate the preliminary model in the current iteration is.
  • the processing device 110A may determine a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position based on the sample relevance score (s) of the sample candidate pick-up location (s) of the training sample.
  • the NDCG of a predicted ranking result may be configured to measure an accuracy of the predicted ranking result at and/or before the preset rank position.
  • the preset rank position may be, for example, the first rank position, the second rank position, the third rank position, or the like.
  • the preset rank position may be the second rank position, and the NDCG of a predicted result may be configure to measure an accuracy of the predicted result at the first and second rank positions.
  • the preset rank positions with respect to different training samples may be the same or different.
  • an NDCG P of a specific predicted ranking at a preset rank position p may be determined according to Equation (1) as below:
  • NDCG P CDG P /IDCG P , Equation (1)
  • DCG P refers to a discounted cumulative gain of the specific predicted ranking result at the preset rank position p
  • IDCG P refers to an ideal discounted cumulative gain (IDCG) of the specific predicted ranking result at the preset rank position p.
  • the premise of DCG may be that highly relative sample candidate pick-up location appearing lower in a predicted ranking result should be penalized as the graded relevance value is reduced logarithmically proportionally to the position in the predicted ranking result.
  • the IDCG of a predicted ranking result may refer to an ideal DCG at the preset rank position p, which may be determined by sorting all sample candidate pick-up locations of a training sample by their sample relevance scores to produce a maximum possible DCG at the preset rank position p.
  • DCG P and IDCG P may be determined according to Equation (2) and Equation (3) as below, respectively:
  • rel i refers to a graded relevance value of the i th sample candidate pick-up location of the training sample
  • refers to a set of sample candidate pick-up locations of the training sample ranked according to respective sample relevance scores from high up to the preset rank position p.
  • the graded relevance value of the i th sample candidate pick-up location may be associated with a sample relevance score of the i th sample candidate pick-up location and/or a weight assigned to the i th sample candidate pick-up location.
  • the graded relevance value of the i th sample candidate pick-up location may be euqal to the sample relevance score of the i th sample candidate pick-up location.
  • the NDCG P of the specific predicted ranking result at the preset rank position p may further incorporate a weight of each sample candidate pick-up location in the specific predicted ranking result, wherein the weight of a sample candidate pick-up location may be associated with a sample relevance score of the sample candidate pick-up location.
  • the sample relevance score of a sample candidate pick-up location may be determined based on one or more specific features of the sample candidate pick-up location, such as whether the sample candidate pick-up location is an edge point, a first distance between the sample candidate pick-up location and a corresponding sample pick-up location, or the like.
  • different weights may be assigned to different sample candidate pick-up locations with different sample relevance scores. As such, compared with other feature (s) of the training samples, the one or more specific features may have a greater impact on the value of the loss function and the pick-up location recommendation model to be trained.
  • a first sample candidate pick-up location is an edge point having a first distance smaller than the threshold distance T 3
  • a second sample candidate pick-up location is an edge point having a first distance greater than the threshold distance T 3
  • a third sample candidate pick-up location is a non-edge point.
  • the sample relevance scores of the first, second, and third sample candidate pick-up locations may be equal to 2, 1, and 0, respectively.
  • the weights assigned to the first, second, and third sample candidate pick-up locations may be equal to 1.5, 1, and 0, respectively.
  • the weights assigned to the first, second, and third sample candidate pick-up locations may be equal to 1.001, 1, and 1, respectively.
  • the pick-up location recommendation model may be more likely to recommend a candidate pick-up location being an edge point.
  • the rel i may be equal to the weight of the i th sample candidate pick-up location or be determined based on the sample relevance score and the weight of the i th sample candidate pick-up location (e.g., by multiplying the sample relevance score with the weight of the i th sample candidate pick-up location) , such that the weight of the i th sample candidate pick-up location is incorporated into NDCG P .
  • the processing device 110A may further determine the value of the loss function based on the NDCG of each training sample.
  • the loss function may have a correlation with NDCG, and the processing device 110A may determine the value of the loss function based on the correlation.
  • the processing device 110A may determine a ⁇ NDCG, which measures a change of NDCG by swapping a pair of sample candidate pick-up locations in the predicted ranking result. The processing device 110A may further determine the value of the loss function based on ⁇ NDCG.
  • the processing device 110A e.g., the model generation module 450, the processing circuits of the processor 220 may determine whether a termination condition is satisfied in the current iteration based on the value of the loss function in the current iteration.
  • An exemplary termination condition may be that the value of the loss function in the current iteration is less than a threshold value.
  • Other exemplary termination conditions may include that a maximum number (or count) of iterations has been performed, a difference between the values of the loss function obtained in a previous iteration and the current iteration (or among the values of the loss function within a certain number or count of successive iterations) is less than a certain threshold.
  • the process 600 may proceed to operation 650.
  • the processing device 110A e.g., the model generation module 450, the processing circuits of the processor 220
  • the processing device 110A may designate the preliminary model in the current iteration as the pick-up location recommendation model.
  • the processing device 110A may further store the pick-up location recommendation model into a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) of the O2O service system 100 and/or output the pick-up location recommendation model for use in pick-up location recommendation (e.g., in process 700 as described in connection with FIG. 7) .
  • the process 600 may proceed to operations 660 and 670, and further repeat operations 620 to 640 until the termination condition is satisfied.
  • the processing device 110A e.g., the model generation module 450, the processing circuits of the processor 220
  • the processing device 110A may update the value (s) of the model parameter (s) of the preliminary model based on the value of the loss function according to, for example, a backpropagation algorithm.
  • the processing device 110A e.g., the model generation module 450, the processing circuits of the processor 220
  • the processing device 110A may designate the updated preliminary model in the current iteration as a preliminary model in a next iteration.
  • the processing device 110A may proceed to operation 620 to perform the next iteration until the termination condition is satisfied.
  • the preliminary model in the certain iteration having the updated value (s) of the model parameter (s) may be designated as the pick-up location recommendation model.
  • the processing device 110A may further test the trained model using a set of testing samples to determine whether a testing condition is satisfied. If the testing condition is not satisfied, the process 600 may be performed again to further train the model.
  • FIG. 7 is a flowchart illustrating an exemplary process for determining one or more pick-up locations for a service order using a pick-up location recommendation model according to some embodiments of the present disclosure.
  • process 700 may be executed by the O2O service system 100.
  • the process 700 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) .
  • the processing device 110B e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more modules illustrated in FIG. 4B
  • the pick-up location recommendation model may refer to a model configured to receive a plurality of candidate pick-up locations around a start location of a service order, and output one or more recommended pick-up locations among the candidate pick-up locations and/or information related to the one or more recommended pick-up locations.
  • the pick-up location recommendation model may be trained by a processing device by performing an exemplary process (e.g., the process 500) of training the pick-up location recommendation model disclosed in the present disclosure.
  • the pick-up location recommendation model may be trained by the processing device 110A, and stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) of the O2O service system 100.
  • the processing device 110B may retrieve the pick-up location recommendation model from the storage device and apply the pick-up location recommendation model in pick-up location recommendation.
  • the processing device 110B may receive a start location of a service order from a requester terminal.
  • the service order may be used to request for an O2O service, such as a transportation service (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, a shuttle service) , a delivery service (e.g., a meal delivery service) , or the like, or any combination thereof.
  • the service order may be inputted by a requester of the requester terminal (e.g., a requester terminal 130) .
  • the start location may be a location where the service requester wants and/or needs to receive the requested O2O service.
  • the start location may be any location.
  • the start location may include but not be limited to a building (e.g., a hospital, a supermarket, a school) , a station (e.g., a bus station, a train station) , a location along a street, a cross road, a scenery (e.g., a mountain, a river, a scenic spot) , or the like, or any sub-part (e.g., a particular exit of a building) or combination thereof.
  • a building e.g., a hospital, a supermarket, a school
  • a station e.g., a bus station, a train station
  • a location along a street e.g., a cross road
  • a scenery e.g., a mountain, a river, a scenic spot
  • any sub-part e.g., a particular exit of a building
  • the start location may be inputted by a requester via the requester terminal and then transmitted to the processing device 110B.
  • the requester may input the start location via, for example, a typing mechanism (e.g., a keyboard) , a voice input mechanism (e.g., a microphone) , a gesture input mechanism (e.g., a touch screen) of the requester terminal, or the like, or any combination thereof.
  • a typing mechanism e.g., a keyboard
  • a voice input mechanism e.g., a microphone
  • a gesture input mechanism e.g., a touch screen
  • the start location may be determined by the processing device 110B or the requester terminal according to, for example, position information (e.g., a current location) , historical service orders, and/or a key word inputted by the requester.
  • the requester terminal may display the determined start location and transmit the determined start location to the processing device 110B after receiving a confirmation from the requester.
  • the processing device 110B may determine a plurality of candidate pick-up locations around the start location base on a second location information database.
  • a candidate pick-up location may refer to a possible location where a service provider of the service order may pick up the service requester of the service order or an object of the service requester. Similar to the sample start location, the start location may be a spot location or a faceted area. As described in connection with operation 510, a boundary of a spot location may refer to the spot location itself, and a boundary of a faceted area may refer to a real or an imaginary line that represents an edge of the faceted area. In some embodiments, a candidate pick-up location of the service order may be similar to a sample candidate pick-up location of a sample service order as described in connection with operation 520, and the descriptions thereof are not repeated here.
  • each candidate pick-up location may have a relative position to a boundary of the start location.
  • the relative position of a candidate pick-up location to the start location may be represented by, for example, a third distance between the candidate pick-up location and the boundary of the start location, an orientation from the candidate pick-up location to the boundary of the start location, whether the candidate pick-up location is an edge point at the boundary of the start location or a non-edge point, or the like, or any combination thereof.
  • the start location is a spot location
  • each candidate pick-up location may be regarded as a non-edge point out of the boundary of the spot location.
  • the third distance may be a distance between the candidate pick-up location and any point (e.g., a point closest to or most far away from the candidate pick-up location) at the boundary of the facet area.
  • the second location information database may be a same or similar database to the first location information database as described in connection with FIG. 5.
  • the second location information database may store information related to a plurality of historical pick-up locations in a specific region (e.g., a country or a city) .
  • the processing device 110B may determine the candidate pick-up locations around the start location by retrieving the second location information database.
  • the determination of the candidate pick-up locations of the service order based on the second location information database may be performed in a similar manner with the determination of the sample candidate pick-up location L of the sample service order O based on the first location information database, and the descriptions thereof are not repeated here.
  • the processing device 110B may determine one or more recommended pick-up locations among the candidate pick-up locations by applying the pick-up location recommendation model to the candidate pick-up locations.
  • an input may be inputted into the pick-up location recommendation model, wherein the input may at least include the relative positions of the candidate pick-up locations to the boundary of the start location.
  • the processing device 110B may further determine whether each candidate pick-up location is an edge point at the boundary of the start location or a non-edge point based on the relative position of the candidate pick-up location, and the determination result as to whether each candidate pick-up location is an edge point or a non-edge point may be included in the input.
  • the input may further include one or more other features of the service order, such as a location at which the service requester located when he/she initiates the service order, a location at which the service provider located when he/she accepts the service order, a traffic condition at the start location when the service order is initiated, a time when the service order is initiated, one or more additional features of each candidate pick-up location, or the like, or any combination thereof.
  • the feature (s) of the service order may be similar to the feature (s) of a sample service order as described in connection with FIG. 5, and the descriptions thereof are not repeated here.
  • the pick-up location recommendation model may output a processing result.
  • the processing result may include a relevance score of each candidate pick-up location with respect to the service order and/or a ranking result of the candidate pick-up locations (e.g., a ranking result in which the candidate pick-up locations are ranked according to their respective relevance scores in a descending order) .
  • the processing device 110B may further determine the recommended pick-up location (s) among the candidate pick-up locations based on the relevance scores and/or the ranking result of the candidate pick-up locations.
  • the recommended pick-up location (s) may include all or a portion of the candidate pick-up locations.
  • the processing device 110B may select one or more candidate pick-up locations among the candidate pick-up locations as the recommended pick-up location (s) .
  • the recommended pick-up location (s) may include, for example, one or more candidate pick-up location having top N relevance scores and/or relevance scores greater than a threshold score.
  • N may be any positive integer value (e.g., 1, 2, 3, 4, or 5) or any percentage value (e.g., 10%, 20%, 30%, 40%, or 50%) .
  • the pick-up location recommendation model may output the recommended pick-up location (s) .
  • the pick-up location recommendation model may output the one or more candidate pick-up location having top N relevance scores and/or relevance scores greater than the threshold score.
  • the one or more candidate pick-up location having top N relevance scores and/or relevance scores greater than the threshold score may be regarded as the recommended pick-up location (s) .
  • the processing device 110B may transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
  • the processing device 110B may transmit the recommended pick-up location (s) to the requester terminal via the network 120 in real-time, and the requester terminal may display the recommended pick-up location (s) on the interface of the requester terminal to the service requester.
  • the processing device 110B may also transmit the recommended pick-up location (s) to a provider terminal of a service provider who accepts the service order for display.
  • the recommended pick-up location (s) may include a plurality of recommended pick-up locations.
  • the recommended pick-up location (s) may be displayed according to the output of the pick-up location recommendation model described above. For example, a list, in which the recommended pick-up locations are ranked according to their relevance scores in a descending order, may be displayed.
  • the recommended pick-up location having the highest relevance score may be displayed in red and other recommended pick-up location (s) may be displayed in grey.
  • the way of displaying the one or more recommended pick-up locations may be set by the service requester of the requester terminal.
  • the service requester and/or the service provider may interact with the displayed recommended pick-up location (s) .
  • the service requester may select a desired pick-up location, and the desired pick-up location may be transmitted to the service provider.
  • the process 700 may include an additional operation to receive a response (e.g., a selection) from the service requester and/or the service provider regarding the recommended pick-up location (s) .
  • a response e.g., a selection
  • 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 "block, " “module, ” “engine, ” “unit, ” “component, ” 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 1703, Perl, COBOL 1702, 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
  • an Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, etc.
  • SaaS software as a service

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A system for pick-up location recommendation is provided. The system may receive a start location of a service order from a requester terminal, and determine a plurality of candidate pick-up locations around the start location base on a location information database. Each candidate pick-up location may have a relative position to a boundary of the start location. The system may determine one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations. An input of the pick-up location recommendation model at least may include the relative positions of the candidate pick-up locations to the boundary of the start location. The system may further transmit the one or more recommended pick-up locations to the requester terminal for recommendation.

Description

SYSTEMS AND METHODS FOR RECOMMENDING PICK-UP LOCATIONS TECHNICAL FIELD
The present disclosure generally relates to Online to Offline (O2O) services, and more specifically, to methods and systems for recommending a pick-up location for an O2O service order.
BACKGROUND
O2O services, such as an online car hailing service and a delivery service, have become more and more popular. When a service requester (e.g., a passenger) sends a service order to a service system, the service system usually needs to recommend a pick-up location for a service provider (e.g., a driver) to pick up the service requester or an object of the service requester. Conventionally, the recommended pick-up location may be determined based on a start location (or a point of interest (POI) ) inputted by the service requester. For example, the service system may retrieve a location whose name matches the start location from a location database, and determine the location as a recommended pick-up location for the service requester. In some occasions, the start location may be a faceted area (e.g., a school, a market, a park, a housing estate) , and there may be a plurality of locations inside, at, or outside a boundary of the start location that can be served as a recommended pick-up location. Generally, compared with a location inside the boundary of the start location, a location that is at or near the boundary of the start location is more suitable to serve as a recommended pick-up location because the location at or near the boundary is easier to identify and more convenient for the service provider to pick up the service requester. Therefore, it is desirable to provide systems and methods for determining a pick-up location by taking a relative position of the pick-up location to the boundary of the start location into consideration, thus improving service efficiency of the service system and user experience.
SUMMARY
According to one aspect of the present disclosure, a system for pick-up location recommendation is provided. The system may include at least one storage medium including a set of instructions and at least one processor in communication with the at least one storage medium. When executing the instructions, the at least one processor may be configured to direct the system to perform the following operations. The at least one processor may be configured to direct the system to receive a start location of a service order from a requester terminal, and determine a plurality of candidate pick-up locations around the start location base on a location information database. Each candidate pick-up location may have a relative position to a boundary of the start location. The at least one processor may be configured to direct the system to determine one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, wherein an input of the pick-up location recommendation model at least includes the relative positions of the candidate pick-up locations to the boundary of the start location. The at least one processor may be further configured to direct the system to transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
In some embodiments, the at least one processor may be further configured to direct the system to obtain a relevance score of each candidate pick-up location with respect to the service order by applying the pick-up location recommendation model to the plurality of candidate pick-up locations, and determine the one or more recommended pick-up locations among the plurality of candidate pick-up locations based on the relevance score of each candidate pick-up location.
In some embodiments, the pick-up location recommendation model may be trained according to a training process. The training process may include obtaining a plurality of sample service orders, . Each sample service order may include a sample start location and a sample pick-up location. For each of the plurality of  sample service orders, the training process may include determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location. For each sample candidate pick-up location of the sample service order, the training process may include determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. For each of the plurality of sample service orders, the training process may also include generating a training sample corresponding to the sample service order. The training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order. For each of the plurality of sample service orders, the training process may further include generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
In some embodiments, the location information database may store a plurality of historical pick-up locations in a preset region. The determining the at least one sample candidate pick-up location of the sample service order may include selecting at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order among the plurality of historical pick-up locations in the location information database, and designating the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
In some embodiments, the determining the sample relevance score of each sample candidate pick-up location of a sample service order may include, for the each sample candidate pick-up location of the sample service order, determining whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point based on the sample relative position of the sample candidate pick-up location to the boundary  of the corresponding sample start location. The determining the sample relevance score of each sample candidate pick-up location of a sample service order may also include determining the sample relevance score of the sample candidate pick-up location based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
In some embodiments, the determining the sample relevance score of each sample candidate pick-up location of the sample service order may include, for the each sample candidate pick-up location of the sample service order, determining a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order, and determining the sample relevance score of the sample candidate pick-up location based on the first distance and the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
In some embodiments, the generating the pick-up location recommendation model by training the preliminary model using the training samples may include, for each training sample, determining a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location, and performing one or more iterations to train the preliminary model. Each current iteration of the one or more iterations may include, for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the preliminary model in the current iteration to the training sample, and determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample. Each current iteration of the one or more iterations may also include determining whether a termination condition is satisfied in the current iteration based on the value of the loss function, and in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
In some embodiments, the determining the value of the loss function may include, for the each training sample, determining a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position, and determining the value of the loss function based on the normalized DCG of the each training sample. The normalized DCG may incorporate a weight of each corresponding sample candidate pick-up location. The weight of the each corresponding sample candidate pick-up location may be associated with the sample relevance score of the corresponding sample candidate pick-up location.
In some embodiments, the preliminary model may include a LambdaMart model.
According to another aspect of the present disclosure, a system for generating a pick-up location recommendation model is provided. The system may include at least one storage medium storing a set of instructions, and at least one processor in communication with the at least one storage medium. When executing the instructions, the at least one processor may be configured to direct the system to perform the following operations. The at least one processor may be configured to direct the system to obtain a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location. For each of the plurality of sample service orders, the at least one processor may be configured to direct the system to determine at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location. For each sample candidate pick-up location of the sample service order, the at least one processor may be configured to direct the system to determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. The at least one processor may be configured to direct the system to generate a training sample corresponding to the sample service order and generate the pick-up location recommendation model by training a preliminary  model using the plurality of training samples. The training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
In some embodiments, the location information database may store a plurality of historical pick-up locations in a preset region. To determine the at least one sample candidate pick-up location of the sample service order, the at least one processor may be further configured to direct the system to select at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order among the plurality of historical pick-up locations in the location information database, and designate the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
In some embodiments, to determine the sample relevance score of each sample candidate pick-up location of a sample service order, the at least one processor may be further configured to direct the system to, for the each sample candidate pick-up location of the sample service order, determine whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point based on the sample relative position of the sample candidate pick-up location to the boundary of the corresponding sample start location, and determine the sample relevance score of the sample candidate pick-up location based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
In some embodiments, to determine the sample relevance score of each sample candidate pick-up location of the sample service order, the at least one processor may be further configured to direct the system to, for the each sample candidate pick-up location of the sample service order, determine a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order, and determine the sample relevance score of the sample  candidate pick-up location based on the first distance and the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point.
In some embodiments, to generate the pick-up location recommendation model by training the preliminary model using the training samples, the at least one processor may be further configured to direct the system to, for each training sample, determine a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location, and perform one or more iterations to train the preliminary model. Each current iteration of the one or more iterations may include, for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the preliminary model in the current iteration to the training sample, and determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample. Each current iteration of the one or more iterations may also include determining whether a termination condition is satisfied in the current iteration based on the value of the loss function, and in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
In some embodiments, to determine the value of the loss function, each current iteration of the one or more iterations may further include, for the each training sample, determining an NDCG of the corresponding predicted ranking result at a preset rank position, and determining the value of the loss function based on the normalized DCG of the each training sample. The normalized DCG may incorporate a weight of each corresponding sample candidate pick-up location. The weight of the each corresponding sample candidate pick-up location may be associated with the sample relevance score of the corresponding sample candidate pick-up location.
In some embodiments, each current iteration may further include in response to a determination that the termination condition is not satisfied in the current iteration, updating the preliminary model in the current iteration according to the value of the loss function, and designating the updated preliminary model in the current iteration as a preliminary model in a next iteration.
In some embodiments, the preliminary model may include a LambdaMart model.
In some embodiments, a sample start location of a sample service order of the plurality of sample service orders may be a faceted area. The training sample corresponding to the sample service order may further include one or more features of each corresponding sample candidate pick-up location. The one or more features of a corresponding sample candidate pick-up location may include at least one of a distance between the sample candidate pick-up location to a central point of the faceted area, a shortest distance between the sample candidate pick-up location to the boundary of the faceted area, a distance between the sample candidate pick-up location to a representative location of the faceted area, a distance between the sample candidate pick-up location to a location of a user who initiated the sample service order, or information related to a road where the sample candidate pick-up location locates.
According to still another aspect of the present disclosure, a method implemented on a computing device having at least one processor and at least one storage device for pick-up location recommendation is provided. The method may include receiving a start location of a service order from a requester terminal, and determining a plurality of candidate pick-up locations around the start location base on a location information database. Each candidate pick-up location may have a relative position to a boundary of the start location. The method may also include determining one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, and transmitting the one or more recommended pick-up locations to the requester terminal for recommendation. An  input of the pick-up location recommendation model at least may include the relative positions of the candidate pick-up locations to the boundary of the start location.
According to still another aspect of the present disclosure, a method implemented on a computing device having at least one processor and at least one storage device for generating a pick-up location recommendation model is provided. The method may include obtaining a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location. For each of the plurality of sample service orders, the method may also include determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, and for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location. The method may further include generating a training sample corresponding to the sample service order, and generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples. The training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
According to still another aspect of the present disclosure, a non-transitory computer readable medium including a set of instructions for generating a pick-up location recommendation model is provided. When executed by at least one processor, the set of instructions may direct the at least one processor to effectuate a method. The method may include obtaining a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location. For each of the plurality of sample service orders, the method may also include determining at least one sample candidate pick-up location around the  sample start location of the sample service order based on a location information database, and for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location. The method may further include generating a training sample corresponding to the sample service order, and generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples. The training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order.
According to still another aspect of the present disclosure, a system for generating a pick-up location recommendation model is provided. The system may include an obtaining module, a sample candidate pick-up location determination module, a relevance score determination module, a training sample generation module, and a model generation module. The obtaining module may be configured to obtain a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location. The sample candidate pick-up location determination module may be configured to, for each of the plurality of sample service orders, determine at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location. The relevance score determination module may be configured to, for each sample candidate pick-up location of each sample service order, determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. The training sample generation module may be  configured to generate a training sample corresponding to the sample service order. The training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order. The model generation module may be configured to generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
According to still another aspect of the present disclosure, a non-transitory computer readable medium including a set of instructions for pick-up location recommendation is provided. When executed by at least one processor, the set of instructions may direct the at least one processor to effectuate a method. The method may include receiving a start location of a service order from a requester terminal, and determining a plurality of candidate pick-up locations around the start location base on a location information database. Each candidate pick-up location may have a relative position to a boundary of the start location. The method may also include determining one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, and transmitting the one or more recommended pick-up locations to the requester terminal for recommendation. An input of the pick-up location recommendation model at least may include the relative positions of the candidate pick-up locations to the boundary of the start location.
According to still another aspect of the present disclosure, a system for pick-up location recommendation is provided. The system may include a receiving module, a candidate pick-up location determination module, a recommended pick-up location determination module, and a transmission module. The receiving module may be configured to receive a start location of a service order from a requester terminal. The candidate pick-up location determination module may be configured to determine a plurality of candidate pick-up locations around the start location base on a location information database, each candidate pick-up location having a relative  position to a boundary of the start location. The recommended pick-up location determination module may be configured to determine one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations. An input of the pick-up location recommendation model at least may include the relative positions of the candidate pick-up locations to the boundary of the start location. The transmission module may be configured to transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
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 exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary 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 exemplary O2O service system according to some embodiments of the present disclosure;
FIG. 2 is a schematic diagram illustrating exemplary hardware and/or software components of a computing device according to some embodiments of the present disclosure;
FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of a mobile device according to some embodiments of the  present disclosure;
FIG. 4A is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure;
FIG. 4B is a block diagram illustrating another exemplary processing device according to some embodiments of the present disclosure;
FIG. 5 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model according to some embodiments of the present disclosure;
FIG. 6 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model by training a preliminary model according to some embodiments of the present disclosure; and
FIG. 7 is a flowchart illustrating an exemplary process for determining one or more pick-up locations for a service order using a pick-up location recommendation model according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
The following description is presented to enable any person skilled in the art to make and use the present disclosure and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not limited to some embodiments shown but is to be accorded the widest scope consistent with the claims.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a, ” “an, ” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprise, ” “comprises, ” and/or “comprising, ” “include, ” “includes, ” and/or “including, ” when used in this specification, specify the presence of stated features,  integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
These and other features, and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, may become more apparent upon consideration of the following description with reference to the accompanying drawings, all of which form a part of this disclosure. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended to limit the scope of the present disclosure. It is understood that the drawings are not to scale.
The flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood that the operations of the flowchart may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
Moreover, while the system and method in the present disclosure is described primarily in regard to pick-up location recommendation in a transportation system, it should also be understood that the present disclosure is not intended to be limiting. The system or method of the present disclosure may be applied to any other kind of services. For example, the system or method of the present disclosure may be applied to transportation systems of different environments including land, ocean, aerospace, or the like, or any combination thereof. The vehicle of the transportation systems may include a taxi, a private car, a carpool, a bus, a train, a bullet train, a high speed rail, a subway, a vessel, an aircraft, a spaceship, a hot-air balloon, a driverless vehicle, or the like, or any combination thereof. The transportation system may also include any transportation system for management and/or distribution, for example, a system for sending and/or receiving an express. The application of the system or method of the present disclosure may  be implemented on a user device and include a webpage, a plug-in of a browser, a client terminal, a custom system, an internal analysis system, an artificial intelligence robot, or the like, or any combination thereof.
The term "passenger, " "requester, " "service requester, " "customer" and "user" in the present disclosure are used interchangeably to refer to an individual, an entity, or a tool that may request or order a service. Also, the term "driver, " "provider, " and "service provider" in the present disclosure are used interchangeably to refer to an individual, an entity, or a tool that may provide a service or facilitate the providing of the service.
The term "service request, " "request for a service, " "requests, " and "order" in the present disclosure are used interchangeably to refer to a request that may be initiated by a passenger, a service requester, a customer, a driver, a provider, a service provider, or the like, or any combination thereof. The service request may be accepted by any one of a passenger, a service requester, a customer, a driver, a provider, or a service provider. The service request may be chargeable or free.
The term "service provider terminal, ” “provider terminal, ” and "driver terminal" in the present disclosure are used interchangeably to refer to a mobile terminal that is used by a service provider to provide a service or facilitate the providing of the service. The term "service requester terminal, " “requester terminal, ” and "passenger terminal" in the present disclosure are used interchangeably to refer to a mobile terminal that is used by a service requester to request or order a service. The term “distance” between two locations may refer to a linear distance between the two locations and/or or a route distance along a route between the two location.
The positioning technology used in the present disclosure may be based on a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a Galileo positioning system, a quasi-zenith satellite system (QZSS) , a wireless fidelity (WiFi) positioning technology, or the like, or any combination thereof. One or more of the above positioning systems may be used interchangeably in the present disclosure.
An aspect of the present disclosure relates to systems and methods for  generating a pick-up location recommendation model. The systems and methods may obtain a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location. For each of the plurality of sample service orders, the systems and methods may determine at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database. Each sample candidate pick-up location may have a sample relative position to a boundary of the corresponding sample start location. For each sample candidate pick-up location of each sample service order, the systems and methods may determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. The systems and methods may also generate a training sample corresponding to each sample service order, wherein the training sample may include the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order. The systems and methods may also generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
Another aspect of the present disclosure relates to systems and methods for applying the pick-up location recommendation model in pick-up location recommendation. The systems and methods may receive a start location of a service order from a requester terminal. The systems and methods may also determine a plurality of candidate pick-up locations around the start location base on a location information database, each recommended pick-up location having a relative position to a boundary of the start location. The systems and methods may also determine one or more recommended pick-up locations among the plurality of candidate pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations. The systems and methods may also transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
According to some embodiments of the present disclosure, the pick-up location recommendation model may be generated by training a preliminary model using the plurality of training samples. In each training sample, different sample candidate pick-up locations may have different sample relevance scores according to the sample relative position of each sample candidate pick-up location with respect to the boundary of the sample start location of the training sample. The sample relevance score of a sample candidate pick-up location may be associated with one or more specific features of the sample candidate pick-up location, such as whether the sample candidate pick-up location is an edge point, a first distance between the sample candidate pick-up location and a corresponding sample pick-up location, or the like. Optionally, each sample candidate pick-up location of a training sample may be assigned with a weight according to the sample relevance score of the sample candidate pick-up location, and the weight may be incorporated into a loss function and have an influence on the value of the loss function during the training of the preliminary model. In this way, the one or more specific features may have a greater impact on the training of the preliminary model than other features of the training samples. Merely by way of example, a higher sample relevance score and/or a higher weight may be assigned to a sample candidate pick-up location being an edge point than a sample candidate pick-up location being a non-edge point, such that the pick-up location recommendation model may be more likely to recommend a candidate pick-up location that is an edge point. In application, such pick-up location recommendation model may improve the efficiency of the O2O service system 100. For example, it is easier and more convenient for a service requester and/or a service provider to identify a candidate pick-up location which is an edge point recommended by the O2O service system 100. This may further facilitate the service process and reduce system load, for example, by avoiding an unnecessary communication between service requesters and service providers, reducing waiting time of service requesters and thereby reducing the whole service time.
In addition, the present disclosure may employ a machine-learning algorithm  to learn a complex mapping between an input (e.g., one or more specific features of a sample candidate pick-up location, other features of a sample service order) and an output of interest (e.g., a recommended pick-up location, a ranking of a plurality of recommended pick-up locations) . In application, the pick-up location recommendation model may comprehensively consider different features of a service order to determine a suitable recommended pick-up location. This may further improve the efficiency of the O2O service system 100 by reducing, e.g., the processing time, the computational complexity and/or cost, etc.
FIG. 1 is a schematic diagram illustrating an exemplary O2O service system 100 according to some embodiments of the present disclosure. The O2O service system 100 may provide one or more types of O2O services. Exemplary O2O services may include a transportation service (e.g., a taxi-hailing service, a chauffeur service, an express car service, a luxury car service, a premium car, a carpool service, a bus service, a driver hire service, and a shuttle service) , a meal delivery service, a delivery service, a shopping service, or the like, or any combination thereof. For illustration purposes, the present disclosure is described with reference to a transportation service system. It is not intended to limit the scope of the present disclosure, and the systems and methods disclosed herein may be applied in the context of other O2O service systems.
As shown in FIG. 1, the O2O service system 100 may include a processing device 110, a network 120, a requester terminal 130, a provider terminal 140, a vehicle 150, a storage device 160, and a navigation system 170. The processing device 110 may process data and/or information related to the O2O service system 100 to perform one or more functions described in the present disclosure. In some embodiments, the processing device 110 may be a single server or a server group. The server group may be centralized or distributed. For example, the processing device 110 may process a plurality of historical transportation orders to generate a plurality of training samples. The processing device 110 may further generate a pick-up location recommendation model by training a model using the training samples. As another example, the processing device 110 may apply the pick-up  location recommendation model to determine one or more recommended pick-up locations for a target transportation order. In some embodiments, the training samples and/or the pick-up location recommendation model may be generated by a processing device, while the application of the pick-up location recommendation model may be performed on a different processing device. In some embodiments, the training samples and/or the pick-up location recommendation model may be generated by a processing device of a system different than the O2O service system 100 or a processing device different than the processing device 110 on which the application of pick-up location recommendation model is performed. For instance, the training samples and/or the pick-up location recommendation model may be generated by a first system of a vendor who provides and/or maintains such a pick-up location recommendation model, while pick-up location recommendation based on the provided pick-up location recommendation model may be performed on a second system of a client of the vendor. In some embodiments, the application of the pick-up location recommendation model may be performed online in response to a request for pick-up location recommendation for a transportation order. In some embodiments, the training samples and/or the pick-up location recommendation model may be determined or generated offline.
In some embodiments, the processing device 110 may be local to or remote from the O2O service system 100. For example, the processing device 110 may access information and/or data from one or more components (e.g., the requester terminal 130, the provider terminal 140, and/or the storage device 160) of the O2O service system 100 via the network 120. As another example, the processing device 110 may be directly connected to one or more components (e.g., the requester terminal 130, the provider terminal 140, and/or the storage device 160) to access information and/or data. In some embodiments, the processing device 110 may be implemented on a cloud platform. For example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or a combination thereof. In some embodiments, the processing device 110 may be implemented by a  computing device 200 having one or more components as described in connection with FIG. 2.
In some embodiments, the processing device 110 may include one or more processors (e.g., single-core processor (s) or multi-core processor (s) ) . Merely by way of example, the processing device 110 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 of the O2O service system 100 (e.g., the processing device 110, the requester terminal 130, the provider terminal 140, the vehicle 150, the storage device 160, and the navigation system 170) may transmit information and/or data to other component (s) of the O2O service system 100 via the network 120. For example, the processing device 110 may receive a start location of a transportation order from the requester terminal 130 via the network 120. In some embodiments, the network 120 may be any type of wired or wireless network, or 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 O2O service system 100 may be connected to the network 120 to exchange data and/or  information.
In some embodiments, a service requester may be an owner of the requester terminal 130. In some embodiments, the owner of the requester terminal 130 may be someone other than the service requester. For example, an owner A of the requester terminal 130 may use the requester terminal 130 to transmit a service request for a service requester B or receive a service confirmation and/or information or instructions from the processing device 110. In some embodiments, a service provider may be a user of the provider terminal 140. In some embodiments, the user of the provider terminal 140 may be someone other than the service provider. For example, a user C of the provider terminal 140 may use the provider terminal 140 to receive a service request for a service provider D, and/or information or instructions from the processing device 110. In some embodiments, "service requester" and "requester terminal" may be used interchangeably, and "service provider" and "provider terminal" may be used interchangeably. In some embodiments, the provider terminal may be associated with one or more service providers (e.g., a night-shift service provider, or a day-shift service provider) .
In some embodiments, the requester terminal 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, smart glasses, 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 assistant (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, augmented reality glasses, 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 TM Glasses, an Oculus Rift TM, a HoloLens TM, a Gear VR TM, etc. In some embodiments, the built-in device in the vehicle 130-4 may include an onboard computer, an onboard television, etc. In some embodiments, the requester terminal 130 may be a device with positioning technology for locating the position of the service requester and/or the requester terminal 130.
The provider terminal 140 may include a plurality of provider terminals 140-1, 140-2, …, 140-n. In some embodiments, the provider terminal 140 may be similar to, or the same device as the requester terminal 130. In some embodiments, the provider terminal 140 may be customized to be able to implement the online on-demand transportation service. In some embodiments, the provider terminal 140 may be a device with positioning technology for locating the service provider, the provider terminal 140, and/or a vehicle 150 associated with the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may communicate with another positioning device to determine the position of the passenger, the requester terminal 130, the service provider, and/or the provider terminal 140. In some embodiments, the requester terminal 130 and/or the provider terminal 140 may periodically transmit the positioning information to the processing device 110. In some embodiments, the provider terminal 140 may also periodically transmit the availability status to the processing device 110. The availability status may indicate whether a vehicle 150 associated with the provider terminal 140 is available to carry a passenger. For example, the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the processing device 110 every thirty minutes. As another example, the requester terminal 130 and/or the provider terminal 140 may transmit the positioning information and the availability status to the processing device 110 each time the  user logs into the mobile application associated with the online on-demand transportation service.
In some embodiments, the provider terminal 140 may correspond to one or more vehicles 150. The vehicles 150 may carry the service requester and travel to the destination. The vehicles 150 may include a plurality of vehicles 150-1, 150-2, …, 150-n. One vehicle may correspond to one type of services (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, or a shuttle service) .
The storage device 160 may store data and/or instructions. In some embodiments, the storage device 160 may store data obtained from the requester terminal 130 and/or the provider terminal 140. In some embodiments, the storage device 160 may store data and/or instructions that the processing device 110 may execute or use to perform exemplary methods described in the present disclosure. For example, the storage device 160 may store information related to a plurality of historical transportation orders, such as a historical start location, a historical pick-up location, and a historical destination of each historical transportation order. As another example, the storage device 160 may store a plurality of recommended pick-up locations in a specific region. In some embodiments, the storage device 160 may include a mass storage device, a removable storage device, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof. Exemplary mass storage devices may include a magnetic disk, an optical disk, solid-state drives, etc. Exemplary removable storage devices may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc. Exemplary volatile read-and-write memory may include a random-access memory (RAM) . Exemplary 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. Exemplary 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 device 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.
In some embodiments, the storage device 160 may be connected to the network 120 to communicate with one or more components of the O2O service system 100 (e.g., the processing device 110, the requester terminal 130, or the provider terminal 140) . One or more components of the O2O service system 100 may access the data or instructions stored in the storage device 160 via the network 120. In some embodiments, the storage device 160 may be directly connected to or communicate with one or more components of the O2O service system 100 (e.g., the processing device 110, the requester terminal 130, the provider terminal 140) . In some embodiments, the storage device 160 may be part of the processing device 110.
The navigation system 170 may determine information associated with an object, for example, one or more of the requester terminal 130, the provider terminal 140, the vehicle 150, etc. In some embodiments, the navigation system 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, or a current time. The navigation system 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 satellite navigation system 170 may transmit the information mentioned above to the network 120, the requester terminal 130, the provider terminal 140, or the vehicle 150 via wireless connections.
In some embodiments, information exchanging of one or more components of the O2O service system 100 may be initiated by way of requesting a service. The object of the requested service 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 servicing 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 on 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 (or component) of the O2O service system 100 performs, the element may perform through electrical signals and/or electromagnetic signals. For example, when a requester terminal 130 transmits out a service request to the processing device 110, a processor of the requester terminal 130 may generate an electrical signal encoding the request. The processor of the requester terminal 130 may then transmit the electrical signal to an output port. If the requester terminal 130 communicates with the processing device 110 via a wired network, the output port may be physically  connected to a cable, which further may transmit the electrical signal to an input port of the processing device 110. If the requester terminal 130 communicates with the processing device 110 via a wireless network, the output port of the requester terminal 130 may be one or more antennas, which convert the electrical signal to electromagnetic signal. Similarly, a provider terminal 130 may receive an instruction and/or service request from the processing device 110 via electrical signal or electromagnet signals. Within an electronic device, such as the requester terminal 130, the provider terminal 140, and/or the processing device 110, when a processor thereof processes an instruction, transmits out an instruction, and/or performs an action, the instruction and/or action is conducted via electrical signals. For example, when the processor retrieves or saves data from a storage medium, it may transmit out electrical signals to a read/write device of the storage medium, which may read or write 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.
It should be noted that the example illustrated in FIG. 1 and the description thereof are 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. However, those variations and modifications do not depart from the scope of the present disclosure. Additionally or alternatively, one or more components of the O2O service system 100 described above may be omitted. For example, the storage device 140 may be omitted.
FIG. 2 is a schematic diagram illustrating exemplary hardware and software components of a computing device 200 according to some embodiments of the present disclosure. The computing device 200 may be used to implement any component of the O2O service system 100 as described herein. For example, requester terminal 130, the provider terminal 140, and/or the processing device 110 may be implemented on the computing device 200, respectively, via its hardware,  software program, firmware, or a combination thereof. Although only one such computing device is shown, for convenience, the computer functions relating to the O2O service system 100 as described herein may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load.
As illustrated in FIG. 2, the computing device 200 may include a communication bus 210, a processor 220, a storage device, an input/output (I/O) 260, and a communication port 250. The processor 220 may execute computer instructions (e.g., program code) and perform functions of one or more components (e.g., the processing device 110) of the O2O service system 100in accordance with techniques described herein. The computer instructions may include, for example, routines, programs, objects, components, data structures, procedures, modules, and functions, which perform particular functions described herein. In some embodiments, the processor 220 may include interface circuits and processing circuits therein. The interface circuits may be configured to receive electronic signals from the communication 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 communication bus 210. In some embodiments, the processor 220 may include one or more hardware processors, 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.
Merely for illustration, only one processor 220 is described in the computing device 200. However, it should be noted that the computing device 200 in the  present disclosure may also include multiple processors, thus operations and/or method operations that are 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 operation A and operation B, it should be understood that operation A and operation B may also be performed by two or more different processors jointly or separately in the computing device 200 (e.g., a first processor executes operation A and a second processor executes operation B, or the first and second processors jointly execute operations A and B) .
The storage device may store data/information related to the O2O service system 100. In some embodiments, the storage device may include a mass storage device, a removable storage device, a volatile read-and-write memory, a random access memory (RAM) 240, a read-only memory (ROM) 230, a disk 270, or the like, or any combination thereof. In some embodiments, the storage device may store one or more programs and/or instructions to perform exemplary methods described in the present disclosure. For example, the storage device may store a program for the processor 220 to execute.
The I/O 260 may input and/or output signals, data, information, etc. In some embodiments, the I/O 260 may enable a user interaction with the computing device 200. In some embodiments, the I/O 260 may include an input device and an output device. Examples of the input device may include a keyboard, a mouse, a touch screen, a microphone, or the like, or a combination thereof. Examples of the output device may include a display device, a loudspeaker, a printer, a projector, or the like, or a combination thereof. Examples of the 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) , a touch screen, or the like, or a combination thereof.
The communication port 250 may be connected to a network (e.g., the network 120) to facilitate data communications. The communication port 250 may establish connections between the computing device 200 and one or more  components of the O2O service system 100. 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 link, a mobile network link (e.g., 3G, 4G, 5G, etc. ) , or the like, or a combination thereof. In some embodiments, the communication port 250 may be and/or include a standardized communication port, such as RS232, RS485, etc. In some embodiments, the communication port 250 may be a specially designed communication port.
FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of a mobile device 300 according to some embodiments of the present disclosure. In some embodiments, one or more components of the O2O service system 100, such as the requester terminal 130, the provider terminal 140 and/or the processing device 110 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 graphics processing unit (GPU) 330, a central processing unit (CPU) 340, an I/O 350, a memory 360, 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, a mobile operating system 370 (e.g., iOS TM, Android TM, Windows Phone TM, etc. ) 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 the O2O service system 100. User interactions with the information stream may be achieved via the I/O 350 and provided to one or more other components of the O2O service system 100 via the network 120.
To implement various modules, units, and their functionalities described in  the present disclosure, computer hardware platforms may be used as the hardware platform (s) for one or more of the elements described herein. A computer with user interface elements may be used to implement a personal computer (PC) or any other type of work station or terminal device. A computer may also act as a server if appropriately programmed.
FIG. 4A is a block diagram illustrating an exemplary processing device 110A according to some embodiments of the present disclosure. FIG. 4B is a block diagram illustrating an exemplary processing device 110B according to some embodiments of the present disclosure. In some embodiments, the processing device may be configured to process information and/or data to generate a plurality of training samples. The processing device 110A may be further configured to generate a pick-up location recommendation model using the plurality of training samples. The processing device 110B may be configured to determine one or more pick-up locations for a service order using the pick-up location recommendation model. In some embodiments, the  processing devices  110A and 110B may be respectively implemented on a processing unit (e.g., a processor 220 illustrated in FIG. 2 or a CPU 340 as illustrated in FIG. 3) . Merely by way of example, the processing devices 110A may be implemented on a computing device 200, and the processing device 110B may be implemented on a CPU 340 of a terminal device. Alternatively, the  processing devices  110A and 110B may be implemented on a same computing device 200 or a same CPU 340. For example, the  processing devices  110A and 110B may be implemented on a same computing device 200.
As shown in FIG. 4A, the processing device 110A may include an obtaining module 410, a sample candidate pick-up location determination module 420, a relevance score determination module 430, a training sample generation module 440, and a model generation module 450.
The obtaining module 410 may be configured to obtain a plurality of sample service orders. Each sample service order may include a sample start location and a sample pick-up location. A sample start location of a sample service order may refer to a start location of the sample service order where a service requester of the  sample service order wanted and/or needed to start the sample service order. The sample start location may be a spot location or a faceted area. A sample pick-up location of a sample service order may refer to a pick-up location of the sample service order where a service provider of the sample service order picked up the service requester or an object of the service requester of the sample service order. In some embodiments, the obtaining module 410 may obtain the plurality of sample service orders from an external source and/or one or more components in a service system (e.g., the O2O service system 100) . More descriptions regarding the obtaining of the sample service orders may be found elsewhere in the present disclosure. See, e.g., 510 and the relevant descriptions thereof.
The sample candidate pick-up location determination module 420 may be configured to determine one or more sample candidate pick-up locations around the sample start location of a sample service order based on a first location information database. Each sample candidate pick-up location of a sample service order may have a sample relative position to a boundary of the sample start location of the sample service order. The first location information database may refer to a database that stores information related to a plurality of historical pick-up locations in a specific region (e.g., a country or a city) . In some embodiments, the sample candidate pick-up location determination module 420 may determine the sample candidate pick-up location around the start location by retrieving the first location information database or by using a candidate pick-up location determination model. More descriptions regarding the determination of the sample candidate pick-up locations may be found elsewhere in the present disclosure. See, e.g., 520 and the relevant descriptions thereof.
The relevance score determination module 430 may be configured to determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location. In some embodiments, the sample relevance score of the sample candidate pick-up location may be associated with whether the sample candidate pick-up location is an edge point at the boundary  of the sample start location or a non-edge point. The sample relevance score of the sample candidate pick-up location may be determined based on a determination result as to whether the sample candidate pick-up location is an edge point at the boundary of the sample start location or a non-edge point and/or one or more other features (e.g., a first distance between the sample candidate pick-up location and the actual sample pick-up location of the sample service order) of the sample candidate pick-up location. More descriptions regarding the determination of the sample relevance score may be found elsewhere in the present disclosure. See, e.g., 530 and the relevant descriptions thereof.
The training sample generation module 440 may be configured to generate the training sample corresponding to a sample service order. The training sample corresponding to a sample service order may include the sample start location, the sample pick-up location, the sample candidate pick-up location (s) , and the sample relevance score (s) of the sample candidate pick-up location (s) of the sample service order. In some embodiments, the training sample corresponding to the sample service order may include one or more other features of the sample service order. More descriptions regarding the generation of the training sample may be found elsewhere in the present disclosure. See, e.g., 540 and the relevant descriptions thereof.
The model generation module 450 may be configured to generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples. The preliminary model may include or be any suitable machine learning model, such as a LambdaMart model. In some embodiments, the preliminary model may be trained according to a machine learning algorithm based on a loss function. More descriptions regarding the generation of the pick-up location recommendation model may be found elsewhere in the present disclosure. See, e.g., 550 and the relevant descriptions thereof.
As shown in FIG. 4B, the processing device 110B may include a receiving module 460, a candidate pick-up location determination module 470, a recommended pick-up location determination module 480, and a transmission  module 490.
The receiving module 460 may be configured to receive a start location of a service order from a requester terminal. In some embodiments, the service order may be used to request for an O2O service. The service order may be inputted by a requester of the requester terminal (e.g., a requester terminal 130) . The start location may be a location where the service requester wants and/or needs to receive the requested O2O service. More descriptions regarding the receiving of the start location may be found elsewhere in the present disclosure. See, e.g., 710 and the relevant descriptions thereof.
The candidate pick-up location determination module 470 may be configured to determine a plurality of candidate pick-up locations around the start location base on a second location information database. A candidate pick-up location may refer to a possible location where a service provider of the service order may pick up the service requester of the service order or an object of the service requester. The start location may be a spot location or a faceted area. In some embodiments, each candidate pick-up location may have a relative position to a boundary of the start location. The second location information database may be the same or similar database to the first location information database. The determination of the candidate pick-up locations of the service order based on the second location information database may be performed in a similar manner with the determination of the sample candidate pick-up location of the sample service order based on the first location information database. More descriptions regarding the determination of the candidate pick-up locations may be found elsewhere in the present disclosure. See, e.g., 720 and the relevant descriptions thereof.
The recommended pick-up location determination module 480 may be configured to determine one or more recommended pick-up locations among the candidate pick-up locations by applying the pick-up location recommendation model to the candidate pick-up locations. In some embodiments, an input of the pick-up location recommendation model may include the relative positions of the candidate pick-up locations to the boundary of the start location, a determination result as to  whether each candidate pick-up location is an edge point or a non-edge point, and one or more other features of the service order. In response to the input, the pick-up location recommendation model may output a processing result (e.g., a ranking result of the candidate pick-up locations) or output the recommended pick-up location (s) . In some embodiments, the recommended pick-up location determination module 480 may determine the recommended pick-up location (s) based on the processing result. More descriptions regarding the determination of the recommended pick-up locations may be found elsewhere in the present disclosure. See, e.g., 730 and the relevant descriptions thereof.
The transmission module 490 may be configured to transmit the one or more recommended pick-up locations to the requester terminal for recommendation. In some embodiments, the transmission module 490 may transmit the recommended pick-up location (s) to the requester terminal via the network 120 in real-time, and the requester terminal may display the recommended pick-up location (s) on the interface of the requester terminal to the service requester. More descriptions regarding the transmission of the recommended pick-up locations may be found elsewhere in the present disclosure. See, e.g., 740 and the relevant descriptions thereof.
It should be noted that the above descriptions of the  processing devices  110A and 110B are provided for the purposes of illustration, and is 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. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, two or more modules may be integrated into a single module to perform the functions thereof. For example, the determination module 410 and the receiving module 460 may be integrated into a single module to perform the functions thereof. In some embodiments, a module may be divided into a plurality of units.
FIG. 5 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model according to some embodiments of the present disclosure. In some embodiments, process 500 may be executed by the O2O  service system 100. For example, the process 500 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) . In some embodiments, the processing device 110A (e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more modules illustrated in FIG. 4A) may execute the set of instructions and may accordingly be directed to perform the process 500.
The pick-up location recommendation model may be a model configured to receive a plurality of candidate pick-up locations around a start location of a service order, and output one or more recommended pick-up locations among the candidate pick-up locations and/or information related to the one or more recommended pick-up locations. In some embodiments, the service order may be initiated by a service requester via a requester terminal (e.g., a requester terminal 130) of the service requester. The service order may be used to request an O2O service, such as a transportation service (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, a shuttle service) , a delivery service (e.g., a meal delivery service) , or the like, or any combination thereof. The start location of the service order may refer to a location where the service requester wants and/or needs to receive the requested O2O service. A recommended pick-up location may refer to a recommended location for a service provider to pick up the service requester or an object of the service provider to provide the requested O2O service. For example, a recommended pick-up location of a transportation service order may refer to a recommended location for a driver to pick up a passenger who initiates the transportation service order. As another example, a recommended pick-up location of a delivery order may refer to a recommended location for a deliveryman to pick up an object of a service requester who initiates the delivery order.
In 510, the processing device 110A (e.g., the obtaining module 410, the interface circuits of the processor 220) may obtain a plurality of sample service orders, each sample service order including a sample start location and a sample  pick-up location.
In some embodiments, the sample service orders may include a plurality of first historical service orders of a service system (e.g., the O2O service system 100) , which are used as sample data in training the pick-up location recommendation model. For example, the sample service orders may include all or a portion of a plurality of historical transportation services that were finished in a specific historical period (e.g., three months, half a year, a year, two years, etc. ) and/or within a preset region (e.g., a city, a district, a country) in a transportation service system. Each sample service order (i.e., each first historical service order) may have a known sample start location and a known sample pick-up location. A sample start location of a sample service order may refer to a start location of the sample service order where a service requester of the sample service order wanted and/or needed to start the sample service order. A sample pick-up location of a sample service order may refer to a pick-up location of the sample service order where a service provider of the sample service order picked up the service requester or an object of the service requester of the sample service order. Taking a sample transportation service order as an instance, a sample start location of the sample transportation service order may refer to a start location of a passenger who initiated the sample transportation service order, wherein the start location may be inputted by the passenger or be a current location of the passenger when he/she initiated the sample transportation service order. A sample pick-up location of the sample transportation service order may refer to a pick-up location where a driver of the sample transportation service order picked up the passenger.
In some embodiments, a sample start location and/or a sample pick-up location of a sample service order may be represented by a location name and/or a geographic coordinate, respectively. In some embodiments, a sample start location of a sample service order may be a spot location or a faceted area. A spot location may refer to a location (e.g., a crossroad, a stop, an exit, an entrance) that has an area size smaller than a first threshold size and corresponds to a spot or point in a map. A faceted area may refer to a location (e.g., a school, a park, a market) that  has an area size larger than a second threshold size and corresponds to an area having a certain size in a map. The second threshold size may be equal to or different from the first threshold size. In some embodiments, a spot location may be represented by a location name and/or a geographic coordinate of the spot location. A faceted area may be represented by a location name and/or a geographic coordinate of one or more points within faceted area. For example, a facet area may be represented by one or more geographic coordinates of one or more representative locations of the faceted area. Exemplary representative locations of a faceted area may include a central location, an entrance, an exit, a gate, a parking place, a location close to a road (e.g., within a distance threshold to the road) , or any other location that can represent the faceted area, or any combination thereof. In some embodiments, the sample start location may have a boundary. As used herein, a boundary of a spot location may refer to the spot location itself. A boundary of a faceted area may refer to a real or an imaginary line that represents an edge of the faceted area. For example, a boundary of a school having a fence enclosing the school may be a curve line that represents the fence. As another example, a boundary of a building may be an imaginary circle enclosing the building. In some embodiments, a boundary of a faceted area may be represented by geographic coordinates of points at the boundary (or a portion of the points) .
In some embodiments, the processing device 110A may obtain the plurality of sample service orders from an external source and/or one or more components in the O2O service system 100 (e.g., the request terminal 130 and/or the storage device 160) .
In 520, for each of the sample service orders, the processing device 110A (e.g., the candidate pick-up location determination module 420, the processing circuits of the processor 220) may determine one or more sample candidate pick-up locations around the sample start location of the sample service order based on a first location information database. Each sample candidate pick-up location of a sample service order may have a sample relative position to a boundary of the sample start location of the sample service order.
For illustration purposes, the determination of one or more sample candidate pick-up locations L of a sample service order O (which has a sample start location S) is described as an example. As used herein, a sample candidate pick-up location L may refer to a possible location where a service provider of the sample service order O might pick up a service requester of the sample service order O or an object of the service requester. In some embodiments, the sample candidate pick-up location L may be a location near the sample start location S. For example, the distance between the sample candidate pick-up location L and the sample start location S may be smaller than a threshold distance T 1.
In some embodiments, each sample candidate pick-up location L may have a sample relative position to a boundary of the sample start location S. A sample relative position of a sample candidate pick-up location L to the boundary of sample start location S may be represented by, for example, a second distance between the sample candidate pick-up location L and the boundary of the sample start location S, an orientation from the sample candidate pick-up location L to the sample start location S, whether the sample candidate pick-up location L is an edge point at the boundary of the sample start location S or a non-edge point, or the like, or any combination thereof. In some embodiments, if the sample start location S is a spot location, and each sample candidate pick-up location L may be regarded as a non-edge point out of the boundary of the spot location. If the sample start location S is a faceted area, the second distance may be a distance between the sample candidate pick-up location L and any point (e.g., a point closest to or most far away from the sample candidate pick-up location L) at the boundary of the facet area. A determination as to whether the sample candidate pick-up location L is an edge point at the boundary of the faceted area or a non-edge point may be associated with the second distance between the sample candidate pick-up location L and the boundary of the facet area. For example, an edge point at the boundary of the faceted area may refer to a sample candidate pick-up location L whose second distance to the boundary of the facet area is smaller than a threshold distance T 2. A non-edge point of the faceted area may refer to a sample candidate pick-up location L whose  second distance to the boundary of the facet area is greater than the threshold distance T 2. The threshold distance T 2 may be any suitable values, such as but not limited to 1 meter, 5 meters, 10 meters, 20 meters, or the like.
The first location information database may refer to a database that stores information related to a plurality of historical pick-up locations in a specific region (e.g., a country or a city) . The first location information database may be a local database in the O2O service system 100, for example, be a portion of the storage device 160. Alternatively, the first location information database may be a remote database, such as a cloud database, which can be accessed by the processing device 110A via the network 120.
In some embodiments, the historical pick-up locations stored in the first location information database may include historical pick-up locations of a plurality of second historical service orders of a service system (e.g., the O2O service system 100) . The second historical service orders may include all or a portion of historical service orders that were finished in a historical period (e.g., three months, half a year, a year, two years, etc. ) in the service system. The information related to a historical pick-up location may include position information (e.g., a coordinate) , information related to a road at which the historical pick-up location locates (e.g., a road type, a count of historical pick-up locations along the road, etc. ) , a number of times that the historical pick-up location has been used as a pick-up location, one or more historical start locations corresponding to the historical pick-up location, a relative position of the historical pick-up location to a boundary of a corresponding historical start location, a relative position of the historical pick-up location to a representative location of a corresponding historical start location, or the like, or any combination thereof. As used herein, if a historical start location and a historical pick-up location of a historical service order are A and B, respectively, the historical start location A may be regarded as being corresponding to the historical pick-up location B.
In some embodiments, the first location information database may store information of each historical pick-up location as a data point. Alternatively, the first  location information database may store a map of the specific region, and each historical pick-up location may be mapped to, for example, a road or a position at which the historical pick-up location locates in the map. Alternatively, the first location information database may store a mapping table between the historical start locations and the historical pick-up locations of the second historical service orders. Merely by way of example, the first location information database may store a plurality of records, each of which corresponds to a historical start location of the second historical service orders. A record corresponding to a specific historical start location may include one or more historical pick-up locations corresponding to the specific historical start location, and information related each of the one or more historical pick-up locations (e.g., position information, a relative position of each of the one or more historical pick-up locations to a boundary and/or a representative location of the specific historical start location, and/or other information as described above) .
In some embodiments, for the sample service order O, the processing device 110A may determine the sample candidate pick-up location (s) L around the sample start location S by retrieving the first location information database. For example, the processing device 110A may select, among the plurality of historical pick-up locations in the first location information database, one or more historical pick-up locations within the threshold distance T 1 to the sample start location S. The processing device 110A may further designate the selected historical pick-up location (s) as the sample candidate pick-up location (s) L of the sample service order O. As another example, the first location information database may store a plurality of records corresponding to the historical start locations of the second historical service orders as described above. The processing device 110A may determine a historical start location (denoted as H) that matches the sample start location S, e.g., a historical start location that is closest to the sample start location S among the historical start locations in the first location information database. The processing device 110A may determine all or a portion of historical pick-up location (s) corresponding to the historical start location H as the sample candidate pick-up  location (s) L of the sample service order O. For example, the processing device 110A may select a portion of the historical pick-up location (s) corresponding to the historical start location H as the sample candidate pick-up location (s) L, wherein a distance between each selected historical pick-up location and the sample start location S is within the threshold distance T 1.
In some embodiments, the sample candidate pick-up location (s) L of the sample service order O may be determined according to a candidate pick-up location determination model (also referred to as a pick-up location recall model) . For example, the candidate pick-up location determination model may be a rule model that defines one or more rules and/or algorithms for candidate pick-up location determination based on the first location information database. Information related to the sample service order O (e.g., the sample start location S) may be inputted into the candidate pick-up location determination model, and the candidate pick-up location determination model may output the sample candidate pick-up location (s) L and/or information related to each sample candidate pick-up location L (e.g., a sample relative position to a boundary of the sample start location S) .
In some embodiments, the sample relative position of each sample candidate pick-up location L to the boundary of the sample start location S may be retrieved from the first location information database or determined based on position information of the each sample candidate pick-up location L and the sample start location S by the processing device 110A.
In 530, for each sample candidate pick-up location of each sample service order, the processing device 110A (e.g., the relevance score determination module 430, the processing circuits of the processor 220) may determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location.
For illustration purposes, the determination of a sample relevance score of a sample candidate pick-up location L with respect to the sample service order O (which has a sample start location S and a sample pick-up location P) is described  as an instance. As used herein, a sample relevance score of the sample candidate pick-up location L may indicate a recommended degree for the sample candidate pick-up location L to be a pick-up location of the sample service order O. For example, a higher sample relevance score may indicate that the sample candidate pick-up location L is more recommended to be a pick-up location of the sample service order O. In some embodiments, the sample relevance score may be represented by, for example, a number, a level, a degree, a rating, or the like, or any combination thereof. For example, the sample relevance score may be represented by an integer in a range of [0, 2] or a fraction in a range of [0, 1] . As another example, the sample relevance score may be represented by a plurality of relevance levels, e.g., a low level of relevance, a middle level of relevance, and a high level of relevance. As yet another example, the sample relevance score may be expressed in rating, such as “A” , “AA” , “AAA” , wherein “AAA” indicates the highest rating of relevance, “AA” indicates the middle rating of relevance, and “A” indicates the lowest rating of relevance.
In some embodiments, the sample relevance score of the sample candidate pick-up location L may be associated with whether the sample candidate pick-up location L is an edge point at the boundary of the sample start location S or a non-edge point. For example, a sample relevance score of an edge point may be higher than that of a non-edge point. In some embodiments, the processing device 110A may determine whether the sample candidate pick-up location L is an edge point or a non-edge point based on the sample relative position of the sample candidate pick-up location L to the boundary of the sample start location S. In some embodiments, as described in connection with 520, the sample relative position may include whether the sample candidate pick-up location L is an edge point or a non-edge point. The processing device 110A may directly retrieve the determination result as to whether the sample candidate pick-up location L is an edge point or a non-edge point from the sample relative position. Alternatively, the sample relative position may include a second distance between the sample candidate pick-up location L and the sample start location S. The processing device 110A may determine that the  sample candidate pick-up location L is an edge point if the second distance is smaller than the threshold distance T 2. The processing device 110A may determine that the sample candidate pick-up location L is a non-edge point if the second distance is greater than the threshold distance T 2.
Further, the processing device 110A may determine the sample relevance score of the sample candidate pick-up location L based on a determination result as to whether the sample candidate pick-up location L is an edge point or a non-edge point (referred to as the determination result for brevity) . For example, a first sample relevance score may be assigned to the sample candidate pick-up location L if the sample candidate pick-up location L is an edge point, and a second sample relevance score may be assigned to the sample candidate pick-up location L if the sample candidate pick-up location L is a non-edge point. The second sample relevance score may be lower than the first sample relevance score.
In some embodiments, the processing device 110A may determine the sample relevance score of the sample candidate pick-up location L based on the determination result in combination with one or more other features of the sample candidate pick-up location L. Exemplary other features of the sample candidate pick-up location L may include a first distance between the sample candidate pick-up location L and the actual sample pick-up location P of the sample service order O, whether the sample candidate pick-up location L is located at a road, a closest distance from the sample candidate pick-up location L and a road, a distance between the sample candidate pick-up location L to a representative location of the sample start location S (if the sample start location S is a faceted area) , a distance between the sample candidate pick-up location L to a location of a user who initiated the sample service order O, or the like, or any combination thereof.
Merely by way of example, the processing device 110A may determine the first distance between the sample candidate pick-up location L and the sample pick-up location P based on position information of the sample candidate pick-up location L and the sample pick-up location P. The processing device 110A may further determine the sample relevance score of the sample candidate pick-up location L  based on the first distance and the determination result. For example, the processing device 110A may assign the first or second sample relevance score to the sample candidate pick-up location L according to the determination result. The processing device 110A may further adjust the sample relevance score of the sample candidate pick-up location L by multiplying the sample relevance score with a coefficient, wherein the coefficient has a negative correlation with the first distance. As another example, a third sample relevance score may be assigned to the sample candidate pick-up location L if the first distance is greater than a threshold distance T 3 and the sample candidate pick-up location L is a non-edge point. A fourth sample relevance score may be assigned to the sample candidate pick-up location L if the first distance is smaller than the threshold distance T 3 and the sample candidate pick-up location L is the non-edge point. A fifth sample relevance score may be assigned to the sample candidate pick-up location L if the first distance is smaller than the threshold distance T 3 and the sample candidate pick-up location L is an edge point. The third sample relevance score may be smaller than the fourth sample relevance score, and the fourth sample relevance score may be smaller than the fifth sample relevance score. Merely by way of example, the third, fourth, and fifth sample relevance scores may be 0, 1, and 2, respectively.
In some embodiments, a value or a range of the sample relevance score of the sample candidate pick-up location L may be determined based on a mapping table or a correlation function. The mapping table may record different determination results and a corresponding sample relevance score of each determination result, or different combinations of determination results and values (or ranges) of the first distance and a corresponding sample relevance score of each combination. The correlation function may be a function between the sample relevance score, the determination result, and optionally the first distance. In some embodiments, the processing device 110A may determine the sample relevance score of the sample candidate pick-up location L by looking up the mapping table or solving the correlation function.
Additionally or alternatively, the sample relevance score may also be  determined based on one or more other features (as described in 530) of the sampling candidate pick-up location other than the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point and/or the first distance. For example, the relevance may be determined based on a distance between the sample candidate pick-up location to a representative location of the faceted area. As another example, the sample relevance score may also be determined based on a distance between the sample candidate pick-up location to a location of a user who initiated the sample service order.
In some embodiments, a threshold distance (e.g., the threshold distances T 1, T 2, and/or T 3) described above may be a default parameter stored in a storage device (e.g., the storage device 160) or be set by a user of the O2O service system 100. In some embodiments, a threshold distance may be determined by one or more components in the O2O service system 100, such as but not limited to the processing engine 110A. In some embodiments, the value of a threshold distance may vary in different scenarios. Merely by way of example, a smaller threshold distance T 2 may be adopted in edge point determination for a sample start location in a city than that adopted in edge point determination for a sample start location in a suburb.
In 540, for each of the sample service orders, the processing device 110A (e.g., the training sample generation module 410, the processing circuits of the processor 220) may generate a training sample corresponding to the sample service order.
The training sample corresponding to a sample service order may include the sample start location, the sample pick-up location, the sample candidate pick-up location (s) , and the sample relevance score (s) of the sample candidate pick-up location (s) of the sample service order. For instance, the training sample corresponding to the sample service order O may include the sample start location S, the sample pick-up location P, the sample candidate pick-up location (s) L, and a sample relevance score of each sample candidate pick-up location L.
In some embodiments, the training sample corresponding to the sample  service order O may include one or more other features of the sample service order O, such as a location at which a service requester located when he/she initiated the sample service order O, a location at which a service provider located when he/she accepted the sample service order O, a traffic condition at the sample start location S when the sample service order O was initiated, a time when the sample service order O was initiated, one or more additional features of each sample candidate pick-up location L, or the like, or any combination thereof. Exemplary additional features of a sample candidate pick-up location L may include a distance between the sample candidate pick-up location L to a location of a service requester who initiated the sample service order, information related to a road where the sample candidate pick-up location L locates, or the like, or any combination thereof. In some embodiments, the sample start location S may be a faceted area, and exemplary additional features of a sample candidate pick-up location L may include a distance between the sample candidate pick-up location L to a central point of the faceted area, a shortest distance between the sample candidate pick-up location L to the boundary of the faceted area, a distance between the sample candidate pick-up location L to a representative location of the faceted area, or the like, or any combination thereof.
In some embodiments, an additional feature of the sample service order O may be stored in the first location information database, and the processing device 110A may obtain the additional feature by retrieving the first location information database. In some embodiments, the processing device 110A may determine an additional feature of the sample service order O by performing data analysis on, for example, information related to the sample service order O, position information of the sample candidate pick-up location L and the sample start location S, or the like, or any combination thereof. In some embodiments, in addition to the above described features of the sample service order O, one or more derived features may be determined from the features. For example, the derived feature (s) may be represented as linear or non-linear combinations of the features.
In 550, the processing device 110A (e.g., the model generation module 410,  the processing circuits of the processor 220) may generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
The preliminary model may include or be any suitable machine learning model, such as a LambdaMart model, an adaptive ranking (AdaRank) model, an support vector machine for optimizing mean average precision (SVM-MAP) model, a SoftRank model, or the like. In some embodiments, the preliminary model may be a LambdaMart model. The LambdaMart model may be a boosted tree version of LamdaRank model, which combines a LamdaRank model and an MART model. The LandaRank model introduces the use of a Lambda into a RankNet model. The RankNet model utilizes a pairwise approach and uses Gradient Descent (GD) to update weights or model parameters for learning a rank problem. The MART model is a boosted tree model (e.g., a cascade of trees) , in which a gradient may be determined based on each new tree, to estimate a direction that minimizes a loss function. Each tree in MART may contribute to a gradient step in the direction that minimizes a loss function, and an ensemble of these trees may be designated as a final model (i.e., the MART) . The LambdaMART model uses the ensemble of MART but it replaces the gradient in MART with the Lambda presented in LambdaRank and optionally an evaluation indicator. The evaluation indicator may be configured to evaluate a ranking quality. Exemplary evaluation indicators may include a Mean Reciprocal Rank (MRR) , a Mean Average Precision (MAP) , a Normalized Discounted Cumulative Gain (NDCG) , an Expected Reciprocal Rank (ERR) , or the like, or any combination thereof. In some embodiments, the evaluation indicator may include the NDGC.
In some embodiments, the preliminary model may be trained according to a machine learning algorithm. The machine learning algorithm may include but not be limited to an artificial neural network algorithm, a deep learning algorithm, a decision tree algorithm, an association rule algorithm, an inductive logic programming algorithm, a support vector machine algorithm, a clustering algorithm, a Bayesian network algorithm, a reinforcement learning algorithm, a representation  learning algorithm, a similarity and metric learning algorithm, a sparse dictionary learning algorithm, a genetic algorithm, a rule-based machine learning algorithm, or the like, or any combination thereof. In some embodiments, the machine learning algorithm used to train the preliminary model may be a supervised learning algorithm, a semi-supervised learning algorithm, a transductive learning algorithm, a reinforcement-based learning algorithm, or the like, or any combination thereof.
In some embodiments, the preliminary model may have an initial setting (e.g., one or more initial values of one or more model parameters) . The processing device 110A may train the preliminary model using the plurality of training samples to update the values of the model parameter (s) of the preliminary model. In some embodiments, the training of the preliminary model may include one or more iterations. For example, the processing device 110A may perform one or more iterations of process 600 as described in connection with FIG.. 6 to train the preliminary model, so as to generate the pick-up location recommendation model.
In some embodiments, the training of the preliminary model may be performed based on a loss function. For example, the preliminary model may be trained in order to minimize the value of the loss function. In some embodiments, a sample candidate pick-up location of a training sample may be assigned with a weight, wherein the weight may be incorporated into the loss function and have an influence on the value of the loss function. Optionally, a weight assigned to a sample candidate pick-up location may be associated with one or more specific features of the sample candidate pick-up location, for example, a sample relevance score of the sample candidate pick-up location with respect to a corresponding sample service order, whether the sample candidate pick-up location is an edge point or not, a first distance between the sample candidate pick-up location and a corresponding actual sample pick-up location, or the like, or any combination thereof. In this way, the one or more specific features may have a greater impact on the training of the preliminary model than other features of the training samples. Merely by way of example, a higher weight may be assigned to a sample candidate pick-up location being an edge point than a sample candidate pick-up location being a non- edge point, such that the pick-up location recommendation model may be more likely to recommend a candidate pick-up location that is an edge point. An application of such pick-up location recommendation model may improve the efficiency of the O2O service system 100. For example, it is easier and more convenient for a service requester and/or a service provider to identify a candidate pick-up location which is an edge point recommended by the O2O service system 100. This may further facilitate the service process and reduce system load, for example, by avoiding an unnecessary communication between service requesters and service providers.
In addition, the present disclosure may employ a machine-learning algorithm to learn a complex mapping between an input (e.g., the specific feature (s) of at least one sample candidate pick-up location, other feature (s) of sample service orders) and an output of interest (e.g., a recommended pick-up location, a ranking of a plurality of recommended pick-up locations) . The embodiments of the present disclosure do not rely on an a priori assumed model describing the relationship between the input and the output. Instead, according to some embodiments of the present disclosure, an optimal mapping may be determined via a statistical approach using one or more machine-learning algorithms to learn the mapping from the training samples. For example, during the training of the preliminary model, optimal weights of different features of training samples (including specific feature (s) of at least one sample candidate pick-up location and other feature (s) of the training samples) may be determined. In application, the pick-up location recommendation model may comprehensively consider different features of a service order to determine a suitable recommended pick-up location. This may further improve the efficiency of the O2O service system 100.
It should be noted that the above description regarding the process 500 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 or modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, one or more operations  may be added or omitted. For example, after the pick-up location recommendation model is generated, the processing device 110A may further test the pick-up location recommendation model using a set of testing sample service orders. Additionally or alternatively, the processing device 110A may update the pick-up location recommendation model periodically or irregularly based on updated training samples. The updated training samples may include training samples corresponding to new sample service orders, or a combination of new and original sample service orders.
FIG. 6 is a flowchart illustrating an exemplary process for generating a pick-up location recommendation model by training a preliminary model according to some embodiments of the present disclosure. In some embodiments, process 600 may be executed by the O2O service system 100. For example, the process 600 may be implemented as a set of instructions (e.g., an application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) . In some embodiments, the processing device 110A (e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more modules illustrated in FIG. 4A) may execute the set of instructions and may accordingly be directed to perform the process 600. In some embodiments, one or more operations of the process 600 may be performed to achieve at least part of operation 550 as described in connection with FIG. 5.
In some embodiments, the preliminary model may include or be any suitable machine learning model, such as a LambdaMart model, an AdaRank model, an SVM-MAPmodel, a SoftRank model, model, or the like. The preliminary model have an initial setting, such as one or more initial values of one or more model parameters. For example, the preliminary model may be a LambdaMart model, and exemplary model parameters of the LambdaMart model may include a loss function, a positive learning rate in an iteration, a number of decision trees, a depth of each decision tree, a number of leaf nodes in each decision tree, a number of training samples for each leaf node, a number of features of each training sample, or the like, or any combination thereof. In the training, the one or more parameter values of the  model parameter (s) of the preliminary model may be updated.
In some embodiments, the processing device 110A (e.g., the model generation module 450, the processing circuits of the processor 220) may perform 610 for each training sample to determine a ranking result of the corresponding sample candidate pick-up location (s) . Taking the sample service order O as an instance, the sample candidate pick-up location (s) L may include a plurality of sample candidate pick-up locations L. The processing device 110A may determine a ranking result of the sample candidate pick-up locations L according to the sample relevance scores of the sample candidate pick-up locations. The sample candidate pick-up locations L may be ranked according to respective sample relevance scores, for example, from high to low or from low to high. Merely by way of example, the sample candidate pick-up locations L includes 4 sample candidate pick-up locations L 1, L 2, L 3, and L 4, the sample relevance score of which is 1, 0, 1 and 2, respectively. The ranking result of the sample candidate pick-up locations L may be “L 4, L 3, L 1, L 2” or “L 4, L 1, L 3, L 2” . In some embodiments, the sample candidate pick-up locations L 1 and L 3 with the same sample relevance score may be ranked randomly in the ranking result. In some embodiments, the processing device 110A may determine the ranking result of a training sample according to a ranking algorithm, e.g., a bubble sort algorithm, a selection sort algorithm, a Shell’s sort algorithm, a quicksort algorithm, an insertion sort algorithm, a merge sort algorithm, a heapsort algorithm, etc.
The ranking result of a training sample may be used as a ground truth value of the training sample in training the preliminary model. The training of the preliminary model may learn or train a mapping between features and the ground truth values by, for example, minimizing the best fit between predictions and ground truth values over a portion of or the entire training samples. In some embodiments, the training of the preliminary model may include one or more iterations. For illustration purposes, a current iteration of the iteration (s) is described in the following description. The current iteration may include one or more operations of 620 to 670.
In 620, for each training sample, the processing device 110A (e.g., the model generation module 450, the processing circuits of the processor 220) may determine a predicted ranking result of the corresponding sample candidate pick-up location (s) by applying the preliminary model in the current iteration to the training sample.
The predicted ranking result may be an output of the preliminary model based on the training sample. Taking the exemplary sample service order O described in 610 as an instance, the predicted ranking result of the sample candidate pick-up locations L 1, L 2, L 3, and L 4 may be “L 4, L 3, L 1, and L 2” , or “L 3, L 4, L 1, and L 2” , which may be the same as or different from the actual ranking result.
In 630, the processing device 110A (e.g., the model generation module 450, the processing circuits of the processor 220) may determine a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score (s) the sample candidate pick-up location (s) of each training sample.
The loss function may be configured to measure a difference between predicted ranking results and the ground truth ranking results of the training samples. The value of the loss function may indicate the accuracy of the preliminary model in the current iteration. For example, the higher the loss function, the more accurate the preliminary model in the current iteration is.
In some embodiments, for each training sample, the processing device 110A may determine a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position based on the sample relevance score (s) of the sample candidate pick-up location (s) of the training sample. The NDCG of a predicted ranking result may be configured to measure an accuracy of the predicted ranking result at and/or before the preset rank position. The preset rank position may be, for example, the first rank position, the second rank position, the third rank position, or the like. For example, the preset rank position may be the second rank position, and the NDCG of a predicted result may be configure to measure an accuracy of the predicted result at the first and second rank positions. In some embodiments, the preset rank positions with respect to different training samples may be the same or different.
In some embodiments, an NDCG P of a specific predicted ranking at a preset rank position p may be determined according to Equation (1) as below:
NDCG P=CDG P/IDCG P, Equation (1)
wherein DCG P refers to a discounted cumulative gain of the specific predicted ranking result at the preset rank position p, and IDCG P refers to an ideal discounted cumulative gain (IDCG) of the specific predicted ranking result at the preset rank position p. The premise of DCG may be that highly relative sample candidate pick-up location appearing lower in a predicted ranking result should be penalized as the graded relevance value is reduced logarithmically proportionally to the position in the predicted ranking result. The IDCG of a predicted ranking result may refer to an ideal DCG at the preset rank position p, which may be determined by sorting all sample candidate pick-up locations of a training sample by their sample relevance scores to produce a maximum possible DCG at the preset rank position p. In some embodiments, DCG P and IDCG P may be determined according to Equation (2) and Equation (3) as below, respectively:
Figure PCTCN2020123554-appb-000001
Figure PCTCN2020123554-appb-000002
wherein rel i refers to a graded relevance value of the i th sample candidate pick-up location of the training sample, and |REL| refers to a set of sample candidate pick-up locations of the training sample ranked according to respective sample relevance scores from high up to the preset rank position p. The graded relevance value of the i th sample candidate pick-up location may be associated with a sample relevance score of the i th sample candidate pick-up location and/or a weight assigned to the i th sample candidate pick-up location. In some embodiments, the graded relevance value of the i th sample candidate pick-up location may be euqal to the sample relevance score of the i th sample candidate pick-up location.
In some embodiments, the NDCG P of the specific predicted ranking result at the preset rank position p may further incorporate a weight of each sample candidate pick-up location in the specific predicted ranking result, wherein the weight  of a sample candidate pick-up location may be associated with a sample relevance score of the sample candidate pick-up location. As described in connection with 530, the sample relevance score of a sample candidate pick-up location may be determined based on one or more specific features of the sample candidate pick-up location, such as whether the sample candidate pick-up location is an edge point, a first distance between the sample candidate pick-up location and a corresponding sample pick-up location, or the like. In some embodiments, different weights may be assigned to different sample candidate pick-up locations with different sample relevance scores. As such, compared with other feature (s) of the training samples, the one or more specific features may have a greater impact on the value of the loss function and the pick-up location recommendation model to be trained.
For illustration purposes, it is assumed that a first sample candidate pick-up location is an edge point having a first distance smaller than the threshold distance T 3, a second sample candidate pick-up location is an edge point having a first distance greater than the threshold distance T 3, and a third sample candidate pick-up location is a non-edge point. The sample relevance scores of the first, second, and third sample candidate pick-up locations may be equal to 2, 1, and 0, respectively. For example, the weights assigned to the first, second, and third sample candidate pick-up locations may be equal to 1.5, 1, and 0, respectively. As another example, the weights assigned to the first, second, and third sample candidate pick-up locations may be equal to 1.001, 1, and 1, respectively. As such, the pick-up location recommendation model may be more likely to recommend a candidate pick-up location being an edge point. In some embodiments, the rel i may be equal to the weight of the i th sample candidate pick-up location or be determined based on the sample relevance score and the weight of the i th sample candidate pick-up location (e.g., by multiplying the sample relevance score with the weight of the i th sample candidate pick-up location) , such that the weight of the i th sample candidate pick-up location is incorporated into NDCG P.
After the NDCG of each training sample is determined, the processing device 110A may further determine the value of the loss function based on the  NDCG of each training sample. In some embodiments, the loss function may have a correlation with NDCG, and the processing device 110A may determine the value of the loss function based on the correlation. In some embodiments, for a training sample, the processing device 110A may determine a ΔNDCG, which measures a change of NDCG by swapping a pair of sample candidate pick-up locations in the predicted ranking result. The processing device 110A may further determine the value of the loss function based on ΔNDCG.
In 640, the processing device 110A (e.g., the model generation module 450, the processing circuits of the processor 220) may determine whether a termination condition is satisfied in the current iteration based on the value of the loss function in the current iteration.
An exemplary termination condition may be that the value of the loss function in the current iteration is less than a threshold value. Other exemplary termination conditions may include that a maximum number (or count) of iterations has been performed, a difference between the values of the loss function obtained in a previous iteration and the current iteration (or among the values of the loss function within a certain number or count of successive iterations) is less than a certain threshold.
Upon a determination that the termination condition is satisfied in the current iteration, the process 600 may proceed to operation 650. In 650, the processing device 110A (e.g., the model generation module 450, the processing circuits of the processor 220) may designate the preliminary model in the current iteration as the pick-up location recommendation model. Optionally, the processing device 110A may further store the pick-up location recommendation model into a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) of the O2O service system 100 and/or output the pick-up location recommendation model for use in pick-up location recommendation (e.g., in process 700 as described in connection with FIG. 7) .
Upon a determination that the termination condition is not satisfied in the current iteration, the process 600 may proceed to  operations  660 and 670, and  further repeat operations 620 to 640 until the termination condition is satisfied. In 660, the processing device 110A (e.g., the model generation module 450, the processing circuits of the processor 220) may update the preliminary model in the current iteration according to the value of the loss function. For example, the processing device 110A may update the value (s) of the model parameter (s) of the preliminary model based on the value of the loss function according to, for example, a backpropagation algorithm.
In 670, the processing device 110A (e.g., the model generation module 450, the processing circuits of the processor 220) may designate the updated preliminary model in the current iteration as a preliminary model in a next iteration.
After 670, the processing device 110A may proceed to operation 620 to perform the next iteration until the termination condition is satisfied. After the termination condition is satisfied in a certain iteration, the preliminary model in the certain iteration having the updated value (s) of the model parameter (s) may be designated as the pick-up location recommendation model.
It should be noted that the above description regarding the process 600 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 or modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, one or more operations may be added or omitted. For example, the processing device 110A may further test the trained model using a set of testing samples to determine whether a testing condition is satisfied. If the testing condition is not satisfied, the process 600 may be performed again to further train the model.
FIG. 7 is a flowchart illustrating an exemplary process for determining one or more pick-up locations for a service order using a pick-up location recommendation model according to some embodiments of the present disclosure. In some embodiments, process 700 may be executed by the O2O service system 100. For example, the process 700 may be implemented as a set of instructions (e.g., an  application) stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) . In some embodiments, the processing device 110B (e.g., the processor 220 of the computing device 200, the CPU 340 of the mobile device 300, and/or one or more modules illustrated in FIG. 4B) may execute the set of instructions and may accordingly be directed to perform the process 700.
In some embodiments, the pick-up location recommendation model may refer to a model configured to receive a plurality of candidate pick-up locations around a start location of a service order, and output one or more recommended pick-up locations among the candidate pick-up locations and/or information related to the one or more recommended pick-up locations. In some embodiments, the pick-up location recommendation model may be trained by a processing device by performing an exemplary process (e.g., the process 500) of training the pick-up location recommendation model disclosed in the present disclosure. For example, the pick-up location recommendation model may be trained by the processing device 110A, and stored in a storage device (e.g., the storage device 160, the ROM 230, the RAM 240, and/or the storage 390) of the O2O service system 100. The processing device 110B may retrieve the pick-up location recommendation model from the storage device and apply the pick-up location recommendation model in pick-up location recommendation.
In 710, the processing device 110B (e.g., the receiving module 460, the interface circuits of the processor 220) may receive a start location of a service order from a requester terminal.
In some embodiments, the service order may be used to request for an O2O service, such as a transportation service (e.g., a taxi-hailing service, a chauffeur service, an express car service, a carpool service, a bus service, a driver hire service, a shuttle service) , a delivery service (e.g., a meal delivery service) , or the like, or any combination thereof. The service order may be inputted by a requester of the requester terminal (e.g., a requester terminal 130) . The start location may be a location where the service requester wants and/or needs to receive the requested  O2O service. The start location may be any location. For example, the start location may include but not be limited to a building (e.g., a hospital, a supermarket, a school) , a station (e.g., a bus station, a train station) , a location along a street, a cross road, a scenery (e.g., a mountain, a river, a scenic spot) , or the like, or any sub-part (e.g., a particular exit of a building) or combination thereof.
In some embodiments, the start location may be inputted by a requester via the requester terminal and then transmitted to the processing device 110B. The requester may input the start location via, for example, a typing mechanism (e.g., a keyboard) , a voice input mechanism (e.g., a microphone) , a gesture input mechanism (e.g., a touch screen) of the requester terminal, or the like, or any combination thereof. For example, the requester terminal may display a map with a maker, and the requester may drag the maker to a desired location to input the start location. In some embodiments, the start location may be determined by the processing device 110B or the requester terminal according to, for example, position information (e.g., a current location) , historical service orders, and/or a key word inputted by the requester. The requester terminal may display the determined start location and transmit the determined start location to the processing device 110B after receiving a confirmation from the requester.
In 720, the processing device 110B (e.g., the candidate pick-up location determination module 470, the processing circuits of the processor 220) may determine a plurality of candidate pick-up locations around the start location base on a second location information database.
A candidate pick-up location may refer to a possible location where a service provider of the service order may pick up the service requester of the service order or an object of the service requester. Similar to the sample start location, the start location may be a spot location or a faceted area. As described in connection with operation 510, a boundary of a spot location may refer to the spot location itself, and a boundary of a faceted area may refer to a real or an imaginary line that represents an edge of the faceted area. In some embodiments, a candidate pick-up location of the service order may be similar to a sample candidate pick-up location of a sample  service order as described in connection with operation 520, and the descriptions thereof are not repeated here.
In some embodiments, each candidate pick-up location may have a relative position to a boundary of the start location. The relative position of a candidate pick-up location to the start location may be represented by, for example, a third distance between the candidate pick-up location and the boundary of the start location, an orientation from the candidate pick-up location to the boundary of the start location, whether the candidate pick-up location is an edge point at the boundary of the start location or a non-edge point, or the like, or any combination thereof. In some embodiments, if the start location is a spot location, each candidate pick-up location may be regarded as a non-edge point out of the boundary of the spot location. If the start location is a faceted area, the third distance may be a distance between the candidate pick-up location and any point (e.g., a point closest to or most far away from the candidate pick-up location) at the boundary of the facet area.
The second location information database may be a same or similar database to the first location information database as described in connection with FIG. 5. The second location information database may store information related to a plurality of historical pick-up locations in a specific region (e.g., a country or a city) . The processing device 110B may determine the candidate pick-up locations around the start location by retrieving the second location information database. In some embodiments, the determination of the candidate pick-up locations of the service order based on the second location information database may be performed in a similar manner with the determination of the sample candidate pick-up location L of the sample service order O based on the first location information database, and the descriptions thereof are not repeated here.
In 730, the processing device 110B (e.g., the recommended pick-up location determination module 480, the processing circuits of the processor 220) may determine one or more recommended pick-up locations among the candidate pick-up locations by applying the pick-up location recommendation model to the  candidate pick-up locations.
In some embodiments, an input may be inputted into the pick-up location recommendation model, wherein the input may at least include the relative positions of the candidate pick-up locations to the boundary of the start location. In some embodiments, the processing device 110B may further determine whether each candidate pick-up location is an edge point at the boundary of the start location or a non-edge point based on the relative position of the candidate pick-up location, and the determination result as to whether each candidate pick-up location is an edge point or a non-edge point may be included in the input. Additionally or alternatively, the input may further include one or more other features of the service order, such as a location at which the service requester located when he/she initiates the service order, a location at which the service provider located when he/she accepts the service order, a traffic condition at the start location when the service order is initiated, a time when the service order is initiated, one or more additional features of each candidate pick-up location, or the like, or any combination thereof. The feature (s) of the service order may be similar to the feature (s) of a sample service order as described in connection with FIG. 5, and the descriptions thereof are not repeated here.
In some embodiments, in response to the input, the pick-up location recommendation model may output a processing result. For example, the processing result may include a relevance score of each candidate pick-up location with respect to the service order and/or a ranking result of the candidate pick-up locations (e.g., a ranking result in which the candidate pick-up locations are ranked according to their respective relevance scores in a descending order) . The processing device 110B may further determine the recommended pick-up location (s) among the candidate pick-up locations based on the relevance scores and/or the ranking result of the candidate pick-up locations. The recommended pick-up location (s) may include all or a portion of the candidate pick-up locations. In some embodiments, the processing device 110B may select one or more candidate pick-up locations among the candidate pick-up locations as the recommended pick-up  location (s) . The recommended pick-up location (s) may include, for example, one or more candidate pick-up location having top N relevance scores and/or relevance scores greater than a threshold score. N may be any positive integer value (e.g., 1, 2, 3, 4, or 5) or any percentage value (e.g., 10%, 20%, 30%, 40%, or 50%) .
In some embodiments, in response to the input, the pick-up location recommendation model may output the recommended pick-up location (s) . For example, the pick-up location recommendation model may output the one or more candidate pick-up location having top N relevance scores and/or relevance scores greater than the threshold score. The one or more candidate pick-up location having top N relevance scores and/or relevance scores greater than the threshold score may be regarded as the recommended pick-up location (s) .
In 740, the processing device 110B (e.g., the transmission module 490, the processing circuits of the processor 220) may transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
In some embodiments, the processing device 110B may transmit the recommended pick-up location (s) to the requester terminal via the network 120 in real-time, and the requester terminal may display the recommended pick-up location (s) on the interface of the requester terminal to the service requester. Optionally, the processing device 110B may also transmit the recommended pick-up location (s) to a provider terminal of a service provider who accepts the service order for display. In some embodiments, the recommended pick-up location (s) may include a plurality of recommended pick-up locations. The recommended pick-up location (s) may be displayed according to the output of the pick-up location recommendation model described above. For example, a list, in which the recommended pick-up locations are ranked according to their relevance scores in a descending order, may be displayed. As another example, the recommended pick-up location having the highest relevance score may be displayed in red and other recommended pick-up location (s) may be displayed in grey. In some embodiments, the way of displaying the one or more recommended pick-up locations may be set by the service requester of the requester terminal.
In some embodiments, the service requester and/or the service provider may interact with the displayed recommended pick-up location (s) . Merely by way of example, the service requester may select a desired pick-up location, and the desired pick-up location may be transmitted to the service provider.
It should be noted that the above description regarding the process 700 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 or modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, one or more operations may be added or omitted. For example, the process 700 may include an additional operation to receive a response (e.g., a selection) from the service requester and/or the service provider regarding the recommended pick-up location (s) .
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 exemplary 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/or “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, ” “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 "block, " “module, ” “engine, ” “unit, ” “component, ” 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 1703, Perl, COBOL 1702, 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, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

Claims (40)

  1. A system for pick-up location recommendation, comprising:
    at least one storage medium including a set of instructions; and
    at least one processor in communication with the at least one storage medium, wherein when executing the instructions, the at least one processor is configured to direct the system to perform operations including:
    receiving, from a requester terminal, a start location of a service order;
    determining a plurality of candidate pick-up locations around the start location base on a location information database, each candidate pick-up location having a relative position to a boundary of the start location;
    determining, among the plurality of candidate pick-up locations, one or more recommended pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, wherein an input of the pick-up location recommendation model at least includes the relative positions of the candidate pick-up locations to the boundary of the start location; and
    transmitting the one or more recommended pick-up locations to the requester terminal for recommendation.
  2. The system of claim 1, wherein to determine the one or more recommended pick-up locations among the plurality of candidate pick-up locations, the at least one processor is further configured to direct the system to perform additional operations including:
    obtaining a relevance score of each candidate pick-up location with respect to the service order by applying the pick-up location recommendation model to the plurality of candidate pick-up locations; and
    determining, based on the relevance score of each candidate pick-up location, the one or more recommended pick-up locations among the plurality of candidate pick-up locations.
  3. The system of claim 1 or 2, wherein the pick-up location recommendation model is trained according to a training process, the training process comprises:
    obtaining a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location;
    for each of the plurality of sample service orders,
    determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, each sample candidate pick-up location having a sample relative position to a boundary of the corresponding sample start location;
    for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location;
    generating a training sample corresponding to the sample service order, the training sample including the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order; and
    generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  4. The system of claim 3, wherein the location information database stores a plurality of historical pick-up locations in a preset region, and the determining the at least one sample candidate pick-up location of the sample service order comprises:
    selecting, among the plurality of historical pick-up locations in the location information database, at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order; and
    designating the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
  5. The system of claim 3 or 4, wherein the determining the sample relevance score of each sample candidate pick-up location of a sample service order comprises:
    for the each sample candidate pick-up location of the sample service order,
    determining, based on the sample relative position of the sample candidate pick-up location to the boundary of the corresponding sample start location, whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point; and
    determining, based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  6. The system of claim 5, wherein the determining the sample relevance score of each sample candidate pick-up location of the sample service order comprises:
    for the each sample candidate pick-up location of the sample service order,
    determining a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order; and
    determining, based on the first distance and the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  7. The system of any one of claims 3 to 6, wherein the generating the pick-up location recommendation model by training the preliminary model using the training samples comprises:
    for each training sample, determining a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location;
    performing one or more iterations to train the preliminary model, each current iteration of the one or more iterations comprising:
    for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the  preliminary model in the current iteration to the training sample;
    determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample;
    determining, based on the value of the loss function, whether a termination condition is satisfied in the current iteration, and
    in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
  8. The system of claim 7, wherein the determining the value of the loss function comprises:
    for the each training sample, determining a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position, the normalized DCG incorporating a weight of each corresponding sample candidate pick-up location, the weight of the each corresponding sample candidate pick-up location being associated with the sample relevance score of the corresponding sample candidate pick-up location; and
    determining the value of the loss function based on the normalized DCG of the each training sample.
  9. The system of any one of claims 3 to 8, wherein the preliminary model includes a LambdaMart model.
  10. A system for generating a pick-up location recommendation model, comprising:
    at least one storage medium storing a set of instructions; and
    at least one processor in communication with the at least one storage medium, wherein when executing the instructions, the at least one processor is configured to direct the system to perform operations including:
    obtaining a plurality of sample service orders, each sample service order  including a sample start location and a sample pick-up location;
    for each of the plurality of sample service orders,
    determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, each sample candidate pick-up location having a sample relative position to a boundary of the corresponding sample start location;
    for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location;
    generating a training sample corresponding to the sample service order, the training sample including the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order; and
    generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  11. The system of claim 10, wherein the location information database stores a plurality of historical pick-up locations in a preset region, and to determine the at least one sample candidate pick-up location of the sample service order, the at least one processor is further configured to direct the system to perform additional operations including:
    selecting, among the plurality of historical pick-up locations in the location information database, at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order; and
    designating the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
  12. The system of claim 10 or 11, wherein to determine the sample relevance score  of each sample candidate pick-up location of a sample service order, the at least one processor is further configured to direct the system to perform additional operations including:
    for the each sample candidate pick-up location of the sample service order,
    determining, based on the sample relative position of the sample candidate pick-up location to the boundary of the corresponding sample start location, whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point; and
    determining, based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  13. The system of claim 12, wherein to determine the sample relevance score of each sample candidate pick-up location of the sample service order, the at least one processor is further configured to direct the system to perform additional operations including:
    for the each sample candidate pick-up location of the sample service order,
    determining a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order; and
    determining, based on the first distance and the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  14. The system of any one of claims 10 to 13, wherein to generate the pick-up location recommendation model by training the preliminary model using the training samples, the at least one processor is further configured to direct the system to perform additional operations including:
    for each training sample, determining a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location;
    performing one or more iterations to train the preliminary model, each current iteration of the one or more iterations comprising:
    for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the preliminary model in the current iteration to the training sample;
    determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample;
    determining, based on the value of the loss function, whether a termination condition is satisfied in the current iteration, and
    in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
  15. The system of claim 14, wherein to determine the value of the loss function, each current iteration of the one or more iterations further comprises:
    for the each training sample, determining a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position, the normalized DCG incorporating a weight of each corresponding sample candidate pick-up location, the weight of the each corresponding sample candidate pick-up location being associated with the sample relevance score of the corresponding sample candidate pick-up location; and
    determining the value of the loss function based on the normalized DCG of the each training sample.
  16. The system of claim 14 or 15, wherein each current iteration further comprises:
    in response to a determination that the termination condition is not satisfied in the current iteration, updating the preliminary model in the current iteration according to the value of the loss function; and
    designating the updated preliminary model in the current iteration as a  preliminary model in a next iteration.
  17. The system of any one of claims 10 to 16, wherein the preliminary model includes a LambdaMart model.
  18. The system of any one of claims 10 to 17, wherein a sample start location of a sample service order of the plurality of sample service orders is a faceted area, and the training sample corresponding to the sample service order further includes one or more features of each corresponding sample candidate pick-up location, the one or more features of a corresponding sample candidate pick-up location including at least one of a distance between the sample candidate pick-up location to a central point of the faceted area, a shortest distance between the sample candidate pick-up location to the boundary of the faceted area, a distance between the sample candidate pick-up location to a representative location of the faceted area, a distance between the sample candidate pick-up location to a location of a user who initiated the sample service order, or information related to a road where the sample candidate pick-up location locates.
  19. A method implemented on a computing device having at least one processor and at least one storage device for pick-up location recommendation, comprising:
    receiving, from a requester terminal, a start location of a service order;
    determining a plurality of candidate pick-up locations around the start location base on a location information database, each candidate pick-up location having a relative position to a boundary of the start location;
    determining, among the plurality of candidate pick-up locations, one or more recommended pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, wherein an input of the pick-up location recommendation model at least includes the relative positions of the candidate pick-up locations to the boundary of the start location; and
    transmitting the one or more recommended pick-up locations to the requester  terminal for recommendation.
  20. The method of claim 19, wherein the determining the one or more recommended pick-up locations among the plurality of candidate pick-up locations comprises:
    obtaining a relevance score of each candidate pick-up location with respect to the service order by applying the pick-up location recommendation model to the plurality of candidate pick-up locations; and
    determining, based on the relevance score of each candidate pick-up location, the one or more recommended pick-up locations among the plurality of candidate pick-up locations.
  21. The method of claim 19 or 20, wherein the pick-up location recommendation model is trained according to a training process, the training process comprises:
    obtaining a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location;
    for each of the plurality of sample service orders,
    determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, each sample candidate pick-up location having a sample relative position to a boundary of the corresponding sample start location;
    for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location;
    generating a training sample corresponding to the sample service order, the training sample including the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order; and
    generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  22. The method of claim 21, wherein the location information database stores a plurality of historical pick-up locations in a preset region, and the determining at least one sample candidate pick-up location of the sample service order comprises:
    selecting, among the plurality of historical pick-up locations in the location information database, at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order; and
    designating the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
  23. The method of claim 21 or 22, wherein the determining a sample relevance score of each sample candidate pick-up location of a sample service order comprises:
    for the each sample candidate pick-up location of the sample service order,
    determining, based on the sample relative position of the sample candidate pick-up location to the boundary of the corresponding sample start location, whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point; and
    determining, based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  24. The method of claim 23, wherein the determining a sample relevance score of each sample candidate pick-up location of the sample service order comprises:
    for the each sample candidate pick-up location of the sample service order,
    determining a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order; and
    determining, based on the first distance and the determination result as to  whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  25. The method of any one of claims 21 to 24, wherein the generating the pick-up location recommendation model by training the preliminary model using the training samples comprises:
    for each training sample, determining a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location;
    performing one or more iterations to train the preliminary model, each current iteration of the one or more iterations comprising:
    for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the preliminary model in the current iteration to the training sample;
    determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample;
    determining, based on the value of the loss function, whether a termination condition is satisfied in the current iteration, and
    in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
  26. The method of claim 25, wherein the determining a value of a loss function comprises:
    for the each training sample, determining a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position, the normalized DCG incorporating a weight of each corresponding sample candidate pick-up location, the weight of the each corresponding sample candidate pick-up location being associated with the sample relevance score of the corresponding  sample candidate pick-up location; and
    determining the value of the loss function based on the normalized DCG of the each training sample.
  27. The method of any one of claims 21 to 26, wherein the preliminary model includes a LambdaMart model.
  28. A method implemented on a computing device having at least one processor and at least one storage device for generating a pick-up location recommendation model, comprising:
    obtaining a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location;
    for each of the plurality of sample service orders,
    determining at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, each sample candidate pick-up location having a sample relative position to a boundary of the corresponding sample start location;
    for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location;
    generating a training sample corresponding to the sample service order, the training sample including the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order; and
    generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  29. The method of claim 28, wherein the location information database stores a plurality of historical pick-up locations in a preset region, and the determining at least  one sample candidate pick-up location of the sample service order comprises:
    selecting, among the plurality of historical pick-up locations in the location information database, at least one historical pick-up location within a first threshold distance to the sample start location of the sample service order; and
    designating the at least one selected historical pick-up location as the at least one sample candidate pick-up location of the sample service order.
  30. The method of claim 28 or 29, wherein the determining a sample relevance score of each sample candidate pick-up location of a sample service order comprises:
    for the each sample candidate pick-up location of the sample service order,
    determining, based on the sample relative position of the sample candidate pick-up location to the boundary of the corresponding sample start location, whether the sample candidate pick-up location is an edge point at the boundary of the sample start location of the sample service order or a non-edge point; and
    determining, based at least in part on a determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  31. The method of claim 30, wherein the determining a sample relevance score of each sample candidate pick-up location of the sample service order comprises:
    for the each sample candidate pick-up location of the sample service order,
    determining a first distance between the sample candidate pick-up location and the sample pick-up location of the sample service order; and
    determining, based on the first distance and the determination result as to whether the sample candidate pick-up location is an edge point or a non-edge point, the sample relevance score of the sample candidate pick-up location.
  32. The method of any one of claims 28 to 31, wherein the generating the pick-up location recommendation model by training the preliminary model using the training  samples comprises:
    for each training sample, determining a ranking result of the corresponding at least one sample candidate pick-up location according to the sample relevance score of each corresponding sample candidate pick-up location;
    performing one or more iterations to train the preliminary model, each current iteration of the one or more iterations comprising:
    for the each training sample, determining a predicted ranking result of the corresponding at least one sample candidate pick-up location by applying the preliminary model in the current iteration to the training sample;
    determining a value of a loss function based on the ranking result, the predicted ranking result, and the sample relevance score of the at least one sample candidate pick-up location of the each training sample;
    determining, based on the value of the loss function, whether a termination condition is satisfied in the current iteration, and
    in response to a determination that the termination condition is satisfied in the current iteration, designating the preliminary model in the current iteration as the pick-up location recommendation model.
  33. The method of claim 32, wherein the determining a value of a loss function, each current iteration of the one or more iterations further comprises:
    for the each training sample, determining a normalized discounted cumulative gain (NDCG) of the corresponding predicted ranking result at a preset rank position, the normalized DCG incorporating a weight of each corresponding sample candidate pick-up location, the weight of the each corresponding sample candidate pick-up location being associated with the sample relevance score of the corresponding sample candidate pick-up location; and
    determining the value of the loss function based on the normalized DCG of the each training sample.
  34. The method of claim 32 or 33, wherein each current iteration further comprises:
    in response to a determination that the termination condition is not satisfied in the current iteration, updating the preliminary model in the current iteration according to the value of the loss function; and
    designating the updated preliminary model in the current iteration as a preliminary model in a next iteration.
  35. The system of any one of claims 28 to 34, wherein the preliminary model includes a LambdaMart model.
  36. The system of any one of claims 28 to 35, wherein a sample start location of a sample service order of the plurality of sample service orders is a faceted area, and the training sample corresponding to the sample service order further includes one or more features of each corresponding sample candidate pick-up location, the one or more features of a corresponding sample candidate pick-up location including at least one of a distance between the sample candidate pick-up location to a central point of the faceted area, a shortest distance between the sample candidate pick-up location to the boundary of the faceted area, a distance between the sample candidate pick-up location to a representative location of the faceted area, a distance between the sample candidate pick-up location to a location of a user who initiated the sample service order, or information related to a road where the sample candidate pick-up location locates.
  37. A non-transitory computer readable medium, comprising a set of instructions for generating a pick-up location recommendation model, wherein when executed by at least one processor, the set of instructions direct the at least one processor to effectuate a method, the method comprising:
    obtaining a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location;
    for each of the plurality of sample service orders,
    determining at least one sample candidate pick-up location around the  sample start location of the sample service order based on a location information database, each sample candidate pick-up location having a sample relative position to a boundary of the corresponding sample start location;
    for each sample candidate pick-up location of the sample service order, determining a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location;
    generating a training sample corresponding to the sample service order, the training sample including the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order; and
    generating the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  38. A system for generating a pick-up location recommendation model, comprising:
    an obtaining module configured to obtain a plurality of sample service orders, each sample service order including a sample start location and a sample pick-up location;
    a sample candidate pick-up location determination module configured to for each of the plurality of sample service orders, determine at least one sample candidate pick-up location around the sample start location of the sample service order based on a location information database, each sample candidate pick-up location having a sample relative position to a boundary of the corresponding sample start location;
    a relevance score determination module configured to for each sample candidate pick-up location of each sample service order, determine a sample relevance score of the sample candidate pick-up location with respect to the sample service order based at least in part on the sample relative position of the sample candidate pick-up location;
    a training sample generation module configured to generate a training sample corresponding to the sample service order, the training sample including the sample start location, the sample pick-up location, the at least one sample candidate pick-up location, and the sample relevance score of each sample candidate pick-up location of the sample service order; and
    a model generation module configured to generate the pick-up location recommendation model by training a preliminary model using the plurality of training samples.
  39. A non-transitory computer readable medium, comprising a set of instructions for pick-up location recommendation, wherein when executed by at least one processor, the set of instructions direct the at least one processor to effectuate a method, the method comprising:
    receiving, from a requester terminal, a start location of a service order;
    determining a plurality of candidate pick-up locations around the start location base on a location information database, each candidate pick-up location having a relative position to a boundary of the start location;
    determining, among the plurality of candidate pick-up locations, one or more recommended pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, wherein an input of the pick-up location recommendation model at least includes the relative positions of the candidate pick-up locations to the boundary of the start location; and
    transmitting the one or more recommended pick-up locations to the requester terminal for recommendation.
  40. A system for pick-up location recommendation, comprising:
    a receiving module configured to receive, from a requester terminal, a start location of a service order;
    a candidate pick-up location determination module configured to determine a plurality of candidate pick-up locations around the start location base on a location  information database, each candidate pick-up location having a relative position to a boundary of the start location;
    a recommended pick-up location determination module configured to determine, among the plurality of candidate pick-up locations, one or more recommended pick-up locations by applying a pick-up location recommendation model to the plurality of candidate pick-up locations, wherein an input of the pick-up location recommendation model at least includes the relative positions of the candidate pick-up locations to the boundary of the start location; and
    a transmission module configured to transmit the one or more recommended pick-up locations to the requester terminal for recommendation.
PCT/CN2020/123554 2020-10-26 2020-10-26 Systems and methods for recommending pick-up locations WO2022087767A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/123554 WO2022087767A1 (en) 2020-10-26 2020-10-26 Systems and methods for recommending pick-up locations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/123554 WO2022087767A1 (en) 2020-10-26 2020-10-26 Systems and methods for recommending pick-up locations

Publications (1)

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

Family

ID=81381609

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/123554 WO2022087767A1 (en) 2020-10-26 2020-10-26 Systems and methods for recommending pick-up locations

Country Status (1)

Country Link
WO (1) WO2022087767A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302492A (en) * 2018-11-14 2019-02-01 北京嘀嘀无限科技发展有限公司 Method, equipment and computer readable storage medium for recommendation service position
CN110020144A (en) * 2017-11-21 2019-07-16 腾讯科技(深圳)有限公司 A kind of recommended models method for building up and its equipment, storage medium, server
CN110672107A (en) * 2018-07-02 2020-01-10 北京嘀嘀无限科技发展有限公司 Convergence position recommendation method, system and computer readable storage medium
US20200154247A1 (en) * 2017-08-04 2020-05-14 Beijing Didi Infinity Technology And Development Co., Ltd. Methods and systems for naming a pick up location
CN111814070A (en) * 2019-12-16 2020-10-23 北京嘀嘀无限科技发展有限公司 Method and system for recommending boarding points, storage medium and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200154247A1 (en) * 2017-08-04 2020-05-14 Beijing Didi Infinity Technology And Development Co., Ltd. Methods and systems for naming a pick up location
CN110020144A (en) * 2017-11-21 2019-07-16 腾讯科技(深圳)有限公司 A kind of recommended models method for building up and its equipment, storage medium, server
CN110672107A (en) * 2018-07-02 2020-01-10 北京嘀嘀无限科技发展有限公司 Convergence position recommendation method, system and computer readable storage medium
CN109302492A (en) * 2018-11-14 2019-02-01 北京嘀嘀无限科技发展有限公司 Method, equipment and computer readable storage medium for recommendation service position
CN111814070A (en) * 2019-12-16 2020-10-23 北京嘀嘀无限科技发展有限公司 Method and system for recommending boarding points, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
US11003677B2 (en) Systems and methods for location recommendation
US10883842B2 (en) Systems and methods for route searching
US10989548B2 (en) Systems and methods for determining estimated time of arrival
US11085792B2 (en) Systems and methods for determining estimated time of arrival
US20200011692A1 (en) Systems and methods for recommending an estimated time of arrival
US20180357736A1 (en) Systems and methods for determining an estimated time of arrival
US20190204087A1 (en) Systems and methods for recommending an estimated time of arrival
WO2018228541A1 (en) Systems and methods for allocating service requests
WO2019227292A1 (en) Systems and methods for recommending pick-up locations
WO2018209551A1 (en) Systems and methods for determining an estimated time of arrival
WO2019109604A1 (en) Systems and methods for determining an estimated time of arrival for online to offline services
WO2017107932A1 (en) Systems and methods for updating sequence of services
US11003730B2 (en) Systems and methods for parent-child relationship determination for points of interest
WO2019242286A1 (en) Systems and methods for allocating service requests
WO2019228391A1 (en) Systems and methods for online to offline services
US20200167812A1 (en) Systems and methods for determining a fee of a service request
WO2021087663A1 (en) Systems and methods for determining name for boarding point
WO2022126354A1 (en) Systems and methods for obtaining estimated time of arrival in online to offline services
WO2022087767A1 (en) Systems and methods for recommending pick-up locations
US20210064669A1 (en) Systems and methods for determining correlative points of interest associated with an address query
WO2022087971A1 (en) Systems and methods for recommending pick-up location
WO2020243963A1 (en) Systems and methods for determining recommended information of service request
WO2021051221A1 (en) Systems and methods for evaluating driving path

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: 20958933

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 20/06/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 20958933

Country of ref document: EP

Kind code of ref document: A1