A method and system for determining a carpooling order
By dynamically adjusting the matching threshold and using multi-Agent reinforcement learning model, the problems of poor ride-sharing efficiency and user experience of traditional carpooling platforms are solved, and more efficient carpooling decisions and experience optimization are achieved.
Patent Information
- Application Number
- CN202010798337.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-10
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2040-12-20
AI Technical Summary
The use of fixed matching thresholds in traditional carpooling travel platforms leads to poor ride efficiency and user ride experience, and they cannot adapt to the needs of different shared travel scenarios.
By acquiring and analyzing the information of multiple orders, dynamically adjusting the matching threshold, determining whether the order is suitable for carpooling based on the matching parameters and thresholds, a matching threshold table is generated using a multi-Agent reinforcement learning model to optimize carpooling decisions.
It improves the efficiency of riding and user ride experience, adapts to the needs of different scenarios, and optimizes the efficiency and accuracy of riding decisions.
Smart Images

Figure CN111932341B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of travel, and in particular to a method and system for determining a carpooling order. Background Art
[0002] With the increasing popularity of public transportation, more and more people are choosing shared travel modes such as carpooling. For travel platforms, it is necessary to analyze the information of multiple orders to determine orders suitable for carpooling. Traditional methods usually set a fixed matching threshold, and screen out orders suitable for carpooling based on the matching threshold. However, for different shared travel scenarios, the use of a fixed matching threshold will affect the platform's carpooling efficiency and the passengers' riding experience. Therefore, it is necessary to provide a method and system for determining carpooling orders, in which the matching threshold is adjusted according to different shared travel scenarios, thereby improving the carpooling efficiency and the user's riding experience. Summary of the invention
[0003] One of the embodiments of the present application provides a method for determining a carpooling order. The method for determining a carpooling order includes: obtaining order information of a first order and order information of at least one second order; determining matching parameters of the first order and the at least one second order based on the order information of the first order and the order information of the at least one second order; determining a matching threshold of the first order based on the order information of the first order; and determining whether to carpool the first order and the at least one second order based on the matching parameters and the matching threshold.
[0004] One of the embodiments of the present application provides a system for determining a carpooling order. The system for determining a carpooling order includes: an acquisition module, a matching parameter determination module, a matching threshold determination module, and a carpooling determination module; wherein: the acquisition module is used to acquire order information of a first order and order information of at least one second order; the matching parameter determination module is used to determine the matching parameters of the first order and at least one second order based on the order information of the first order and the order information of the at least one second order; the matching threshold determination module is used to determine the matching threshold of the first order based on the order information of the first order; and the carpooling determination module is used to determine whether to carpool the first order and the at least one second order based on the matching parameters and the matching threshold.
[0005] One embodiment of the present application provides a device for determining a carpooling order, wherein the device comprises at least one processor and at least one storage device, wherein the storage device is used to store instructions, and when the at least one processor executes the instructions, the method described in any embodiment of the present application is implemented.
[0006] According to another aspect of the present application, a computer-readable storage medium is provided, wherein the storage medium stores computer instructions, and when a computer reads the computer instructions in the storage medium, the computer executes the method described in any embodiment of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The present application will be further described in the form of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same number represents the same structure, wherein:
[0008] Figure 1 is a schematic diagram of an application scenario of a carpooling system according to some embodiments of the present application;
[0009] Figure 2 is a module diagram of a carpooling system according to some embodiments of the present application;
[0010] Figure 3 is an exemplary flow chart of a method for determining a carpooling order according to some embodiments of the present application;
[0011] Figure 4 is an exemplary flow chart of a method for generating a matching threshold table according to some embodiments of the present application;
[0012] Figure 5 is an exemplary flow chart of a method for generating a matching threshold table according to some other embodiments of the present application; and
[0013] Figure 6 It is a schematic diagram of a matching threshold table according to some embodiments of the present application. DETAILED DESCRIPTION
[0014] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of the present application. For ordinary technicians in this field, the present application can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.
[0015] 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.
[0016] As shown in this application and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "comprises" and "includes" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.
[0017] Flowcharts are used in the present application to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed accurately in order. On the contrary, the various steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0018] Embodiments of the present application can be applied to different transportation systems, for example, taxis, special cars, ride-sharing, buses, and designated drivers. The "passengers", "passenger terminals", "user terminals", "customers", "demanders", "service demanders", "consumers", "consumers", "user demanders", etc. described in this application are interchangeable and refer to the party that needs or orders services, which can be an individual or a tool. Similarly, the "driver", "driver terminal", "provider", "supplier", "service provider", "service provider", "service provider", etc. described in this application are also interchangeable and refer to individuals, tools or other entities that provide services or assist in providing services. In addition, the "user" described in this application can be a party that needs or orders services, or a party that provides services or assists in providing services.
[0019] Figure 1 It is a schematic diagram of the application scenario of the carpooling system 100 shown in some embodiments of the present application. The carpooling system 100 can be used to determine whether at least two orders are suitable for carpooling. In some embodiments, the carpooling system 100 can analyze the relevant information of the at least two orders (for example, the starting location, the end location, the departure time, etc.) to determine a matching threshold, and judge whether at least two orders are suitable for carpooling based on the matching threshold. As used in this application, carpooling refers to a mode of transportation in which two or more people share a vehicle. The vehicle may include a taxi, a special car, a ride-sharing car, a bus, a driver, a train, a motor vehicle, a high-speed rail, a ship, an airplane, an unmanned vehicle, etc.
[0020] In some embodiments, the carpooling system 100 may be an online service platform for providing Internet services. For example, the carpooling system 100 may be applied to an online car-hailing service platform that provides transportation services. The online car-hailing service platform may provide transportation services such as taxi calls, express calls, special car calls, minibus calls, carpooling, public transportation services, driver hiring, pick-up services, and chauffeur services. For another example, the carpooling system 100 may also be applied to service platforms such as express delivery, takeout, and travel (such as tourism). For the convenience of description, the application of the carpooling system 100 is described below using the online car-hailing platform as an example. This is not intended to be limiting, and the carpooling system 100 may be applied to any service platform.
[0021] The carpooling system 100 may include a server 110 , a service requester terminal 120 , a storage device 130 , a service provider terminal 140 , a network 150 , and an information source 160 .
[0022] In some embodiments, the server 110 may be used to process information and / or data related to the carpooling system 100, for example, for processing online car orders. In some embodiments, the server 110 may be a single server or a server group. The server group may be centralized or distributed (for example, the server 110 may be a distributed system). In some embodiments, the server 110 may be local or remote. For example, the server 110 may access information and / or data stored in the service requester terminal 120 and / or the storage device 130 via the network 150. For another example, the server 110 may be directly connected to the service requester terminal 120 and / or the storage device 130 to access the stored information and / or data. In some embodiments, the server 110 may be implemented on a cloud platform or an onboard computer. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof.
[0023] In some embodiments, the server 110 may include a processing engine 112. The processing engine 112 may process information and / or data related to the carpooling system 100 to perform one or more functions described in the present application. For example, the processing engine 112 may obtain at least two orders sent by the service requester terminal 120, and obtain order information of the at least two orders, determine a matching threshold based on the order information of the at least two orders, and then determine whether to carpool the first order and the at least one second order based on the matching threshold. In some embodiments, the processing engine 112 may also dispatch the first order and the at least one second order in response to the determination result that the first order and the at least one second order are carpooled. In some embodiments, the processing engine 112 may include one or more processing engines (e.g., a single-chip processing engine or a multi-chip processing engine). By way of example only, the processing engine 112 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), a graphics processing unit (GPU), a physical 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, the like, or any combination thereof.
[0024] In some embodiments, the service requester terminal 120 may be a person, tool or other entity directly related to the order. The user may be the service requester. In this application, "user" and "user terminal" may be used interchangeably. In some embodiments, the service requester terminal 120 may include a mobile device 120-1, a desktop computer 120-2, a laptop computer 120-3, and an onboard device 120-4 in a motor vehicle, etc., or any combination thereof. In some embodiments, the mobile device 120-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof. In some embodiments, the smart home device may include smart lighting devices, smart electrical appliance control devices, smart monitoring devices, smart TVs, smart cameras, intercoms, etc., or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, smart shoes and socks, smart glasses, smart helmets, smart watches, smart wear, smart backpacks, smart accessories, etc., or any combination thereof. In some embodiments, the smart mobile device may include a smart phone, a personal digital assistant (PDA), a gaming device, a navigation device, a point of sale (POS), etc., or any combination thereof. In some embodiments, the virtual reality device and / or augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, enhanced virtual 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 vehicle-mounted device 120-4 in the motor vehicle may include a vehicle-mounted computer, a vehicle-mounted television, etc.
[0025] In some embodiments, the service provider terminal 140 may be a terminal device with communication and control functions on a traffic vehicle. In some embodiments, the service provider terminal 140 may also be a driver terminal, which may be a device similar to or the same as the service requester terminal 120. In some embodiments, the service provider terminal 140 may include a mobile device 140-1, a desktop computer 140-2, a laptop computer 140-3, and an on-board device 140-4 in a motor vehicle, etc. or any combination thereof.
[0026] In some embodiments, the service requester terminal 120 and / or the service provider terminal 140 may be a device with positioning technology. In some embodiments, the service requester terminal 120 and / or the service provider terminal 140 may communicate with another positioning device to determine the location of the service requester terminal 120 and / or the service provider terminal 140. In some embodiments, the service requester terminal 120 and / or the service provider terminal 140 may send positioning information to the server 110.
[0027] The storage device 130 may store data and / or instructions related to the service request. In some embodiments, the storage device 130 may store data obtained / retrieved from the service requester terminal 120. In some embodiments, the storage device 130 may store data and / or instructions used by the server 110 to execute or use to complete the exemplary method described in this application. In some embodiments, the storage device 130 may include a large capacity memory, a removable memory, a volatile read-write memory, a read-only memory (ROM), etc. or any combination thereof. Exemplary large capacity memory may include a disk, an optical disk, a solid-state disk, etc. Exemplary removable memory may include a flash drive, a floppy disk, an optical disk, a memory card, a compressed disk, a tape, etc. Exemplary volatile read-write memory may include a random access memory (RAM). Exemplary RAM may include a dynamic random access memory (DRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), a static random access memory (SRAM), a thyristor random access memory (T-RAM), and a zero capacitance random access memory (Z-RAM), etc. Exemplary read-only memories may include model read-only memories (MROMs), programmable read-only memories (PROMs), erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), compact disk read-only memories (CD-ROMs), and digital versatile disk read-only memories, etc. In some embodiments, the storage device 130 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof. In some embodiments, the storage device 130 may be connected to a network 150 to communicate with one or more components of the carpooling system 100 (e.g., a server 110, a service requester terminal 120, a service provider terminal 140). One or more components of the carpooling system 100 may access data or instructions stored in the storage device 130 via the network 150. In some embodiments, the storage device 130 may be directly connected to or communicate with one or more components of the carpooling system 100 (e.g., a server 110, a service requester terminal 120, a service provider terminal 140). In some embodiments, storage device 130 may be part of server 110. In some embodiments, storage device 130 may be a separate memory.
[0028] The network 150 may facilitate the exchange of information and / or data. In some embodiments, one or more components of the carpooling system 100 (e.g., the server 110, the service requester terminal 120, the storage device 130, the service provider terminal 140) may send information and / or data to other components of the carpooling system 100 via the network 150. For example, the server 110 may obtain / get a service request from the service requester terminal 120 via the network 150. In some embodiments, the network 150 may be a wired network or a wireless network, etc., or any combination thereof. By way of example only, the network 150 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an intranet, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local 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, a global system for mobile communications (GSM) network, a code division multiple access (CDMA) network, a time division multiple access (TDMA) network, a general packet radio service (GPRS) network, an enhanced data rate for GSM evolution (EDGE) network, a wideband code division multiple access (WCDMA) network, a high speed downlink packet access (HSDPA) network, a long term evolution (LTE) network, a user datagram protocol (UDP) network, a transmission control protocol / internet protocol (TCP / IP) network, a short message service (SMS) network, a wireless application protocol (WAP) network, an ultra-wideband (UWB) network, infrared, etc., or any combination thereof. In some embodiments, the carpooling system 100 may include one or more network access points. For example, base stations and / or wireless access points 150-1, 150-2, ..., one or more components of the ridesharing system 100 may be connected to the network 150 to exchange data and / or information.
[0029] The information source 160 is a source that provides other information to the carpooling system 100. The information source 160 can be used to provide the system with information related to order information, such as service time, service location, legal and regulatory information, news information, life information, life guide information, etc. The information source 160 can exist in the form of a single central server, or in the form of multiple servers connected through a network, or in the form of a large number of personal devices. When the information source 160 exists in the form of a large number of personal devices, these devices can be generated by a user-generated content method, such as uploading text, voice, image, video, etc. to the cloud server, so that the cloud server is connected to the many personal devices connected to it to form the information source 160.
[0030] It should be noted that the carpooling system 100 is provided for illustrative purposes only and is not intended to limit the scope of the present application. For those of ordinary skill in the art, various modifications or variations can be made based on the description of the present application. For example, the carpooling system 100 may also include a database. For another example, the carpooling system 100 may implement similar or different functions on other devices. However, these changes and modifications will not deviate from the scope of the present application.
[0031] Figure 2 It is a module diagram of a carpooling system according to some embodiments of the present application.
[0032] like Figure 2 As shown, the system for determining a carpool order may include an acquisition module 210 , a matching parameter determination module 220 , a matching threshold determination module 230 , a carpool determination module 240 , an order dispatching module 250 and a matching threshold table generating module 260 .
[0033] The acquisition module 210 may be used to acquire the order information of the first order and the order information of at least one second order. For a detailed description of acquiring the order information of the first order and the order information of at least one second order, see Figure 3 , I will not go into details here.
[0034] The matching parameter determination module 220 can be used to determine the matching parameters of the first order and the at least one second order based on the order information of the first order and the order information of the at least one second order. In some embodiments, the matching parameters may include one or more of the detour time, the detour distance, and the order group score. For a detailed description of determining the matching parameters of the first order and the at least one second order, see Figure 3 , I will not go into details here.
[0035] The matching threshold determination module 230 can be used to determine the matching threshold of the first order based on the order information of the first order. Specifically, a matching threshold table can be obtained, the matching threshold table records the correspondence between order features and matching thresholds; and based on the order information of the first order, the matching threshold of the first order is determined by searching the matching threshold table. In some embodiments, the matching threshold table can be generated by a matching threshold table generation module. For a detailed description of determining the matching threshold of the first order, see Figure 3 , I will not go into details here.
[0036] The carpool determination module 240 may be used to determine whether to carpool the first order and the at least one second order based on the matching parameter and the matching threshold. For a detailed description of determining whether to carpool the first order and the at least one second order, see Figure 3 , I will not go into details here.
[0037] The dispatching module 250 may be used to dispatch the first order and the at least one second order in response to the result of determining that the first order and the at least one second order are to be carpooled. For a detailed description of dispatching the first order and the at least one second order, see Figure 3 , I will not go into details here.
[0038] The matching threshold table generation module 260 can be used to obtain the first sample order information of at least two first sample orders; and use the first sample order information to train the multi-agent reinforcement learning model to generate the matching threshold table. Alternatively, the matching threshold table generation module 260 can set an initial matching threshold for each second sample order subset, and then optimize the initial matching threshold of the second sample order subset based on the business indicator parameters to obtain its matching threshold. Specifically, the second sample order information of at least two second sample orders can be obtained; and the at least two second sample orders can be clustered to obtain at least one second sample order subset; then, for each second sample order subset, an initial matching threshold is set; and for each second sample order subset, based on the business indicator parameters, the initial matching threshold of the second sample order subset is optimized to obtain its matching threshold, and the matching threshold table includes the matching threshold of each second sample order subset. For a detailed description of generating a matching threshold table, see Figure 4 and Figure 5 , I will not go into details here.
[0039] It should be understood that Figure 2 The system and its modules shown can be implemented in various ways. For example, in some embodiments, the system and its modules can be implemented by hardware, software or a combination of software and hardware. Among them, the hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or a dedicated design hardware. Those skilled in the art will understand that the above-mentioned method and system can be implemented using computer executable instructions and / or included in a processor control code, such as a carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. Such code is provided on the carrier medium such as a disk, CD or DVD-ROM, a programmable memory such as a read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The system and its modules of the present application can not only be implemented by hardware circuits such as ultra-large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but can also be implemented by software such as executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (for example, firmware).
[0040] It should be noted that the above description of the candidate display, determination system and its modules is only for convenience of description and cannot limit the present application to the scope of the embodiments. It can be understood that for those skilled in the art, after understanding the principle of the system, it is possible to arbitrarily combine the various modules without deviating from this principle, or to form a subsystem connected with other modules. For example, in some embodiments, the acquisition module 210, the matching parameter determination module 220, the matching threshold determination module 230, the carpool determination module 240, the dispatch module 250 and the matching threshold table generation module 260 can be different modules in a system, or a module can realize the functions of two or more modules mentioned above. For another example, the carpool determination module 240 and the dispatch module 250 can be two modules, or a module can have both the carpool determination and dispatch functions. For another example, each module can share a storage module, or each module can have its own storage module. Such variations are all within the scope of protection of the present application.
[0041] In some embodiments, Figure 2 The modules shown can be implemented on the same or different processing devices. For example, the matching threshold table generation module 260 can be implemented on a first processing engine, which can be a processing engine of a supplier that generates and / or updates the matching threshold table. The acquisition module 210, the matching parameter determination module 220, the matching threshold determination module 230, the carpooling determination module 240, and the dispatching module 250 can be implemented on a second processing engine different from the first processing engine, which can be a processing engine of a customer that applies the matching threshold table.
[0042] Figure 3 300 is an exemplary flow chart of a method 300 for determining a carpooling order according to some embodiments of the present application. In some embodiments, the method 300 may be executed by the server 110 (eg, the processing engine 112), and the method 300 may include the following steps:
[0043] Step 310, obtaining order information of a first order and order information of at least one second order.
[0044] In some embodiments, step 310 may be implemented by the acquisition module 210 .
[0045] The first order may be a car order sent by the first service requester terminal. The second order may be a car order sent by a second service requester terminal different from the first service requester terminal. In some embodiments, the first order and the second order may be orders issued by any different service requesters in the online car-hailing platform. Optionally, the first order and the second order may meet specific conditions and have a certain possibility of carpooling. For example, the order time or departure time of the first order and the second order are close (for example, the time difference does not exceed a specific time threshold). Alternatively, the first order and the second order are orders belonging to the same area (for example, an urban area). In some embodiments, the first order and / or the second order may be a carpooling order. Alternatively, the first order and / or the second order may not be a carpooling order (for example, an express order or a ride-sharing order), and the online car-hailing platform may recommend it for carpooling after analysis.
[0046] In some embodiments, the order information may include one or more of the order time, departure time, starting location, end location, and service requester information. The order time may be the time when the service requester sends a request for a car through its service requester terminal. The departure time may be the time set by the service requester to start the trip. The starting location may be the departure point of the trip. The end location may be the destination of the trip. The service requester information may include a combination of one or more of the number of people traveling with the service requester, the service requester's historical order records, the service requester's preference information, the service requester's basic information, etc. The service requester's basic information may include one or more of the following: gender, age, occupation, credit record, identity information, bank account. The credit record may include the number of borrowings, the amount of borrowings, the term of borrowings, and / or the repayment status. The identity information may include, but is not limited to, the information on the user's ID card or the information on the user's passport.
[0047] In some embodiments, the acquisition module 210 may acquire order information related to the first order and the second order by communicating with the first service requester terminal, the second service requester terminal and / or the storage device 130. For example, the acquisition module 210 may acquire one or more of the order time, departure time, starting point and end point locations of the first order from the first service requester terminal directly or through the network 150. For another example, the acquisition module 210 may acquire basic information of the service requester who issued the first order and / or the second order stored in the storage device 130 directly or through the network.
[0048] Step 320 , based on the order information of the first order and the order information of the at least one second order, determine the matching parameters of the first order and the at least one second order. In some embodiments, step 320 may be implemented by the matching parameter determination module 220 .
[0049] The matching parameters may reflect the degree of matching between the first order and the second order. For example, the matching parameters may include one or more of the detour time, the detour distance, and the group order score. As an example only, assuming that the estimated driving time between the starting point and the end point of the first order (or the second order) is T1, and the estimated driving time after adjusting the driving route of the first order (or the second order) in order to complete the first order and at least one second order in the same trip is T2, the detour time may be the difference between T2 and T1. The longer the detour time, the lower the degree of matching between the first order and the second order. As an example only, assuming that the estimated driving distance between the starting point and the end point of the first order (or the second order) is S1, and the estimated driving distance after adjusting the driving route of the first order (or the second order) in order to complete the first order and at least one second order in the same trip is S2, the detour distance may be the difference between S2 and S1. The group order score may be a score indicating whether the first order and the second order are suitable for group ordering. The group order score may be represented in any appropriate form such as numbers, grades, etc. For example, the group order score can be 0 or 1, 0 means not suitable for group ordering, and 1 means suitable for group ordering. For another example, the group order score can also be any value between 0 and 100, and the higher the group order score, the more suitable the first order and the second order are for group ordering.
[0050] In some embodiments, the matching parameters may include the group order score of the first order and the second order. The group order score may be determined based on the order information of the first order and the second order. As an example only, assuming that the driving route of the first order is R1 and the driving route of the second order is R2, the group order score may be determined based on the overlap between the driving routes R1 and R2. The higher the overlap of the routes, the higher the group order score.
[0051] In some embodiments, the group order score can be determined by a group order score prediction model. Specifically, a group order score prediction model can be obtained. Then, the order information of the first order and the order information of at least one second order are input into the group order score prediction model, and the group order score prediction model can output the group order scores of the first order and the at least one second order. The group order score prediction model can be a machine learning model, which can receive the order information of at least two orders and determine the group order scores of the at least two orders based on the received order information.
[0052] The group order score prediction model can be any type of machine learning model, such as a classification model, a convolutional neural network model (CNN), etc. Exemplary classification models may include decision tree models, K-Nearest Neighbor (KNN) models, Bayesian classification, random forests, support vector machines, and other models. In some embodiments, the group order score prediction model can be generated by the processing engine 112 (or other computing devices) based on a machine learning algorithm and stored in a storage device (e.g., a storage device 130 or an external storage device). The processing engine 112 can obtain the group order score prediction model from the storage device and determine the group order scores of the first order and the second order based on the group order score prediction model. Exemplary training algorithms may include, but are not limited to, artificial neural network algorithms, deep learning algorithms, decision tree algorithms, association rule algorithms, inductive logic programming algorithms, support vector machine algorithms, clustering algorithms, Bayesian network algorithms, reinforcement learning algorithms, representation learning algorithms, similarity and metric learning algorithms, sparse dictionary learning algorithms, genetic algorithms, rule-based machine learning algorithms, etc., or any combination thereof.
[0053] In some embodiments, the group order score prediction model can be obtained by training the initial model with historical order samples. The historical order samples may include completed historical orders within a period of time (e.g., one week, one month, three months, etc.), wherein the historical orders may include orders for successful carpooling and / or orders for unsuccessful carpooling. In some embodiments, the historical order samples may be marked, and the characteristic parameters of the historical order samples may be determined. For example, at least two carpooling orders for successful carpooling may be marked as positive samples, and at least two carpooling orders for unsuccessful carpooling may be marked as negative samples. The characteristic parameters of the positive and negative samples may be further extracted, such as scene characteristics (e.g., vehicle demand, weather conditions, etc.), spatial characteristics (e.g., geographic locations of the starting point and the end point), time characteristics (e.g., order time, departure time), carpooling characteristics (e.g., successful carpooling, unsuccessful carpooling), transaction characteristics (e.g., driver income, passenger expenditure, passenger payment method), road condition characteristics (e.g., road surface conditions), user characteristics (e.g., basic passenger information, basic driver information), and other parameters. Then, based on the characteristic parameters and marking results of the historical order samples, the initial model may be trained to obtain the group order score prediction model.
[0054] In some embodiments, during the training of the initial model, the trajectory images of at least two historical order samples can be determined, and the trajectory images refer to the images corresponding to the driving routes of the historical order samples. The topological structure of the road in the electronic map is composed of line segments, where Link is the basic unit of the road model in the electronic map, which can represent a section of road; Node represents the intersection of roads, and Node and Link can be used to represent the topological structure of the entire road; the road model in the electronic map is directional, and the road model is similar to a mesh structure. The number corresponding to the road Link is the road ID, and a driving route can include multiple road Links, and the road IDs of multiple road Links can form a Link-ID list. For example, the results of whether at least two historical order samples are successful in carpooling are known, and the original planned routes and driving routes are also known. Specifically, the original planned routes, Link-ID Lists of the driving routes, and the results of whether the carpooling is successful can be obtained for at least two historical order samples. Then, based on the link-ID List, a query is performed in the map information database to obtain the coordinate point set corresponding to all road Links in the Link-ID List. Based on the coordinate point set, the trajectory image corresponding to the order can be generated. Then, the trajectory images of at least two historical order samples and the results of whether the carpooling is successful can be input into the initial model for training to obtain a trained CNN model.
[0055] Step 330 : Determine a matching threshold of the first order based on the order information of the first order. In some embodiments, step 330 may be implemented by the matching threshold determination module 230 .
[0056] The matching threshold may refer to a critical value of a matching parameter, which may be used to determine whether the carpooling is successful. For example, the matching threshold may include one or more of a detour time threshold, a detour distance threshold, a carpooling score threshold, and the like.
[0057] In some embodiments, the matching threshold of the first order can be obtained based on the order information of the first order. Specifically, a matching threshold table can be obtained; and based on the order information of the first order, the matching threshold of the first order is determined by searching the matching threshold table. The matching threshold table can be any carrier that can record the correspondence between order features and matching thresholds, such as a table, function, image, text, etc. Order features may include location features of the order (e.g., starting point and / or end point), time features (e.g., order time and / or departure time), and requester features (e.g., requester age, gender, preferences, etc.). For illustrative purposes, the following description will be expanded using the origin, end point, and departure time (origin-destination-time, abbreviated as ODT) as exemplary order features.
[0058] Just as an example, Figure 6 It is based on the three matching threshold tables 610, 620 and 630 shown in some embodiments of the present application. Matching threshold tables 610, 620 and 630 correspond to three different time periods T1, T2 and T3 respectively. In the matching threshold table, O1, O2, O3... represent the starting point (or the area where the starting point is located), D1, D2, D3... represent the end point (or the area where the end point is located), and 0 and 1 represent the matching threshold. For example, 0 may indicate that the matching threshold is less than the matching threshold reference value, and 1 may indicate that the matching threshold is greater than the matching threshold reference value. The matching threshold reference value may be determined according to the default setting of the carpooling system 100, or may be set manually, or may be adjusted according to actual needs. The matching threshold of the first order may be determined by searching the matching threshold table based on the starting point, end point and departure time of the first order. It should be understood that, Figure 6 The matching threshold tables 610, 620 and 630 shown are only exemplary, and the matching threshold table can be stored and presented in any other form. For example, the matching threshold in the matching threshold table may not be discrete numbers such as 0 and 1, but a continuous value (for example, any value between 0-1). For another example, the order feature in the matching threshold table may include only one of the starting point and the end point. In some embodiments, the matching threshold table can be generated by the processing engine 112 or other computing device by executing the matching threshold table generation process. Alternatively, the matching threshold table can be generated in advance by the processing engine 112 or other computing device and stored in a storage device (for example, the storage device 130 or an external storage device). The matching threshold determination module 230 can obtain the matching threshold table from the storage device. In some embodiments, the matching threshold table generation process can be generated using a multi-agent reinforcement learning (Multi-Agent Reinforcement Learning, MARL) model (or multi-agent reinforcement learning model). Specifically, the first sample order information of at least two first sample orders can be obtained, and then the multi-agent reinforcement learning model is trained using the first sample order information to generate a matching threshold table. More information on training a multi-agent reinforcement learning model to generate matching threshold tables can be found in Figure 4 and its description, which will not be repeated here.
[0059] In some embodiments, the matching threshold table generation process can also be obtained by optimizing the initial matching threshold based on the business indicator parameters. Specifically, the second sample order information of at least two second sample orders can be obtained, and the at least two second sample orders can be clustered to obtain a second sample order subset. Then, an initial matching threshold can be set for each second sample order subset, and the initial matching threshold of the second sample order subset can be optimized based on the business indicator parameters to obtain its matching threshold. The matching threshold table may include the matching threshold of each second order subset. More information about optimizing the initial matching threshold based on the business indicator parameters to obtain the matching threshold can be found in Figure 5 and its description, which will not be repeated here.
[0060] Step 340 , based on the matching parameter and the matching threshold, determine whether to carpool the first order and the at least one second order. In some embodiments, step 340 may be implemented by the carpool determination module 240 .
[0061] In some embodiments, by comparing the matching parameters of the first order and at least one second order with the matching threshold of the first order, it is determined whether it is appropriate to carpool the first order and at least one second order. For example, when the matching parameter is the detour time or the detour distance, if the matching parameter is less than the matching threshold, it is determined that the second order is suitable for carpooling with the first order; otherwise, it is determined that the second order is not suitable for carpooling with the first order. Just as an example, if the matching parameter of the first order and the second order is a detour time of 3min, the matching threshold of the first order is a detour time threshold of 5min, and the detour time is less than the detour time threshold, it means that the second order is suitable for carpooling with the first order. For another example, if the matching parameter is a carpooling score, if the matching parameter is greater than the matching threshold, it is determined that the second order is suitable for carpooling with the first order; otherwise, it is determined that the second order is not suitable for carpooling with the first order.
[0062] In some embodiments, at least two different matching parameters may be determined in step 320, and a matching threshold corresponding to each matching parameter may be determined in step 330. Whether to carpool the first order and at least one second order may be determined based on a comparison between each matching parameter and its corresponding matching threshold. For example, as long as there is a matching parameter comparison result indicating that the first order and the second order are suitable for carpooling, it may be determined that the second order is suitable for carpooling with the first order. For another example, a weight may be set for each matching parameter, and the comparison results of each matching parameter may be comprehensively considered to determine whether to carpool the first order and the second order.
[0063] Optionally, in response to the determination result that the second order is not suitable for carpooling with the first order, other second orders can be searched again and it can be determined whether they can be carpooled with the first order. Or in response to the determination result that the first order and at least one second order are carpooled, the first order and at least one second order can be dispatched. For example, a service provider can be assigned to the first order and the at least one second order. In addition or alternatively, a message of successful carpooling can be sent to the service request terminal of the first order and the at least one second order, and the carpooling information (for example, the carpooling route, the order of boarding, etc.) can be displayed. In some embodiments, the dispatching module 250 can dispatch the first order and the at least one second order in response to the determination result that the first order and the at least one second order are carpooled.
[0064] 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 application. For those skilled in the art, various modifications and changes can be made to process 300 under the guidance of the present application. However, these modifications and changes are still within the scope of the present application. For example, the group order score may not be limited to the form in step 320, but may also be any value between 0 and 100% (e.g., 70%, 80% or 90%).
[0065] Figure 4 400 is an exemplary flow chart of a method for generating a matching threshold table according to some embodiments of the present application. In some embodiments, method 400 may be performed by server 110 (e.g., processing engine 112). In other embodiments, method 400 may be performed by a computing device of a supplier that generates and / or updates the matching threshold table. For illustrative purposes, the implementation process of method 400 is described below using processing engine 112 as an example. The method 400 may include the following steps:
[0066] Step 410 , obtaining first sample order information of at least two first sample orders. In some embodiments, step 410 may be implemented by the matching threshold table generation module 260 .
[0067] The first sample order may be a historical order that has been completed within a period of time in the past (e.g., one week, one month, three months, etc.), wherein the historical order may include orders for successful carpooling and / or orders for unsuccessful carpooling. The first sample order may be used as a training sample for generating a matching threshold table. Exemplarily, the first sample order information may include one or any combination of scenario features (e.g., vehicle demand, weather conditions, etc.), spatial features (e.g., geographic locations of the starting point and the end point), time features (e.g., order time, departure time), carpooling features (e.g., successful carpooling, unsuccessful carpooling), transaction features (e.g., driver income, passenger expenditure, passenger payment method), road condition information (e.g., road surface conditions), user features (e.g., driver basic information, passenger basic information), etc.
[0068] In some embodiments, the matching threshold table generation module 260 may communicate with one or more components in the carpooling system 100 (e.g., the storage device 130, the service requester terminal 120, and / or the service provider terminal 140) to obtain first sample order information of at least two first sample orders.
[0069] Step 420 , train a multi-agent reinforcement learning model (MARL) using the first sample order information to generate a matching threshold table. In some embodiments, step 420 may be implemented by the matching threshold table generation module 260 .
[0070] The multi-agent reinforcement learning model may include at least two autonomous, mutually interactive entities, which share the same environment, perceive the environment through a sensor and take actions through an actuator. In some embodiments, the matching threshold table generation module 260 may train the multi-agent reinforcement learning model based on a MARL training algorithm such as a fully cooperative MARL algorithm, a fully competitive MARL algorithm, a mixed task MARL algorithm, or any combination thereof. In some embodiments, the MARL model may be trained using a first sample order to generate a matching threshold table. Specifically, at least two first sample orders may be clustered to obtain at least two first subsets. For example, two or more first sample orders may be clustered based on one or more order features of the first sample order (e.g., departure time, starting location, end location, billing ratio, etc., or any combination thereof) to obtain two or more first subsets. For the content of the billing ratio, please refer to the relevant description of step 540. Taking the departure time as an example, the first sample orders within a time slice of the departure time may be clustered into a subset. A time slice may be a time interval (e.g., 0.5 hours or 1 hour). Different time slices may have the same or different durations. As an example only, a day can be divided into 48 time slices at intervals of half an hour. The first sample order can be clustered into 48 subsets corresponding to the 48 time slices according to the departure time. For another example, the urban area can be divided into multiple sub-areas in advance, and then the first sample orders with the starting position or the end position in the same sub-area can be clustered into a subset. The multiple sub-areas can be circular areas (for example, with a radius of 1 kilometer), square areas, triangular areas, or irregularly shaped areas, and the present application is not limited to this. The multiple sub-areas can have the same area and shape, or different areas and shapes. As an example only, the first sample orders with the starting position or the end position in the same circular area with a radius of 1 kilometer can be clustered into a subset. For another example, at least two first sample orders can be clustered based on the departure time and the end position at the same time. As an example only, at least two first samples can be clustered into multiple subsets corresponding to different time slices and the end points are located in different sub-areas.
[0071] After clustering the first sample order, a reward function can be used to train a multi-agent reinforcement learning model to generate a matching threshold table. In some embodiments, the first sample order can be clustered according to the departure time to generate a first subset corresponding to different time slices. For each time slice, a multi-agent reinforcement learning model can be trained using a reward function based on the first sample order information of the first subset corresponding to it to generate a matching threshold table for each time slice. The reward function can be the billing ratio of the time slice, or other business indicator parameters corresponding to the time slice (such as total transaction amount, success rate or unconvenient degree), etc. or any combination thereof. In some embodiments, for a specific time slice, the matching threshold table generated by its training needs to make its reward function meet specific conditions. For example, it is necessary to maximize the billing ratio of the time slice or exceed a specific threshold. The generated matching threshold table includes at least two matching threshold tables for at least two time slices, and each matching threshold table records the corresponding relationship between the order features and the matching threshold in the corresponding time slice. For more information about the matching threshold table, please refer to step 330 and its description, which will not be repeated here.
[0072] In some embodiments, the matching threshold table corresponding to each time slice can be generated in chronological order. Optionally, the matching threshold table determined by the previous time slice will affect the decision of the next time slice. Specifically, when generating the matching threshold table for each time slice, the first sample order information and the reward function (such as the billing ratio) of the first sample order of the previous time slice can be input into the multi-agent reinforcement learning model for training, and the matching threshold table of the time slice can be obtained. Then in the next time slice, the first sample order information and the reward function (such as the billing ratio) of the first sample order that was not assembled in the previous time slice are input into the multi-agent reinforcement learning model again for training to obtain the matching threshold table of the next time slice. And so on, the matching threshold tables of all time slices can be obtained.
[0073] A matching threshold table can be generated by training a multi-agent reinforcement learning model. The multi-agent reinforcement learning model can dynamically adjust the matching threshold of the order according to different application scenarios to improve the efficiency of carpooling. In some embodiments, a matching threshold table can be generated in advance. When applied, the corresponding matching threshold can be queried in the matching threshold table according to the information of the real-time order, and then the real-time order is determined based on the matching threshold to determine whether the carpooling is successful. The method of pre-generating a matching threshold table can improve the operating efficiency of the carpooling system 100. In some embodiments, the information of the real-time order can also be input into the trained Agent reinforcement learning model to generate a real-time matching threshold, and then the real-time order is determined based on the matching threshold to determine whether the carpooling is successful.
[0074] In some embodiments, the matching threshold table may be updated in real time or intermittently. For example, the historical order data of the previous day may be used as the first sample order, and the matching threshold table may be updated every day. For another example, the historical order data of the previous hour may be used as the first sample order, and the matching threshold table may be updated every hour. Updating the matching threshold table may improve the accuracy of the matching threshold table, thereby improving the carpooling accuracy of the carpooling system 100.
[0075] It should be noted that the above description of the method for generating a matching threshold table for a process is only for example and illustration, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to the matching threshold table for process generation under the guidance of the present application. However, these modifications and changes are still within the scope of the present application. For example, the matching threshold table can be generated by training a model other than a multi-agent reinforcement learning model.
[0076] Figure 5 500 is an exemplary flow chart of a method for generating a matching threshold table according to some other embodiments of the present application. In some embodiments, method 500 may be performed by server 110 (e.g., processing engine 112). In other embodiments, method 500 may be performed by a computing device of a supplier that generates and / or updates the matching threshold table. For illustrative purposes, the implementation process of method 500 is described below using processing engine 112 as an example. The method 500 may include the following steps:
[0077] Step 510 , obtaining second sample order information of at least two second sample orders. In some embodiments, step 510 may be implemented by the matching threshold table generation module 260 .
[0078] The second sample order may be a historical order that has been completed in the past period of time (e.g., one week, one month, three months, etc.), wherein the historical order may include orders that have been successfully shared and / or orders that have not been successfully shared. The second sample order may be used as a sample for generating a matching threshold table. In some embodiments, the second sample order and Figure 4 The first sample order may include one or more identical or different sample orders.
[0079] Exemplarily, the second sample order information may include one or any combination of scenario characteristics (for example, vehicle demand, weather conditions, etc.), spatial characteristics (for example, geographical locations of the starting point and the end point), time characteristics (for example, order time, departure time), carpooling characteristics (for example, successful carpooling, unsuccessful carpooling), transaction characteristics (for example, driver income, passenger expenditure, passenger payment method), traffic condition information (for example, road surface conditions), user characteristics (for example, driver basic information, passenger basic information), etc.
[0080] In some embodiments, the matching threshold table generation module 260 may communicate with one or more components in the carpooling system 100 (e.g., the storage device 130, the service requester terminal 120, and / or the service provider terminal 140) to obtain second sample order information of at least two second sample orders.
[0081] Step 520 , clustering at least two second sample orders to obtain at least one second sample order subset. In some embodiments, step 520 may be implemented by the matching threshold table generation module 260 .
[0082] In some embodiments, the at least two second sample orders may be clustered based on one or more order features. As an example only, the at least two second sample orders may be clustered based on departure time, starting location, and / or destination location. The clustering method for the at least two second sample orders may be similar to the clustering method for the first sample orders described in step 420, and will not be described in detail herein.
[0083] Step 530 , setting an initial matching threshold for each second sample order subset. In some embodiments, step 530 may be implemented by the matching threshold table generation module 260 .
[0084] The initial matching threshold may be an initially set matching threshold. The initial matching thresholds for different second sample orders may be the same or different. The initial matching threshold may be set by the system default, may be set by the user, or may be set based on historical carpooling orders. In some embodiments, the initial matching threshold may include one or more of an initial detour time threshold, an initial detour distance threshold, or an initial carpooling score threshold. The form of the initial matching threshold includes, but is not limited to, one of a continuous real number, a discrete real number, a level, or any combination thereof. For example, the initial matching threshold may include an upper threshold limit, a lower threshold limit, or a threshold range. For example, the initial matching threshold may include a detour time threshold of up to 3 minutes and a detour distance threshold of 2 to 3 kilometers.
[0085] Step 540 , for each second sample order subset, based on the business indicator parameter, optimize the initial matching threshold of the second sample order subset to obtain its matching threshold. In some embodiments, step 540 may be implemented by the matching threshold table generation module 260 .
[0086] Exemplarily, the business indicator parameter may include one or any combination of the total transaction amount, the success rate, the billing ratio, the degree of inconvenience, the mileage ratio, etc. of the carpooling order. The total transaction amount of the order may be the total transaction amount of all orders in the second sample order subset. The success rate may be the probability of successful carpooling in the second sample order subset (i.e., the ratio of the number of successful carpooling orders in the second sample order subset to the total number of orders). The billing ratio may be the ratio of the driver's income to the passenger's expenditure after the order is completed in the second sample order subset. The degree of inconvenience may reflect the degree to which the driver in the second sample order subset takes a detour to complete the carpooling order. The degree of inconvenience may be determined by analyzing the driving path of the driver of the successful carpooling order in the second sample order subset. Alternatively, the degree of inconvenience may also be determined based on user feedback. For example, the degree of inconvenience may be the ratio of the number of orders in the second sample order subset that users report as inconvenience to the number of all second sample order subsets. The mileage ratio may be the ratio of the length of the actual driving path of the second sample order that succeeds in carpooling to the sum of the lengths of the estimated driving paths of the second sample order when it is not completed. For example, if the starting point and the end point of the two second sample orders are the same, the estimated driving route length is 10 km, and the actual driving route length after the two second sample orders are combined is also 10 km, then the mileage ratio is 10 / (10+10) = 0.5. The mileage ratio can reflect the efficiency of successful carpooling. The larger the mileage ratio, the higher the efficiency of carpooling; otherwise, the lower it is.
[0087] In some embodiments, for each second sample order subset, its initial matching threshold can be optimized so that its business indicator parameter meets specific conditions (for example, is optimized, exceeds or is less than a certain threshold). For example, at least two candidate matching thresholds can be determined based on the initial matching threshold. Specifically, an adjustment gradient of the matching threshold can be set, and at least two candidate thresholds are determined based on the initial matching threshold and the adjustment gradient. As an example only, the initial matching threshold may include an initial detour time threshold of up to 10 minutes, and the adjustment gradient may be set to 2 minutes, dividing the initial matching threshold into 6 candidate matching thresholds (e.g., 10 minutes, 8 minutes, 6 minutes, 4 minutes, 2 minutes, 0 minutes). The adjustment gradient can be a fixed value or a variable value. Furthermore, based on each candidate matching threshold, the value of the business indicator parameter of the second sample order subset under the candidate matching threshold can be determined. Then, the candidate matching threshold corresponding to the maximum or minimum value of the business indicator parameter can be selected as the matching threshold of the second sample order subset.
[0088] For the purpose of illustration, the optimization process of the initial matching threshold is described below by taking the initial matching threshold as the initial detour time threshold and the business indicator parameter as the total transaction amount as an example. Assume that the second sample order subset includes historical orders of "from Zhongguancun area to Dawang Road area from 17:00 to 17:30", and its initial detour time threshold upper limit is 10 minutes. The upper limit of the initial detour time threshold of 10 minutes can be divided with 1 minute as the adjustment gradient to obtain 10 candidate detour time thresholds (such as 10 minutes, 9 minutes, 8 minutes, ..., 1 minute). The value of the total transaction amount of the second sample order subset corresponding to each of the above candidate detour time thresholds can be determined respectively, and 10 total transaction amounts can be obtained. Then select the candidate detour time threshold corresponding to the maximum value of the above 10 total transaction amounts, and the selected candidate detour time threshold can be used as the matching threshold of the second sample order subset. For example, when the candidate detour time threshold is 7 minutes, the second sample order subset has the maximum total transaction amount (eg, 3,000 yuan), and the candidate detour time threshold of 7 minutes is used as the optimized matching threshold.
[0089] As another example, the initial matching threshold of the second sample order subset can be optimized based on the completion rate. The initial matching threshold can be an initial detour distance threshold. For example, if the upper limit of the initial detour distance threshold is 5 kilometers, the candidate detour distance thresholds can be divided with a distance interval of 1 kilometer as the adjustment gradient to obtain 5 candidate detour distance thresholds (e.g., 5 kilometers, 4 kilometers, 3 kilometers, 2 kilometers, and 1 kilometer). Furthermore, taking the completion rate as a business indicator parameter, the candidate detour distance threshold at the maximum completion rate is selected, and the selected candidate detour distance threshold can be used as the matching threshold for the second sample order subset. For example, when the candidate detour distance threshold is 3 kilometers, the second sample order subset has the maximum completion rate (e.g., 80%), and the candidate detour distance threshold of 3 kilometers is used as the optimized matching threshold.
[0090] For another example, the initial matching threshold of the second sample order subset can be optimized based on the out-of-road degree. In some embodiments, the out-of-road degree can be determined based on user feedback, and the user feedback can be obtained through online questionnaires, order evaluations, and the like. According to the user's feedback on the out-of-road degree of the orders in the second sample order subset, the proportion of out-of-road orders in the second sample order subset can be obtained, that is, the out-of-road degree. For example, the second sample order subset includes 100 orders corresponding to a specific ODT line. Statistics show that 8 users report that the orders are out-of-road, then the out-of-road degree of the second sample order subset is 8%. Based on the out-of-road degree, the out-of-road degree interval (for example, 8% to 15%) corresponding to the second sample order subset (or the ODT line) can be further determined. The out-of-road degree can also be in other forms, such as being represented by a value between 0 and 10, which is not limited in this application. For each candidate matching threshold, the out-of-road degree corresponding to the candidate matching threshold can be calculated. When optimizing the matching threshold, the candidate matching threshold whose unfavorability is within the unfavorability interval may be used as the matching threshold corresponding to the second sample order subset.
[0091] In some embodiments, a machine learning model can be used to calculate the out-of-roadness corresponding to the candidate matching threshold. The machine learning model can be trained based on training data using a machine learning algorithm (e.g., Policy Gradient algorithm). For example, the training data may include feature information (e.g., billing ratio, mileage ratio, etc.) and out-of-roadness scores of historical carpooling orders. When applied, for each candidate matching threshold, the orders that can be carpooled in the second sample order under the threshold can be predicted. For each predicted carpooling order corresponding to the candidate matching threshold, the feature information of the order can be input into the machine learning model to obtain its out-of-roadness. Optionally, based on the out-of-roadness of each predicted carpooling order, its out-of-roadness score can be determined. For example, the model output is an out-of-roadness of 10%, that is, the degree of on-roadness is 90%, and the carpooling order can be scored 9 points; if the output out-of-roadness is 20%, the carpooling order can be scored 8 points. According to the unfavorability scores of the predicted carpooling orders, the unfavorability corresponding to the candidate matching threshold can be determined. For example, the unfavorability can be the proportion of predicted carpooling orders with unfavorability scores greater than a certain threshold to the total number of predicted carpooling orders (or the total number of second sample orders). If the unfavorability corresponding to the candidate matching threshold is not within the unfavorability range described above, the candidate matching threshold can be eliminated.
[0092] In some embodiments, in the process of optimizing the initial matching threshold to determine the matching threshold, the degree of unfavorability can be used as a constraint indicator. As an example only, assuming that the initial matching threshold is the initial detour distance threshold, the initial detour distance threshold needs to be gradient-divided to determine the candidate detour distance thresholds, and the detour distance threshold that maximizes the total transaction amount is selected from them. When selecting, it is necessary to further determine whether the degree of unfavorability corresponding to each candidate detour threshold is within the degree of unfavorability interval described above. If the degree of unfavorability of a candidate detour distance threshold is not within the degree of unfavorability interval, it is considered that the candidate detour distance threshold does not meet the constraint condition and cannot be selected as the detour distance threshold. If the degree of unfavorability of a candidate detour distance threshold is within the degree of unfavorability interval and its corresponding total transaction amount is the largest, then the candidate detour distance will be selected as the final detour distance threshold.
[0093] In some embodiments, the initial matching threshold of the second sample order subset can also be optimized based on multiple business indicator parameters. For example, different weights can be set for multiple business indicator parameters based on the needs of different scenarios, the weighted sum of the business indicator parameters corresponding to each candidate matching threshold is calculated, and the candidate matching threshold with the largest weighted sum is selected as the matching threshold of the second sample order subset. For example, the total transaction amount has more important commercial significance than the success rate, billing ratio, etc. The total transaction amount can be set to a larger weight, and other business indicator parameters can be set to smaller weights. Thus, the matching threshold of the second sample order subset can be determined based on a comprehensive consideration of multiple business indicator parameters to maximize the benefits of the carpooling system 100.
[0094] In some embodiments, the matching thresholds corresponding to at least two second order subsets can be determined in a certain order or simultaneously. Optionally, a greedy algorithm can be used for adjustment. Specifically, at least two second sample order subsets without a splicing relationship can be selected and their corresponding initial matching thresholds can be adjusted at the same time to obtain corresponding candidate matching thresholds (more information about adjusting the initial matching threshold to obtain the corresponding candidate matching threshold can be found in the above description, which will not be repeated here); then, according to each candidate matching threshold, the value of the business indicator parameter of the second sample order subset is calculated, so as to minimize the impact on other sample order subsets with a splicing relationship with at least two second sample order subsets. Finally, the candidate matching threshold corresponding to the maximum or minimum value of the business indicator parameter is selected as the matching threshold of the second sample order subset. For example, the ODT lines of two sample order subsets are located in Huilongguan area and Wangjing area respectively. Usually, the two sample order subsets have no splicing relationship. Then, based on the greedy strategy, the initial matching thresholds of the two mutually non-influential ODT lines can be adjusted at the same time to obtain the matching threshold. After fixing the adjusted matching threshold, the initial matching thresholds of the remaining mutually non-influential ODT lines are adjusted.
[0095] In some embodiments, when the matching threshold is adjusted using a greedy algorithm, if at least two second sample order subsets may be able to carpool successfully, the matching thresholds of the at least two second sample order subsets may affect each other, and their corresponding initial matching thresholds may be adjusted at the same time to obtain corresponding multiple candidate matching threshold combinations; then, according to each candidate matching threshold combination, the values of the business indicator parameters of the at least two second sample order subsets are calculated respectively. Finally, the candidate matching threshold combination corresponding to the maximum or minimum value of the business indicator parameter is selected as the matching threshold of at least two second sample order subsets. For example, the ODT lines of two sample order subsets are both located in the Huilongguan area, and the two sample order subsets have a carpooling relationship. Then, the initial matching thresholds of the two ODT lines can be adjusted simultaneously based on the greedy strategy to obtain multiple groups of candidate matching threshold combinations, and the candidate matching threshold combinations when GMV is the maximum value are selected as the matching thresholds corresponding to the ODT lines of the above two sample order subsets. After fixing the matching threshold, the initial matching thresholds of the remaining ODT lines with a carpooling relationship are adjusted.
[0096] It should be noted that the above description of the method for generating a matching threshold table from a process is only for example and explanation, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to the method for generating a matching threshold table from a process under the guidance of the present application. However, these modifications and changes are still within the scope of the present application. For example, the form of determining the matching threshold according to the unfavorability can be modified by other variations.
[0097] The beneficial effects that may be brought about by the embodiments of the present application include but are not limited to: (1) determining the matching threshold according to the characteristics of the order (for example, the starting point location, the end point location, the departure time, etc.). Compared with the use of a fixed matching threshold, the embodiments of the present application can flexibly adjust the matching threshold of the order according to different application scenarios to improve the efficiency of carpooling; (2) the matching threshold can be determined based on business indicator parameters such as the total transaction amount, the success rate, the billing ratio, and the degree of unconventionality to improve the parameters of each business indicator, while optimizing the user's riding experience and improving the service quality; (3) based on the order information of at least two orders, the order scores of at least two orders are determined by the order score prediction model, and compared with the matching threshold, which can better predict the matching degree after the successful carpooling and improve the user's travel experience; (4) a matching threshold table can be generated in advance, and the matching threshold of the real-time order can be determined by searching the matching threshold table, which can improve the efficiency of determining the matching threshold. 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 beneficial effects that may be obtained.
[0098] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of the present application. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements and amendments to the present application. Such modifications, improvements and amendments are suggested in the present application, so such modifications, improvements and amendments still belong to the spirit and scope of the exemplary embodiments of the present application.
[0099] At the same time, the present application uses specific words to describe the embodiments of the present application. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, some features, structures or characteristics in one or more embodiments of the present application can be appropriately combined.
[0100] In addition, it will be appreciated by those skilled in the art that various aspects of the present application may be illustrated and described by a number of patentable categories or situations, including any new and useful process, machine, product or combination of substances, or any new and useful improvements thereto. Accordingly, various aspects of the present application may be performed entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. The above hardware or software may all be referred to as "data blocks", "modules", "engines", "units", "components" or "systems". In addition, various aspects of the present application may be represented as a computer product located in one or more computer-readable media, which includes computer-readable program code.
[0101] 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.
[0102] The computer program coding required for the operation of each part of the application can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc., conventional procedural programming languages such as C language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages, etc. The program coding can be run completely on the user's computer, or run on the user's computer as an independent software package, or run partly on the user's computer and partly on the remote computer, or run completely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as software as a service (SaaS).
[0103] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this application, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this application. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this application. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
[0104] Similarly, it should be noted that in order to simplify the description of the disclosure of this application and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this application, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the object of this application are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.
[0105] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of the present application are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.
[0106] Each patent, patent application, patent application disclosure, and other materials, such as articles, books, instructions, publications, documents, etc., cited in this application are hereby incorporated by reference in their entirety. Except for application history documents that are inconsistent with or conflicting with the content of this application, documents that limit the broadest scope of the claims of this application (currently or later attached to this application) are also excluded. It should be noted that if the descriptions, definitions, and / or use of terms in the attached materials of this application are inconsistent or conflicting with the content described in this application, the descriptions, definitions, and / or use of terms in this application shall prevail.
[0107] Finally, it should be understood that the embodiments described in this application are only used to illustrate the principles of the embodiments of the present application. Other variations may also fall within the scope of the present application. Therefore, as an example and not a limitation, the alternative configurations of the embodiments of the present application may be considered to be consistent with the teachings of the present application. Accordingly, the embodiments of the present application are not limited to the embodiments explicitly introduced and described in the present application.
Claims
1. A method for determining a carpooling order, characterized in that: The method comprises: Obtaining order information of a first order and order information of at least one second order; determining matching parameters of the first order and the at least one second order based on the order information of the first order and the order information of the at least one second order; Based on the order information of the first order, determine the matching threshold of the first order by searching a matching threshold table, where the matching threshold refers to a critical value of the matching parameter, and the matching threshold table includes at least two matching threshold tables for at least two time slices, each matching threshold table records the corresponding relationship between the order feature and the matching threshold in the corresponding time slice, and is updated in real time or intermittently; and Based on the matching parameter and the matching threshold, it is determined whether to carpool the first order and the at least one second order.
2. The method according to claim 1, characterized in that The matching parameters include at least one of detour time, detour distance, and order-sharing score.
3. The method according to claim 1 or 2, characterized in that The matching parameter is the group order score; Based on the order information of the first order and the order information of the at least one second order, determining the matching parameters of the first order and the at least one second order includes: Obtaining a group order score prediction model; and The order information of the first order and the order information of the at least one second order are input into the group order score prediction model to determine the group order scores of the first order and the at least one second order.
4. The method according to claim 1, characterized in that The matching threshold table is generated through a matching threshold table generation process, and the matching threshold table generation process includes: Obtaining first sample order information of at least two first sample orders; and The multi-agent reinforcement learning model is trained using the first sample order information to generate the matching threshold table.
5. The method according to claim 4, characterized in that The using the first sample order information to train a multi-agent reinforcement learning model to generate the matching threshold table includes: Clustering the at least two first sample orders to obtain at least two first subsets, each first subset corresponding to a time slice; and For each time slice, based on the first sample order information of the first subset corresponding to the time slice, a multi-agent reinforcement learning model is trained using a reward function to generate a matching threshold table for the time slice.
6. The method according to claim 5, characterized in that The at least two threshold matching tables of the at least two time slices are generated sequentially in chronological order.
7. The method according to claim 1, characterized in that The matching threshold table is generated through a matching threshold table generation process, and the matching threshold table generation process includes: Obtain second sample order information of at least two second sample orders; Clustering the at least two second sample orders to obtain at least one second sample order subset; For each second sample order subset, setting an initial matching threshold; and For each second sample order subset, based on the business indicator parameter, the initial matching threshold of the second sample order subset is optimized to obtain its matching threshold, and the matching threshold table includes the matching threshold of each second sample order subset.
8. The method according to claim 7, characterized in that Optimizing the initial matching threshold of the second sample order subset based on the business indicator parameter includes: Based on the initial matching threshold, determining at least two candidate matching thresholds; For each candidate matching threshold, determining a value of a business indicator parameter of the second sample order subset; and A candidate matching threshold corresponding to the maximum value or the minimum value of the business indicator parameter is selected as the matching threshold of the second sample order subset.
9. The method according to claim 1 or 2, characterized in that: The method further comprises: In response to a determination result of carpooling the first order and the at least one second order, the first order and the at least one second order are dispatched.
10. A system for determining a carpooling order, characterized in that: The system includes an acquisition module, a matching parameter determination module, a matching threshold determination module and a carpool determination module; wherein: The acquisition module is used to acquire order information of the first order and order information of at least one second order; The matching parameter determination module is used to determine the matching parameters of the first order and the at least one second order based on the order information of the first order and the order information of the at least one second order; The matching threshold determination module is used to determine the matching threshold of the first order by searching a matching threshold table based on the order information of the first order, wherein the matching threshold refers to a critical value of the matching parameter, and the matching threshold table includes at least two matching threshold tables of at least two time slices, each matching threshold table records the corresponding relationship between the order feature and the matching threshold in the corresponding time slice, and is updated in real time or intermittently; and The carpooling determination module is used to determine whether to carpool the first order and the at least one second order based on the matching parameter and the matching threshold.
11. The system according to claim 10, characterized in that The matching parameters include at least one of detour time, detour distance, and order-sharing score.
12. The system according to claim 10 or 11, characterized in that The matching parameter is the group order score; The matching parameter determination module is also used for: Obtaining a group order score prediction model; and The order information of the first order and the order information of the at least one second order are input into the group order score prediction model to determine the group order scores of the first order and the at least one second order.
13. The system of claim 10, wherein: The matching threshold table is generated by a matching threshold table generating module, and the matching threshold table generating module is used to: Obtain first sample order information of at least two first sample orders; as well as The multi-agent reinforcement learning model is trained using the first sample order information to generate the matching threshold table.
14. The system of claim 13, wherein: The matching threshold table generating module is also used for: Clustering the at least two first sample orders to obtain at least two first subsets, each first subset corresponding to a time slice; and For each time slice, based on the first sample order information of the first subset corresponding to the time slice, a multi-agent reinforcement learning model is trained using a reward function to generate a matching threshold table for the time slice.
15. The system of claim 14, wherein: The at least two threshold matching tables of the at least two time slices are generated sequentially in chronological order.
16. The system of claim 10, wherein: The matching threshold table is generated by a matching threshold table generating module, and the matching threshold table generating module is further used for: Obtain second sample order information of at least two second sample orders; Clustering the at least two second sample orders to obtain at least one second sample order subset; For each second sample order subset, setting an initial matching threshold; as well as For each second sample order subset, based on the business indicator parameter, the initial matching threshold of the second sample order subset is optimized to obtain its matching threshold, and the matching threshold table includes the matching threshold of each second sample order subset.
17. The system of claim 16, wherein: The matching threshold table generating module is also used for: Based on the initial matching threshold, determining at least two candidate matching thresholds; For each candidate matching threshold, determining a value of a business indicator parameter of the second sample order subset; as well as A candidate matching threshold corresponding to the maximum value or the minimum value of the business indicator parameter is selected as the matching threshold of the second sample order subset.
18. The system according to claim 10 or 11, characterized in that The system further includes a dispatching module; the dispatching module is used to: In response to a determination result of carpooling the first order and the at least one second order, the first order and the at least one second order are dispatched.
19. A device for determining a carpooling order, characterized in that: The apparatus comprises at least one processor and at least one storage device, wherein the storage device is used to store instructions. When the at least one processor executes the instructions, the method according to any one of claims 1 to 9 is implemented.
20. 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 the method according to any one of claims 1 to 9.
