Method and system for recommending boarding point
By obtaining and grouping user boarding point information in historical orders, determining personalized boarding point sets, and recommending boarding points based on the location of the user terminal, the problem of insufficient accuracy and stability of GPS information in the prior art is solved, and the accuracy of boarding points and passenger travel experience are improved.
Patent Information
- Application Number
- CN202410330458.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-04-22
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2040-04-22
AI Technical Summary
In the prior art, the accuracy and stability of the boarding point is determined based on GPS information, which leads to passengers choosing an inappropriate boarding point, which affects the driver's pick-up efficiency and passenger's travel experience.
By receiving service requests from the target user terminal, obtaining user boarding points information in the historical order, and grouping and filtering this information, determining a personalized boarding point set, and finally determining the recommended boarding point based on the location of the user terminal.
It improves the accuracy and stability of the boarding point, helps passengers choose the right boarding point, and improves the driver's pick-up efficiency and passengers' travel experience.
Smart Images

Figure CN118193860B_ABST
Abstract
Description
[0001] Description of the case
[0002] This application is a divisional application with application number "202010320478.8" and invention name "A method and system for recommending boarding points". Technical Field
[0003] The present disclosure relates to the field of online car-hailing, and in particular to a method and system for recommending a pick-up point. Background Art
[0004] On-demand transportation services, especially online taxi services, have become increasingly popular. When a service requester (e.g., a passenger) uses a user terminal to take a taxi through an online taxi service platform, the server can recommend a pick-up point for the service requester and a service provider (e.g., a driver) who provides transportation services to the service requester. The pick-up point is usually determined based on the global positioning system (GPS) information of the user terminal. The problem with determining the pick-up point based on GPS information is that the GPS information lacks accuracy and stability. Therefore, it is desirable to provide a system and method for recommending a pick-up point more accurately and stably, guide passengers to choose a suitable pick-up point, and improve the driver's pick-up efficiency and the passenger's travel experience. Summary of the invention
[0005] The first aspect of the present disclosure provides a method for recommending a boarding point. The method for recommending a boarding point includes: receiving a service request from a target user terminal; obtaining at least one historical order containing user boarding point information, wherein the boarding point information is associated with the location of the target user terminal; grouping the user boarding point information to determine at least one candidate first personalized boarding point set; filtering out at least one personalized boarding point from each of the at least one candidate first personalized boarding point set; forming a second personalized boarding point set based on the at least one personalized boarding point filtered out from each set; determining at least one personalized boarding point from the second personalized boarding point set based on the location of the target user terminal; and determining the at least one personalized boarding point as a recommended boarding point.
[0006] In some embodiments, grouping the user boarding point information to determine at least one candidate first personalized boarding point set includes: clustering the user boarding point information to obtain at least one boarding point cluster; and determining the at least one boarding point cluster as the at least one candidate first personalized boarding point set.
[0007] In some embodiments, determining the at least one boarding point cluster as the at least one candidate first personalized boarding point set includes: segmenting and / or merging the at least one boarding point cluster; and determining the at least one boarding point cluster after the segmentation and / or merging as the at least one candidate first personalized boarding point set.
[0008] In some embodiments, the merging process includes: merging the at least one boarding point cluster according to the similarity between each cluster in the at least one boarding point cluster.
[0009] In some embodiments, merging the at least one boarding point cluster based on the similarity between each cluster in the at least one boarding point cluster includes: determining the center position of each cluster in the at least one boarding point cluster; judging whether the distance between the center positions of each cluster is less than a first threshold; and merging the at least one boarding point cluster based on the judgment result.
[0010] In some embodiments, the segmentation processing includes: obtaining the location point information of at least one user initiating a service request in the historical order; clustering the location point information of the user initiating the service request to obtain at least one location point cluster; and segmenting the at least one boarding point cluster based on the at least one location point cluster.
[0011] In some embodiments, the clustering is implemented based on a clustering algorithm, and the clustering algorithm includes: density peak clustering.
[0012] In some embodiments, filtering out at least one personalized boarding point from each of the at least one candidate first personalized boarding point set includes: obtaining time information of the historical order; determining, based on the user boarding point information and the time information, the average distance difference and / or average time difference between each user boarding point in each of the at least one candidate first personalized boarding point set; and filtering out at least one personalized boarding point from each of the sets based on the average distance difference and / or average time difference.
[0013] In some embodiments, the method for recommending a boarding point also includes: judging whether the distance between the user boarding point and the location point where the user initiates the service request is less than a second threshold based on the user boarding point information and the location point information where the user initiates the service request in the same historical order; and filtering the historical order based on the judgment result.
[0014] In some embodiments, the method for recommending a boarding point further includes: modifying the user boarding point information before grouping the user boarding point information.
[0015] In some embodiments, the modifying of the user boarding point information before grouping the user boarding point information includes: acquiring road network information; determining whether the user boarding point is on the road network based on the user boarding point information and the road network information; and modifying the user boarding point that is not on the road network to obtain modified user boarding point information.
[0016] In some embodiments, the correction of the user boarding point that is not on the road network to obtain the corrected user boarding point information includes: obtaining the starting driving direction of the historical order; based on the starting driving direction, projecting the user boarding point of the same historical order onto the road network to obtain the road network projection point information of the user boarding point; and determining the road network projection point information as the corrected user boarding point information.
[0017] The second aspect of the present disclosure provides a system for recommending boarding points. The system for recommending boarding points includes: a receiving module for receiving a service request from a target user terminal; an acquisition module for acquiring at least one historical order containing user boarding point information, wherein the boarding point information is associated with the location of the target user terminal; a grouping module for grouping the user boarding point information to determine at least one candidate first personalized boarding point set; a screening module for screening out at least one personalized boarding point from each of the at least one candidate first personalized boarding point set; a combining module for forming a second personalized boarding point set based on the at least one personalized boarding point screened out from each set; a determining module for determining at least one personalized boarding point from the second personalized boarding point set based on the location of the target user terminal; and a recommendation module for determining the at least one personalized boarding point as a recommended boarding point.
[0018] In some embodiments, the grouping module is further used to: cluster the user boarding point information to obtain at least one boarding point cluster; and determine the at least one boarding point cluster as the at least one candidate first personalized boarding point set.
[0019] In some embodiments, the grouping module is further used to: segment and / or merge the at least one boarding point cluster; and determine the at least one boarding point cluster after the segmentation and / or merging as the at least one candidate first personalized boarding point set.
[0020] In some embodiments, the grouping module is further used to merge the at least one boarding point cluster according to the similarity between each cluster in the at least one boarding point cluster.
[0021] In some embodiments, the grouping module is also used to: determine the center position of each cluster in the at least one boarding point cluster; determine whether the distance between the center positions of each cluster is less than a first threshold; and merge the at least one boarding point cluster based on the determination result.
[0022] In some embodiments, the grouping module is also used to: obtain the location point information of at least one user initiating a service request in the historical order; cluster the location point information of the user initiating the service request to obtain at least one location point cluster; and segment the at least one boarding point cluster based on the at least one location point cluster.
[0023] In some embodiments, the clustering is implemented based on a clustering algorithm, and the clustering algorithm includes: density peak clustering.
[0024] In some embodiments, the screening module is also used to: obtain the time information of the historical orders; determine the average distance difference and / or average time difference between the user boarding points in each of the at least one candidate first personalized boarding point set based on the user boarding point information and the time information; and screen out at least one personalized boarding point from each set based on the average distance difference and / or average time difference.
[0025] In some embodiments, the system for recommending boarding points also includes: a filtering module, which is used to determine whether the distance between the user boarding point and the location point where the user initiates the service request is less than a second threshold based on the user boarding point information and the location point information where the user initiates the service request in the same historical order; and filter the historical orders based on the judgment result.
[0026] In some embodiments, the system for recommending boarding points further includes: a correction module for correcting the user boarding point information before grouping the user boarding point information.
[0027] In some embodiments, the correction module is also used to: obtain road network information; determine whether the user boarding point is on the road network based on the user boarding point information and the road network information; and correct the user boarding point that is not on the road network to obtain corrected user boarding point information.
[0028] In some embodiments, the correction module is also used to: obtain the starting driving direction of the historical order; based on the starting driving direction, project the user boarding point of the same historical order onto the road network to obtain the road network projection point information of the user boarding point; and determine the road network projection point information as the corrected user boarding point information.
[0029] A third aspect of the present disclosure provides an electronic device, wherein the electronic device comprises at least one storage medium and at least one processor; the at least one storage medium stores computer instructions; and the at least one processor is used to execute the computer instructions to implement a method for recommending a boarding point.
[0030] A fourth aspect of the present disclosure provides a computer-readable storage medium, wherein the storage medium stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes a method for recommending a boarding point. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] The present disclosure will be further described in the form of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same number represents the same structure, wherein:
[0032] Figure 1 is a schematic diagram of an application scenario of a system for recommending boarding points according to some embodiments of the present disclosure;
[0033] Figure 2 is a module diagram of a system for recommending boarding points according to some embodiments of the present disclosure;
[0034] Figure 3 is an exemplary flow chart of a method for recommending a boarding point according to some embodiments of the present disclosure;
[0035] Figure 4 is an exemplary flow chart of grouping the user boarding point information according to some embodiments of the present disclosure; and
[0036] Figure 5 It is an exemplary flowchart of correcting user boarding point information according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0037] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of the present disclosure. For ordinary technicians in this field, the present disclosure can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.
[0038] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
[0039] As shown in the present disclosure and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "include" and "comprise" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.
[0040] Flowcharts are used in this disclosure to illustrate the operations performed by the system according to the embodiments of the present disclosure. It should be understood that the preceding or following operations are not necessarily performed precisely in order. Instead, the various steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0041] The embodiments of the present disclosure can be applied to different traffic service systems, and different traffic service systems include but are not limited to one or a combination of land, rivers, lakes, oceans, aviation, etc. For example, rickshaws, means of transportation, cars (e.g., small cars, buses, large transport vehicles, etc.), rail transportation (e.g., trains, motor vehicles, high-speed railways, subways, etc.), ships, airplanes, aircraft, hot air balloons, unmanned vehicles, express delivery, etc., which use management and / or distribution of transportation systems. The application scenarios of different embodiments of the present disclosure include but are not limited to one or a combination of web pages, browser plug-ins, clients, customized systems, internal enterprise analysis systems, artificial intelligence robots, etc. It should be understood that the application scenarios of the system and method of the present disclosure are only some examples or embodiments of the present disclosure. For ordinary technicians in this field, without paying creative labor, the present disclosure can also be applied to other similar scenarios based on these drawings. For example, other similar user-guided parking systems.
[0042] Figure 11 is a schematic diagram of an application scenario of a system for recommending a boarding point according to some embodiments of the present disclosure. The system 100 for recommending a boarding point can recommend a boarding point and recommend it to passengers, guiding passengers to choose a suitable boarding point. The system 100 for recommending a boarding point can be an online service platform for Internet services. For example, the system 100 for recommending a boarding point can be an online transportation service platform for transportation services. In some embodiments, the system 100 for recommending a boarding point can be applied to online car-hailing services, such as taxi calls, express car calls, special car calls, minibus calls, carpooling, bus services, driver hiring and pick-up services, etc. Specifically, one or more suitable boarding locations can be provided for passengers requesting online car-hailing services, or one or more suitable locations for picking up passengers can be provided for drivers providing services. In some embodiments, the system 100 for recommending a boarding point can also be applied to services such as chauffeur service, express delivery, and take-out, for example, providing a service starting point for users who send service requests such as chauffeur service, express delivery, and take-out. The system 100 for recommending a boarding point can be an online service platform, including a server 110, a network 120, a user terminal 130, and a database 140. Server 110 may include a processing device 112 .
[0043] In some embodiments, the server 110 may be used to process information and / or data related to the recommended boarding point. For example, the server 110 may recommend a boarding point for a user who sends a service request for an online taxi. The server 110 may also receive a service request from a user terminal 130 and process the service request to recommend a boarding point to the user terminal 130. The server 110 may be an independent server or a server group. The server group may be centralized or distributed (e.g., the server 110 may be a distributed system). In some embodiments, the server 110 may be regional or remote. For example, the server 110 may access information and / or data stored in the user terminal 130 and the database 140 through the network 120. In some embodiments, the server 110 may be directly connected to the user terminal 130 and the database 140 to access the information and / or data stored therein. In some embodiments, the server 110 may be executed on a cloud platform. For example, the cloud platform may include one or any combination of a private cloud, a public cloud, a hybrid cloud, a community cloud, a decentralized cloud, an internal cloud, etc.
[0044] In some embodiments, the server 110 may include a processing device 112. The processing device 112 may process data and / or information related to the service request to perform one or more functions described in the present disclosure. For example, the processing device 112 may receive a vehicle request signal sent by the user terminal 130 and provide a recommended boarding point to the user. In some embodiments, the processing device 112 may include one or more sub-processing devices (e.g., a single-core processing device or a multi-core multi-core processing device). As an example only, the processing device 112 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction processor (ASIP), a graphics processing unit (GPU), a physical processing unit (PPU), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic circuit (PLD), a controller, a microcontroller unit, a reduced instruction set computer (RISC), a microprocessor, etc., or any combination thereof.
[0045] The network 120 may facilitate the exchange of data and / or information, which may include a user identifier of a target user terminal, a request time, a service start location, a service destination, a location of the target user terminal when the target user terminal initiates a service request, etc. In some embodiments, one or more components of the system 100 for recommending a pickup point (e.g., server 110, user terminal 130, database 140) may send data and / or information to other components of the system 100 for recommending a pickup point via the network 120. In some embodiments, the network 120 may be any type of wired or wireless network. For example, the network 120 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an intranet, an internet network, a local area network (LAN), a wide area network (WAN), a wireless area network (WLAN), a metropolitan area network (MAN), a public switched telephone network (PSTN), a Bluetooth network, a ZigBee network, a near field communication (NFC) network, etc., or any combination thereof. In some embodiments, the network 120 may include one or more network entry and exit points. For example, the network 120 may include wired or wireless network entry and exit points, such as base stations and / or Internet exchange points 120-1, 120-2, ..., through which one or more components of the system 100 for recommending pickup points can be connected to the network 120 to exchange data and / or information.
[0046] In some embodiments, the user terminal 130 may be a terminal of a device that can display a recommended boarding point page, and may include one of a mobile phone 130-1, a laptop computer 130-2, a mobile device (not shown in the figure), a vehicle-mounted device (not shown in the figure), etc., or any combination thereof. In some embodiments, the mobile device may include a smart home device, a wearable device, a smart action device, a virtual reality device, an augmented reality device, etc., or any combination thereof. In some embodiments, the smart furniture device may include a smart monitoring device, a smart TV, a smart camera, a smart video access control intercom, etc., or any combination thereof. In some embodiments, the wearable device may include a smart bracelet with a display interface, smart glasses, a smart helmet, a smart watch, etc., or any combination thereof. In some embodiments, the smart action device may include a smart phone, a personal digital assistant (PDA), a gaming device, a navigation device, a POS device, etc., or any combination thereof. In some embodiments, the virtual reality device and / or the augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, augmented reality helmets, augmented reality glasses, augmented reality goggles, etc., or any combination thereof. For example, the virtual reality device and / or augmented reality device may include Google Glass, Oculus Rift, HoloLens, or Gear VR, etc. In some embodiments, the user terminal 130 may include a device with a positioning function to determine the location of the user and / or the user terminal 130. In some embodiments, the user may obtain a recommended boarding point through the user terminal 130. In some embodiments, the user terminal 130 may communicate with another positioning device to determine the location of the user terminal 130. In some embodiments, the user terminal 130 may send positioning information to the server 110. The user may be a service requester.
[0047] The database 140 is a source for providing other information to the system 100. The database 140 can be used to provide the system 100 with information related to the service, such as weather conditions, traffic information, legal and regulatory information, news events, life information, life guide information, etc. For another example, the database 140 may also include user information, historical orders, etc. of the taxi platform, and the user information may include user location information, user boarding point information, etc. The database 140 may be implemented in a single central server, multiple servers connected by a communication link, or multiple personal devices. When the database 140 is implemented in multiple personal devices, the personal devices may generate content (e.g., referred to as "user-generated content"), for example, by uploading text, voice, images, and videos to a cloud server. The database 140 may be generated by multiple personal devices and cloud servers. In some embodiments, the database 140 may store information obtained from the user terminal 130, such as location information when the user sends a service request. In some embodiments, the database 140 may store information and / or instructions for execution or use by the server 110 to perform the exemplary method described in the present disclosure. In some embodiments, the database 140 may include a mass storage, a removable storage, a volatile read-write storage (e.g., a random access memory RAM), a read-only memory (ROM), etc., or any combination thereof. In some embodiments, the database 140 may be implemented on a cloud platform. For example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a decentralized cloud, an internal cloud, etc., or any combination thereof.
[0048] In some embodiments, the database 140 may be connected to the network 120 to communicate with one or more components of the system 100 (e.g., the server 110, the user terminal 130, etc.). One or more components of the system 100 for recommending pickup points may access information or instructions stored in the database 140 through the network 120, such as the request time, the service start location, the service destination, the location of the target user terminal when the target user terminal initiates the service request, etc. In some embodiments, the database 140 may be directly connected or communicated with one or more components of the system 100 for recommending pickup points (e.g., the server 110, the user terminal 130). In some embodiments, the database 140 may be a part of the server 110.
[0049] Figure 2 is a module diagram of a system for recommending boarding points according to some embodiments of the present disclosure. Figure 2 As shown, the system 100 for recommending boarding points may include a receiving module 210 , an acquiring module 220 , a grouping module 230 , a screening module 240 , a combining module 250 , a determining module 260 and a recommending module 270 .
[0050] The receiving module 210 may be configured to receive a service request from a target user terminal.
[0051] The acquisition module 220 may be used to acquire historical orders including at least one user boarding point information, where the at least one user is associated with the location of the target user terminal.
[0052] The grouping module 230 can be used to group the user boarding point information and determine at least one candidate first personalized boarding point set. In some embodiments, the grouping module 230 can group the user boarding point information by clustering to obtain at least one boarding point cluster, and the at least one boarding point cluster is determined as the at least one candidate first personalized boarding point set. For example, the database 140 contains 400 user boarding point information, and the 400 user boarding points are clustered by clustering to obtain 5 clusters. The number of user boarding points in each cluster can be the same or different, and the 5 clusters can be used as 5 candidate first personalized boarding point sets. In some embodiments, the grouping module 230 can also be used to segment and / or merge the at least one boarding point cluster, and determine the at least one boarding point cluster after segmentation and / or merging as the at least one candidate first personalized boarding point set. For more details on the grouping of user boarding point information, see Figure 4 and related descriptions.
[0053] The screening module 240 may be used to screen out at least one personalized boarding point from each of the at least one candidate first personalized boarding point set. In some embodiments, the screening module 240 may be used to determine the average distance difference or / and average time difference between the user boarding points in each of the at least one candidate first personalized boarding point set based on the user boarding point information and the time information, and screen out at least one personalized boarding point from each of the sets based on the average distance difference or / and average time difference.
[0054] The combining module 250 may be configured to form a second personalized boarding point set based on the at least one personalized boarding point selected from each set.
[0055] The determination module 260 may be configured to determine at least one personalized boarding point from the second personalized boarding point set based on the location of the target user terminal.
[0056] The recommendation module 270 may be configured to determine the at least one personalized boarding point as a recommended boarding point.
[0057] The filtering module 280 can be used to determine whether the distance between the user boarding point and the location point where the user initiates the service request is less than a second threshold based on the user boarding point information and the location point information where the user initiates the service request in the same historical order, and filter the historical order based on the judgment result.
[0058] The correction module 290 may be used to correct the user boarding point information before grouping the user boarding point information. In some embodiments, the correction module 290 may be used to correct the user boarding point based on road network information.
[0059] It should be understood that Figure 2 The system and its modules shown can be implemented in various ways. For example, in some embodiments, the system and its modules can be implemented by hardware, software or a combination of software and hardware. Among them, the hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or a dedicated design hardware. Those skilled in the art will understand that the above-mentioned methods and systems can be implemented using computer executable instructions and / or included in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The system and its modules disclosed in the present invention can not only be implemented by hardware circuits such as ultra-large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but can also be implemented by software such as executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (for example, firmware).
[0060] It should be noted that the above description of the candidate item display and determination system and its modules is only for convenience of description and does not limit the present disclosure to the scope of the embodiments. It is understandable that, after understanding the principle of the system, those skilled in the art may arbitrarily combine the modules or form a subsystem to connect with other modules without deviating from the principle. For example, in some embodiments, Figure 2The receiving module 210, acquiring module 220, grouping module 230, screening module 240, combining module 250, determining module 260 and recommending module 270 disclosed in the system may be different modules in one system, or one module may realize the functions of two or more of the above modules. For example, the determining module 260 and the recommending module 270 may be two modules, or one module may have the functions of determining and recommending at least one personalized boarding point. For another example, each module may share a storage module, or each module may have its own storage module. Such variations are all within the protection scope of the present disclosure.
[0061] Figure 3 FIG. 1 is an exemplary flow chart of a method for recommending a boarding point according to some embodiments of the present disclosure. Figure 3 As shown, the method 300 for recommending a boarding point may include:
[0062] Step 302 , receiving a service request from a target user terminal. Specifically, step 302 may be performed by the receiving module 210 .
[0063] The target user may be a user who initiates a service request. In some embodiments, the target user may refer to a passenger who sends a ride-hailing service request.
[0064] The target user terminal may be a terminal (eg, a wireless device such as a smart phone) used by a target user (eg, a passenger, a service requester) to initiate a service request. For example, the target user terminal may be implemented with an application program that initiates a service request.
[0065] A service request is a demand for a service submitted by a user who needs to use the service. For example, it can be a user placing an order to use an online taxi service, or a user initiating an online taxi ordering process. In some embodiments, the service request is related to a transportation service request, such as an online taxi service, a taxi service, a private car service, etc. In some embodiments, the service request can be obtained by inputting into the user terminal 130.
[0066] The receiving module 210 may receive a service request sent by a target user terminal in a usual manner. In some embodiments, when the target user enters a service request in the user terminal 130, the user terminal 130 may send the service request to the server 110 via the network 120, and the processing device 112 may receive the service request and process it.
[0067] Step 304 , obtaining at least one historical order including user boarding point information, wherein the boarding point information is associated with the location of the target user terminal. Specifically, step 304 may be performed by the acquisition module 220 .
[0068] Historical orders refer to orders that have already occurred, and the users involved in the orders are not limited to users who are currently using the service.
[0069] In some embodiments, the acquisition module 220 may access information and / or data stored in the user terminal 130 and / or the database 140 to obtain at least one historical order including the user's pickup point information, or obtain historical orders through other interfaces. The acquisition module 220 may also obtain historical orders through other methods, which are not limited by the present disclosure.
[0070] In some embodiments, historical orders may include the user's order number, mobile phone number, location information, boarding point information, binding point information, time information, etc. In some embodiments, the boarding point information may be the location information corresponding to the user when getting on the bus, and the boarding point may be the location corresponding to the user when getting on the bus. The location information may be the location information when the user initiates a service request, and the location may be the location where the user initiates the service request. In some embodiments, the location information includes but is not limited to latitude and longitude coordinates, POI, and the region to which it belongs. The time information may include but is not limited to one or more combinations of the time when the user initiates the service request, the time when the user gets on the bus, and the time when the user gets off the bus.
[0071] In some embodiments, the boarding point information may be associated with the location of the target user terminal. For an explanation of the target user terminal, see step 302. The location of the target user terminal may refer to the location when the target user starts the application for the service request in step 302. Association means that the boarding point information has a certain relationship with the location of the target user terminal, including but not limited to close straight-line distance, close walking distance, short arrival time by other means, being in the same area, etc. In some embodiments, when the location of the target user when sending the request through the terminal is less than a preset threshold value from the boarding point, the information of the boarding point is associated with the location of the target user terminal. The preset threshold value can be flexibly set as needed, for example, 10 meters, 30 meters, 50 meters, etc.
[0072] After the acquisition module 220 acquires the historical orders, the filtering module 280 can filter out historical orders with less reference significance. For example, orders from certain users, orders from certain dates, orders with less correlation between positioning point information and boarding point information, etc. can be filtered out. Taking transportation services as an example, users who initiate service requests may not necessarily use the services, and there are special cases where users initiate service requests for others. In this case, the boarding point and the positioning point in the historical orders may be far apart, for example, not in the same area, city, province, or even country, etc. Therefore, when classifying the direction of the boarding point based on the positioning point, that is, when segmenting the boarding point cluster based on the positioning point cluster in step 404 below, such orders are of little significance.
[0073] In some embodiments, the filtering module 280 can filter the historical orders based on the user's boarding point information and the user's positioning point information in the historical orders. Specifically, the filtering module 280 can obtain the distance between the boarding point and the positioning point based on the user's boarding point information and the user's positioning point information in the same historical order, and determine whether the distance is less than a preset second threshold. In response to the distance being not less than the second threshold, the filtering module 280 can filter out the historical order. The second threshold can be flexibly set as needed, such as 50 meters, 70 meters, 100 meters, etc.
[0074] After filtering the historical orders, on the one hand, the accuracy of the boarding point cluster segmentation can be improved to achieve the accuracy of the boarding point direction classification; on the other hand, the amount of data processed by the system can be reduced.
[0075] Step 306: Group the user boarding point information to determine at least one candidate first personalized boarding point set. Specifically, step 306 may be performed by the grouping module 230, where the user boarding point information in step 304 is divided into one or more groups, each group being a candidate first personalized boarding point set.
[0076] Among the user's boarding points in the historical orders, some may be available but not suitable for boarding. These boarding points may have safety hazards or violate traffic regulations. For example, the boarding point may be in the middle of a road, inside a community, inside a school, on a zebra crossing, etc. In some embodiments, before grouping the user's boarding point information, the grouping module 230 may modify the user's boarding point information so that all the boarding points are suitable for boarding.
[0077] The correction can be performed in a variety of ways, for example, based on road network information. For more details on the correction of user boarding point information, see Figure 5 And the related description will not be repeated here.
[0078] The first personalized boarding point is the user boarding point in the historical order or / and the revised user boarding point. The first personalized boarding point set is the set of first personalized boarding points, that is, the set of boarding points in the historical order or / and the revised boarding points.
[0079] The grouping can be performed in a variety of ways, and the method in the following embodiment can be used, or other algorithms can be used.
[0080] In some embodiments, the grouping module 230 can divide the user's boarding point information into one or more groups based on the region. Specifically, the grouping module 230 can group the user's boarding point information based on the boundaries of the region, for example, using natural barriers such as mountains and rivers as grouping boundaries. For another example, the grouping module 230 uses various points of interest (such as airports, shopping malls, schools, etc.) as regions for grouping. After grouping, the boarding points in each group constitute a candidate first personalized boarding point set. In some embodiments, the boarding points can be clustered, and the resulting clusters are used as candidate first personalized boarding point sets. For more details on grouping the user's boarding point information, see Figure 4 And the related description will not be repeated here.
[0081] Step 308, at least one personalized boarding point is screened out from each of the at least one candidate first personalized boarding point set. Specifically, step 308 can be performed by the screening module 240, which screens out one or more boarding points from each of the at least one candidate first personalized boarding point set determined in step 404, and each point is used as a personalized boarding point.
[0082] The screening can be performed in a variety of ways, and the method in the following embodiment can be used, or one or more boarding points whose boarding time, service request initiation time or alighting time are closest to the time when the target user sends the service request can be screened from the candidate first personalized boarding points based on the time information. For more details about the time information, refer to step 304.
[0083] The average distance difference refers to the average value of the distance difference between a certain boarding point in the candidate first personalized boarding point set and other boarding points in the set. The average time difference refers to the average value of the time difference between the boarding points in the candidate first personalized boarding point set and other boarding points in the set. The average distance difference and the average time difference can be combined by weighted calculation. Specifically, the screening module 240 can be based on manually defining a scoring method for calculating the score. The calculation of the score is determined by the two parameters of the average distance difference and the average time difference, and appropriate weights are assigned to the two parameters. The weight is determined by offline experiments.
[0084] In some embodiments, the screening module 240 may screen out the boarding point with the smallest average distance difference or less than a set threshold (e.g., 1m, 2m, etc.) from each of at least one candidate first personalized boarding point set based on the average distance difference as the personalized boarding point. In some embodiments, the screening module 240 may screen out the boarding point with the smallest average time difference or less than a set threshold (e.g., 0.5h, 2h, etc.) from each of at least one candidate first personalized boarding point set based on the average time difference as the personalized boarding point. In some embodiments, the screening module 240 may also screen out the boarding point with the largest score or a score higher than a set threshold (e.g., 70, 80, etc.) from each of at least one candidate first personalized boarding point set based on the weighted score of the average distance difference and the average time difference as the personalized boarding point.
[0085] Step 310: The at least one personalized boarding point selected from each set is used to form a second personalized boarding point set. Specifically, step 310 can be performed by the combination module 250, which combines the at least one personalized boarding point selected from step 308 into a boarding point set, which is used as the second personalized boarding point set.
[0086] The second personalized boarding point may be the personalized boarding point selected in step 308. The second personalized boarding point set is a set composed of the personalized boarding points selected in step 308.
[0087] The combining module 250 may directly combine at least one personalized boarding point selected from each of the at least one personalized boarding point set to obtain a new boarding point set, namely, a second personalized boarding point set.
[0088] Step 312: Determine at least one personalized boarding point from the second personalized boarding point set based on the location of the target user terminal. Specifically, step 312 may be performed by the determination module 260, which determines one or more personalized boarding points from the second personalized boarding point set obtained in step 310 based on the location information of the target user terminal.
[0089] The location information of the target user terminal may be the location information when the target user terminal sends the service request.
[0090] In some embodiments, the determination module 260 may determine an area range based on the location information of the target user terminal, for example, an area range with the location information as the center and a preset distance as the radius, and determine that the area range includes one or more personalized boarding points. In some embodiments, if the area range determined based on the preset distance does not include a personalized boarding point, the preset distance may be expanded until the area range includes one or more personalized boarding points. The preset distance may be flexibly set as needed, for example, 15 meters, 30 meters, etc. For another example, at least one personalized boarding point may be determined based on a point of interest or area where the location of the target user terminal is located.
[0091] Step 314: Determine the at least one personalized boarding point as a recommended boarding point. Specifically, step 314 may be performed by the recommendation module 270, which determines the at least one personalized boarding point determined in step 312 as a boarding point recommended to the user.
[0092] Recommended pick-up point refers to the pick-up point recommended to the user when the user sends a taxi service request.
[0093] In some embodiments, the recommendation module 270 may score at least one personalized boarding point, and further recommend a boarding point to the user based on the scoring result. For example, the personalized boarding point may be scored based on a model and / or a rule. In some embodiments, the model may include but is not limited to a sorting model, a classification model, a regression model, etc. For example, the recommendation module 270 may use a sorting model to calculate the score of the personalized boarding point based on preset features, and sort the personalized boarding points according to the score. In some embodiments, the personalized boarding points with the top N (N=1, 2, 3, etc.) scores may be selected as recommended boarding points and sent to the target user.
[0094] The preset features may include, but are not limited to, one or a combination of time, distance, number of recommendations, etc. In some embodiments, the preset features may include the distance between the personalized boarding point and the location of the target user terminal. The closer the distance, the higher the score and the higher the corresponding ranking. In some embodiments, the preset features may also include the time when the target user terminal sends the service request. The closer the time of the personalized boarding point is to this time, the higher the score.
[0095] In some embodiments, after determining the recommended boarding point, the recommendation module 270 may send the recommended boarding point to the user terminal 130 and display it. In some embodiments, a prompt mark may be added to the recommended boarding point, for example, a "recommended" word may be marked next to the recommended boarding point, and the distance of the boarding point from the user's current location may be displayed next to each boarding point.
[0096] The above embodiments have at least one of the following technical effects: (1) determining personalized boarding points based on boarding points in historical orders, and further determining recommended boarding points, can make the boarding points more practical and representative, and improve the user's travel experience; (2) filtering personalized boarding points by combining distance and / or time, can optimize personalized boarding points from the perspective of space and / or time.
[0097] It should be noted that the above description of process 300 is only for example and explanation, and does not limit the scope of application of the present disclosure. For those skilled in the art, various modifications and changes can be made to process 300 under the guidance of the present disclosure. However, these modifications and changes are still within the scope of the present disclosure. For example, the recommended boarding point can be directly determined based on the location of the target user terminal. For another example, after determining the recommended boarding point in step 314, a path planning step can be added to plan a recommended path from the user's current location to the recommended boarding point.
[0098] Figure 4 is an exemplary flow chart of grouping the user boarding point information according to some embodiments of the present disclosure. In some embodiments, one or more steps in process 400 may be Figure 1 For example, one or more steps in process 400 may be stored in the user terminal 130 and the database 140 as instructions, and called and / or executed by the server 110 (e.g., the processing device 112 in the server 110). Figure 4 As shown, the process 400 of grouping the user boarding point information may include:
[0099] Step 402 , clustering the user boarding point information to obtain at least one boarding point cluster. Specifically, step 402 may be performed by the grouping module 230 .
[0100] The grouping module 230 may group the user boarding point information in step 304 by clustering. In some embodiments, the clustering algorithm may include but is not limited to density peak clustering, mean shift clustering, DBSCAN (Density-Based Spatial Clustering of Applications with Noise) clustering, K-Means clustering, etc.
[0101] In some embodiments, the clustering algorithm may include density peak clustering. A cluster is a set of samples connected by the largest density derived from a density reachable relationship, and a boarding point cluster is a set of boarding points connected by the largest boarding point density. In some embodiments, the grouping module 230 may divide the user boarding point information into one or more groups according to the density peak clustering algorithm. Specifically, the grouping module 230 may determine at least one density value associated with at least one boarding point, and for each of the at least one boarding point, the density value may represent the probability of using the boarding point as a candidate boarding point. The grouping module 230 may determine at least one density value according to the density peak clustering algorithm. For example, if the boarding point data set may include at least one pick-up point, where x i is a boarding point, the grouping module 230 can determine the local density ρ of each boarding point according to formula (1):
[0102]
[0103] Among them, I S ={1,2,…,n} represents the index set corresponding to the boarding point data set, ρ i represents the local density, j represents the index set I s For any value other than i, d ij Indicates the boarding point x i and pick-up point x j The specific distance between (e.g., actual distance, Euclidean distance, etc.), d c represents a cutoff distance that can be predefined by the grouping module 230. In some embodiments, x can be determined according to formula (2):
[0104]
[0105] Among them, ρ i Can be expressed with the boarding point x i The distance between them is less than d c The boarding point can be included in the data set S.
[0106] After determining the local density of each of the at least one boarding point, the grouping module 230 may determine the distance δ between the boarding point and another boarding point according to formula (3):
[0107]
[0108] Among them, δ i Indicates the boarding point x i The distance from another boarding point in the data set. When the local density of the boarding point ρ i When it is not the maximum value among at least one boarding point, δ iCan represent the boarding point x i The minimum distance between the boarding point and the boarding point with a larger local density. i has the maximum local density, then the distance δ i It can be expressed according to formula (4):
[0109]
[0110] Among them, δi can represent the boarding point x i The maximum distance between a point and another boarding point in the dataset S.
[0111] Then, the grouping module 230 may determine a density value γ of each of the at least one boarding point information based on the local density and the distance. The density value may be a comprehensive measure of each of the at least one boarding point information. The greater the comprehensive measure, the higher the probability that each of the at least one boarding point information is a candidate boarding point. The density value γ may be determined according to formula (5):
[0112] γ i =ρ i δ i ,i∈I S (5)
[0113] Among them, ρ i represents the local density, δ i Indicates distance.
[0114] In some embodiments, the grouping module 230 may compare the density value of at least one boarding point with a preset threshold. The grouping module 230 may designate at least one boarding point having a density value greater than the preset threshold as the at least one boarding point cluster. The preset threshold may be a preset value stored in the system 100, or may be determined according to different application scenarios.
[0115] Step 404, segmenting and / or merging the at least one boarding point cluster. Specifically, step 404 may be performed by the grouping module 230, merging the at least one boarding point cluster obtained in step 402 into one boarding point cluster, and / or segmenting the at least one boarding point cluster into multiple small boarding point clusters.
[0116] The grouping module 230 may merge at least one boarding point cluster according to the similarity between each cluster in at least one boarding point cluster. The similarity may be determined based on the distance between each boarding point cluster. In some embodiments, the grouping module 230 may determine the center position of each cluster in at least one boarding point cluster, determine whether the distance between the center positions of each cluster is less than a preset first threshold, and in response to the distance between the center positions of each cluster being less than the preset first threshold, the grouping module 230 merges multiple boarding point clusters into a larger boarding point cluster. The first threshold may be flexibly set as needed, for example, 10 meters, 30 meters, 50 meters, etc. In some embodiments, the grouping module 230 may determine whether each cluster has a boarding point whose distance from an adjacent cluster is less than a preset threshold (for example, 10 meters, 30 meters, 50 meters, etc.), and in response to each cluster having a boarding point whose distance from an adjacent cluster is less than a second threshold, the grouping module 230 merges multiple boarding point clusters into a larger boarding point cluster.
[0117] In some embodiments, the method for obtaining the center position may include: the grouping module 230 first randomly selects a boarding point in the boarding point cluster as the preset center point, calculates the distance between each boarding point in the boarding point cluster and the preset center point in turn, selects the boarding point with the shortest distance from the preset center point as the iterative center point of the next round of calculation, and terminates the iteration until the center point no longer changes or changes very little, and the center point at this time is the center position of the cluster. In some embodiments, the method for obtaining the center position may also include: fitting the shape of the boarding point cluster into a circle, the center of the circle is the center point, determining whether the position of the center point corresponds to the boarding point, in response to the position of the center point corresponding to the boarding point, the grouping module 230 determines the boarding point as the center position of the cluster, and in response to the position of the center point not corresponding to the boarding point, the grouping module 230 determines the boarding point closest to the center point as the center position of the cluster.
[0118] According to the above embodiment, by merging the at least one boarding point cluster, boarding points in different boarding point clusters that are not far from each other can be merged into one boarding point cluster, thereby reducing the amount of data for subsequent screening.
[0119] When users go to the boarding points in the boarding point cluster to get on the bus, they may come from different directions. For example, the boarding point cluster contains boarding point A and boarding point B. User 1 may go to boarding point A from the north, and user 2 may go to boarding point B from the south. User 1 and user 2 may also be the same user. Therefore, the boarding point cluster can be further classified according to the direction, making the boarding point classification more accurate. The user's positioning point can represent the direction in which he needs to move to the boarding point. Furthermore, the user's positioning point can represent the direction from which the user comes.
[0120] In some embodiments, the grouping module 230 can segment the at least one boarding point cluster based on the positioning point, the positioning point cluster, etc. In some embodiments, the grouping module 230 can cluster the positioning point information of at least one user initiating a service request in the acquired historical orders according to a clustering algorithm to obtain at least one positioning point cluster, and different positioning point clusters can represent different directions. For specific details about clustering, please refer to step 402 and related descriptions. In some embodiments, the grouping module 230 can segment the boarding point cluster according to at least one positioning point cluster, so as to divide the boarding point clusters from different directions.
[0121] In some embodiments, the grouping module 230 may first merge at least one boarding point cluster according to the description of the merging process in the above embodiment, and then segment the merged boarding point cluster according to the description of the segmentation process in the above embodiment.
[0122] Step 406, determining the at least one boarding point cluster after the segmentation or / and merging process as the at least one candidate first personalized boarding point set. Specifically, step 406 can be performed by the grouping module 230, and determining the at least one boarding point cluster after the segmentation or / and merging process obtained in step 404 as one or more candidate first personalized boarding point sets.
[0123] In some embodiments, the grouping module 230 may determine at least one boarding point cluster obtained by clustering the user boarding point information as at least one candidate first personalized boarding point set.
[0124] In some embodiments, the grouping module 230 may further determine at least one boarding point cluster after segmentation or / and merging as at least one candidate first personalized boarding point set.
[0125] It should be noted that the above description of process 400 is only for example and explanation, and does not limit the scope of application of the present disclosure. For those skilled in the art, various modifications and changes can be made to process 400 under the guidance of the present disclosure. However, these modifications and changes are still within the scope of the present disclosure. For example, the order of the segmentation process and the merging process can be interchangeable. For another example, step 404 can be a non-essential step, and the at least one boarding point cluster can be directly determined as the at least one candidate first personalized boarding point set after step 402.
[0126] Figure 5 is an exemplary flow chart of modifying user boarding point information according to some embodiments of the present disclosure. Figure 5 As shown, the process 500 of modifying the user boarding point information may include:
[0127] Step 502 , obtaining road network information. Specifically, step 502 may be performed by the correction module 290 .
[0128] Road network information may refer to information about roads and their interrelationships. In some embodiments, road network information may include, but is not limited to, the name of the road, information about road points, road intersection information, etc. Information about road points may include, but is not limited to, latitude and longitude information, poster height, etc. In some embodiments, road network information may include information about road nodes and road sections. Road nodes may include points where road attributes change, points where turning operations may be performed, etc. For example, road nodes may include intersections, highway entrances and exits, road starting points, road end points, etc. In some embodiments, road sections may be represented by arcs connecting two nodes. Road section information may include road section identification, road section start and end point information, road section boundaries, road section length, road section width, road section grade, road section attributes, road section name, etc. Road section grades may include expressways, urban expressways, national roads, provincial roads, county roads, township roads, etc. Road section attributes may include uplinks, downlinks, intersection internal roads, roundabouts, internal roads, whether tolls are charged, etc.
[0129] In some embodiments, the road network information can be read from a storage device. The storage device can be a storage device in the system 100 for recommending boarding points (e.g., database 140), or an external storage device that does not belong to the system 100 (e.g., a CD, a mobile hard disk, etc.). In some embodiments, the road network information can be obtained through an interface. The interface can include but is not limited to a program interface, a data interface, a transmission interface, etc. In some embodiments, the road network information can also be obtained in any manner known to those skilled in the art, and the embodiments of this specification do not limit this.
[0130] Step 504 , judging whether the user boarding point is on the road network according to the user boarding point information and the road network information. Specifically, step 504 may be performed by the correction module 290 .
[0131] The correction module 290 can determine whether the user's boarding point is on the road network based on the user's boarding point information and the road network information. In some embodiments, it can be determined whether the user's boarding point is on the road network based on the relative position relationship between the user's boarding point and the road network. The position relationship may include whether the boarding point is on the road network and whether the shortest distance between the boarding point and the road in the road network is less than a set threshold. In some embodiments, the position relationship can be determined based on the longitude and latitude information in the boarding point information and the longitude and latitude information of the point on the road in the road network information.
[0132] Step 506 , correcting the user boarding point that is not on the road network to obtain corrected user boarding point information. Specifically, step 506 may be performed by the correction module 290 .
[0133] After the user's boarding point that is not on the road network is corrected, the boarding point falls on the road network, that is, the corrected boarding point becomes a point on the road network, and the information of this point replaces the uncorrected boarding point information to become the corrected boarding point information. The corrected boarding point is a more suitable location for boarding.
[0134] There are many ways to correct the boarding point. For example, the point on the road network closest to the user's boarding point can be used as the corrected boarding point. For another example, the user's boarding point can be projected onto the road network, and the projected point can be used as the corrected boarding point.
[0135] Since different countries have their own unique traffic rules, for example, in China, a moving vehicle needs to park on the right, that is, on the right side of the driving direction, so a suitable boarding point can be projected according to the driving direction to ensure the safety of the user boarding. In some embodiments, the correction module 290 can project the user boarding point of the corresponding historical order onto the road network based on the starting driving direction to obtain the road network projection point information of the user boarding point.
[0136] In some embodiments, the correction module 290 can obtain the starting driving direction of the user's historical order. The starting driving direction may include the direction in which the vehicle travels after the user gets on the vehicle in the historical order. In some embodiments, the starting driving direction can be determined by the starting segment of the vehicle navigation path in the historical order. For example, after the user gets on the vehicle in the historical order, the starting segment of the vehicle navigation path is from east to west, then it can be considered that the starting driving direction of the historical order is west. In some embodiments, the starting driving direction can be determined by the road network information passed by the vehicle in the historical order. For example, after the user gets on the vehicle, the next road node (or road section) passed by the vehicle is to the east of the vehicle's starting road node (or road section), then it can be considered that the starting driving direction of the historical order is east.
[0137] In some embodiments, the projection may be a normal vector of the road network passing through the user boarding point to the left / right side of the starting travel direction, and the intersection of the normal vector and the road network boundary is used as the road network projection point of the user boarding point. The information of the intersection is the road network projection point information.
[0138] In some embodiments, the correction module 290 may determine the obtained road network projection point information as the corrected user boarding point information. The corrected user boarding point information combines the user boarding point information and the road network information, and may more accurately express the user boarding point.
[0139] The beneficial effects that may be brought about by the embodiments of the present disclosure include, but are not limited to: (1) by providing passengers with recommended boarding points, the probability of unreasonable boarding points being selected is reduced; (2) the travel experience of passengers is improved; (3) the efficiency of drivers picking up passengers is improved, such as making the long-term benefits of drivers higher. It should be noted that different embodiments may produce different beneficial effects. In different embodiments, the beneficial effects that may be produced may be any one or a combination of the above, or any other possible beneficial effects.
[0140] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of the present disclosure. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements and corrections to the present disclosure. Such modifications, improvements and corrections are suggested in the present disclosure, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of the present disclosure.
[0141] At the same time, the present disclosure uses specific words to describe the embodiments of the present disclosure. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of the present disclosure. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different locations in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of the present disclosure may be appropriately combined.
[0142] In addition, it will be appreciated by those skilled in the art that various aspects of the present disclosure may be illustrated and described by a number of patentable categories or situations, including any new and useful process, machine, product or combination of substances, or any new and useful improvements thereto. Accordingly, various aspects of the present disclosure may be performed entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. The above hardware or software may all be referred to as "data blocks", "modules", "engines", "units", "components" or "systems". In addition, various aspects of the present disclosure may be represented as a computer product located in one or more computer-readable media, the product including computer-readable program code.
[0143] A computer storage medium may include a propagated data signal containing computer program code, for example, in baseband or as part of a carrier wave. The propagated signal may be in a variety of forms, including electromagnetic, optical, etc., or a suitable combination. A computer storage medium may be any computer-readable medium other than a computer-readable storage medium, which can be connected to an instruction execution system, device or apparatus to communicate, propagate or transmit the program for use. The program code on the computer storage medium may be transmitted via any suitable medium, including radio, cable, fiber optic cable, RF, or similar media, or any combination of the above media.
[0144] The computer program coding required for the operation of each part of the present disclosure can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc., conventional procedural programming languages such as C language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages, etc. The program coding can be run completely on the user's computer, or run on the user's computer as an independent software package, or run partly on the user's computer and partly on the remote computer, or run completely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as software as a service (SaaS).
[0145] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in the present disclosure, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of the present disclosure. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of the present disclosure. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
[0146] Similarly, it should be noted that in order to simplify the description of the disclosure and thus help understand one or more embodiments of the invention, in the above description of the embodiments of the disclosure, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the object of the disclosure are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.
[0147] In some embodiments, numbers are used to describe the number of components and attributes. It should be understood that such numbers used to describe the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of the range in some embodiments of the present disclosure are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.
[0148] Each patent, patent disclosure, patent disclosure disclosure, and other materials, such as articles, books, instructions, publications, documents, etc., cited in this disclosure are hereby incorporated by reference in their entirety. Except for public historical documents that are inconsistent with or conflicting with the content of this disclosure, documents that limit the broadest scope of the claims of this disclosure (currently or later attached to this disclosure) are also excluded. It should be noted that if the descriptions, definitions, and / or use of terms in the accompanying materials of this disclosure are inconsistent or conflicting with the content of this disclosure, the descriptions, definitions, and / or use of terms in this disclosure shall prevail.
[0149] Finally, it should be understood that the embodiments described in this disclosure are only used to illustrate the principles of the embodiments of the present disclosure. Other variations may also fall within the scope of the present disclosure. Therefore, as examples and not limitations, alternative configurations of the embodiments of the present disclosure may be considered consistent with the teachings of the present disclosure. Accordingly, the embodiments of the present disclosure are not limited to the embodiments explicitly introduced and described in the present disclosure.
Claims
1. A method for recommending a boarding point, the method being executed by at least one processor, characterized in that: include: receiving a service request from a target user terminal; Acquire at least one historical order including user boarding point information, where the boarding point information is associated with the location of the target user terminal; Modifying the user's boarding point information includes: Acquire road network information, wherein the road network information includes road nodes and road sections; Determining whether the user boarding point is on the road network according to the user boarding point information and the road network information; Correcting the user boarding point that is not on the road network to obtain corrected user boarding point information includes: Obtaining the starting driving direction of the historical order, where the starting driving direction includes the direction in which the vehicle travels after the user gets on the vehicle in the historical order; Based on the starting travel direction, projecting the user boarding point of the same historical order onto the road network to obtain road network projection point information of the user boarding point; Determine the road network projection point information as the modified user boarding point information; then group and filter the user boarding point information to filter out at least one personalized boarding point, wherein the filtering includes: filtering out at least one personalized boarding point from each set of at least one candidate first personalized boarding point set; A recommended boarding point is determined based on the at least one personalized boarding point.
2. The method according to claim 1, characterized in that The step of selecting at least one personalized boarding point from each of at least one candidate first personalized boarding point set is specifically: Obtaining time information of the historical order; Determine, according to the user boarding point information and the time information, an average distance difference or / and an average time difference between the user boarding points in each of the at least one candidate first personalized boarding point set; At least one personalized boarding point is selected from each set according to the average distance difference and / or the average time difference.
3. A system for recommending boarding points, characterized in that: include: A receiving module, used for receiving a service request from a target user terminal; An acquisition module, configured to acquire at least one historical order including user boarding point information, wherein the boarding point information is associated with a location of the target user terminal; A correction module is used to correct the user boarding point information before grouping the user boarding point information, specifically including: Acquire road network information, wherein the road network information includes road nodes and road sections; Determining whether the user boarding point is on the road network according to the user boarding point information and the road network information; Correcting the user boarding point that is not on the road network to obtain corrected user boarding point information includes: Obtaining the starting driving direction of the historical order, where the starting driving direction includes the direction in which the vehicle travels after the user gets on the vehicle in the historical order; Based on the starting travel direction, projecting the user boarding point of the same historical order onto the road network to obtain road network projection point information of the user boarding point; Determining the road network projection point information as the corrected user boarding point information; A grouping module, used to group the corrected user boarding point information to determine at least one candidate first personalized boarding point set; A screening module, configured to screen out at least one personalized boarding point from the at least one candidate first personalized boarding point set, comprising: screening out at least one personalized boarding point from each set of the at least one candidate first personalized boarding point set; A determination module is used to determine a recommended boarding point based on the location of the target user terminal and at least one personalized boarding point.
4. The system according to claim 3, characterized in that The screening module is also used for: Obtaining time information of the historical order; Determine, according to the user boarding point information and the time information, an average distance difference or / and an average time difference between the user boarding points in each of the at least one candidate first personalized boarding point set; At least one personalized boarding point is selected from each set according to the average distance difference and / or the average time difference.
5. An electronic device, characterized in that: include: at least one storage medium and at least one processor; The at least one storage medium stores computer instructions; The at least one processor is used to execute computer instructions to implement the method as described in any one of claims 1 to 2.
6. A computer-readable storage medium, wherein the storage medium stores computer instructions, and when the computer instructions are executed by a processor, the method according to any one of claims 1 to 2 is implemented.
Citation Information
Patent Citations
System and method for correcting get-on position in electronic map based on passenger taxi-calling historic data
CN104796856A
Voting based taxi passenger-carrying point recommendation method
CN105045858A