Resource transfer method and device
By obtaining driver profiles and delivery data and using probabilistic prediction model training methods, the problem of low driver trajectory reporting rate was solved, accurate resource transfer was achieved, and complaints were reduced.
Patent Information
- Application Number
- CN202210359153.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-07
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2042-04-07
AI Technical Summary
In existing technologies, the rate of reporting the trajectory of ride-sharing drivers is low, which makes it difficult for the management platform to effectively determine whether the drivers have delivered the passengers to their destinations, thereby affecting the efficiency of resource transfer and increasing driver complaints.
By obtaining driver profile data and data that affects delivery to the destination, and using probabilistic prediction model training methods, including shared layers, Gate models, and multi-layer perceptrons, the probability of a driver delivering passengers to the destination is predicted, and resource transfer is determined based on the prediction results.
It improves the accuracy and efficiency of resource transfer, reduces the occurrence of driver complaints, and improves the satisfaction of drivers and passengers.
Smart Images

Figure CN114897301B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of big data technology, and in particular to a resource transfer method and device. Background Art
[0002] With the continuous development of technology, people's requirements for travel are getting higher and higher, which has led to the rapid development of the ride-sharing industry.
[0003] Currently, due to the low rate of ride-sharing drivers and passengers reporting their movements during travel, when a driver clicks "reach your destination," management platforms (such as ride-hailing platforms) primarily determine whether to transfer the fare to the driver by judging the order completion type. However, this method cannot effectively determine whether the driver has actually delivered the passenger to the destination, resulting in low resource transfer efficiency.
[0004] Therefore, the industry is in urgent need of a technical solution that can solve the above technical problems. Summary of the Invention
[0005] The embodiments of this specification provide a resource transfer method and device that can effectively determine whether the driver has actually delivered the passenger to the destination, thereby improving resource transfer efficiency and reducing the occurrence of driver complaints.
[0006] The resource transfer method and device provided in this specification are implemented in the following manner.
[0007] A resource transfer method includes: obtaining characteristic data corresponding to a target trip; the characteristic data includes driver profile data and data that influences the driver's ability to deliver a passenger to a destination; processing the characteristic data to obtain a probability that the driver will deliver the passenger to the destination during the target trip; and determining whether to transfer resources corresponding to the target trip to a target account based on the probability that the driver will deliver the passenger to the destination.
[0008] A method for training a probability prediction model comprises: obtaining feature data corresponding to each historical trip; the feature data comprises driver portrait data and data influencing the driver's ability to deliver passengers to their destinations; determining label information for each historical trip based on preset indicators; wherein the preset indicators corresponding to different tasks are different; obtaining a training data set based on the feature data and label information corresponding to each historical trip; using the training data set to train a preset multi-task learning model to obtain a probability prediction model; wherein the preset multi-task learning model comprises a shared layer, a Gate model and a preset number of multi-layer perceptrons, wherein the shared layer comprises multiple expert networks, and the Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task, wherein each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model.
[0009] A resource transfer device includes: a first acquisition module for acquiring characteristic data corresponding to a target trip; the characteristic data includes driver profile data and data that influences the driver's ability to deliver passengers to their destination; a prediction module for processing the characteristic data to obtain the probability that the driver will deliver passengers to their destination during the target trip; and a first determination module for determining whether to transfer resources corresponding to the target trip to a target account based on the probability that the driver will deliver passengers to their destination.
[0010] A training device for a probability prediction model includes: a second acquisition module for acquiring feature data corresponding to each historical trip; the feature data includes driver portrait data and data that influences the driver to deliver passengers to their destinations; a second determination module for determining label information for each historical trip based on preset indicators; wherein the preset indicators corresponding to different tasks are different; an acquisition module for obtaining a training data set based on the feature data and label information corresponding to each historical trip; a training module for training a preset multi-task learning model using the training data set to obtain a probability prediction model; wherein the preset multi-task learning model includes a shared layer, a Gate model and a preset number of multi-layer perceptrons, the shared layer includes multiple expert networks, the Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task, each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model.
[0011] A computer-readable storage medium stores computer instructions, which, when executed, implement the steps of any method embodiment in the embodiments of this specification.
[0012] This specification provides a resource transfer method and device. In some embodiments, feature data corresponding to a target trip can be obtained, and the feature data includes driver portrait data and data that affects the driver's ability to deliver passengers to the destination. The feature data is processed using a probability prediction model to obtain the probability that the driver will deliver passengers to the destination in the target trip; it can also be determined whether to transfer resources corresponding to the target trip to the target account based on the probability that the driver will deliver passengers to the destination. Since the probability prediction model is obtained by pre-training a preset multi-task learning model based on feature data in historical trips, and during the training process, other tasks assist the main task in jointly training shared parameters, the prediction accuracy of the probability prediction model finally obtained is high. In this way, based on the probability prediction model, it is possible to effectively judge whether the driver actually delivers the passenger to the destination, thereby improving resource transfer efficiency and reducing the occurrence of driver complaints. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings described herein are used to provide a further understanding of this specification, constitute a part of this specification, and do not constitute a limitation of this specification. In the accompanying drawings:
[0014] Figure 1 This is a flowchart of an embodiment of a resource transfer method provided in this specification;
[0015] Figure 2 This is a flow chart of an embodiment of a method for training a probability prediction model provided in this specification;
[0016] Figure 3 This is a flowchart of how to use the Attention network to assign weights to Embedding vectors.
[0017] Figure 4 This is a schematic diagram provided in this manual for obtaining sample data corresponding to historical trips;
[0018] Figure 5 This is a schematic diagram of a preset multi-task learning model provided in this manual;
[0019] Figure 6 This is a schematic diagram of the module structure of an embodiment of a resource transfer device provided in this specification;
[0020] Figure 7 This is a schematic diagram of the module structure of an embodiment of a training device for a probability prediction model provided in this specification;
[0021] Figure 8 This is a hardware structure block diagram of an embodiment of a resource transfer server provided in this specification. DETAILED DESCRIPTION
[0022] To help those skilled in the art better understand the technical solutions in this specification, the following will provide a clear and complete description of the technical solutions in the embodiments of this specification, in conjunction with the accompanying drawings. Obviously, the described embodiments are only some of the embodiments in this specification, not all of them. All other embodiments obtained by those skilled in the art based on one or more embodiments in this specification without creative work should fall within the scope of protection of the embodiments of this specification.
[0023] The following describes the implementation plan of this specification using a specific application scenario as an example. Figure 1 The following is a flow chart of an embodiment of a resource transfer method provided in this specification. Although this specification provides method operation steps or device structures as shown in the following embodiments or figures, the method or device may include more or fewer operation steps or module units based on routine or no creative effort.
[0024] An embodiment provided in this specification can be applied to a client, a server, etc. The client can include a terminal device, such as a smartphone, a tablet computer, etc. The server can include a single computer device, a server cluster consisting of multiple servers, or a server structure of a distributed system, etc.
[0025] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application are in compliance with the relevant provisions of national laws and regulations. The following embodiments are described from the perspective of the server and do not limit the technical solutions in other application scenarios that can be expanded based on this specification. A specific embodiment is as follows Figure 1 As shown, in an embodiment of a resource transfer method provided in this specification, the method may include the following steps.
[0026] S10: Acquire characteristic data corresponding to the target trip; the characteristic data includes driver portrait data and data that influences the driver to deliver the passenger to the destination.
[0027] The target trip may include a trip for which the probability of the driver delivering the passenger to the destination needs to be predicted.
[0028] In some embodiments, driver profile data may include name, profile picture, age, driving experience, customer satisfaction, background information, hobbies, and other attributes. User portraits are an effective tool for outlining target users and linking user needs with design direction. As virtual representations of actual users, the resulting user personas are not constructed independently of the product and market. Instead, they must be representative of the product's primary audience and target group.
[0029] In some embodiments, the data that affects the driver's ability to deliver passengers to their destinations may include order data, driver-passenger trajectory data, and driver-passenger node data. Among them, order data may include information included in the order generated by the management platform (such as an online car-hailing platform) for the customer in the target itinerary. Driver-passenger trajectory data may include trajectory information reported by the driver and passengers in the target itinerary. Driver-passenger node data may include information corresponding to the driver and passengers at key nodes in the target itinerary. Key nodes may include starting points, end points, etc.
[0030] In some implementation scenarios, the order data may include at least one of the following: the price of the passenger order; the distance of the passenger order; the starting longitude of the passenger order; the starting latitude of the passenger order; the ending longitude of the passenger order; the ending latitude of the passenger order; the distance between the driver and the passenger's destination when the driver clicks to arrive, etc.
[0031] The driver-passenger trajectory data may include at least one of the following: the number of trajectory points reported by the passenger; the number of trajectory points reported by the driver; the number of trajectory points where the driver's reported trajectory point is less than a first preset value from the passenger's starting point; the number of trajectory points where the driver's reported trajectory point is less than a second preset value from the passenger's destination; the number of trajectory points where the passenger's reported trajectory point is less than a first preset value from the passenger's starting point; and the number of trajectory points where the passenger's reported trajectory point is less than a second preset value from the passenger's destination. The first and second preset values may be set based on actual scenarios and are not limited in this specification. Specifically, for example, the driver and passenger trajectory data may include: the number of trajectory points reported by passengers; the number of trajectory points reported by drivers; the number of trajectory points reported by drivers whose distance from the passenger's starting point is less than 500m or less than 1km; the number of trajectory points reported by drivers whose distance from the passenger's ending point is less than 500m, less than 1km, less than 1.5km, less than 2km, less than 2.5km, or less than 3km; the number of trajectory points reported by passengers whose distance from the passenger's starting point is less than 500m or less than 1km; the number of trajectory points reported by passengers whose distance from the passenger's ending point is less than 500m, less than 1km, less than 1.5km, less than 2km, less than 2.5km, or less than 3km, etc.
[0032] The driver and passenger node data may include at least one of the following: whether the driver has effectively arrived at the starting point; whether the driver has effectively arrived at the destination; whether the driver has effectively fulfilled the contract; whether the driver and passenger are traveling together; whether the passenger has effectively clicked to get on the bus; whether the passenger has effectively clicked to reach the destination; whether the driver has effectively clicked to depart; whether the driver has effectively clicked to arrive at the starting point; whether the driver has effectively clicked to arrive at the destination; whether the driver clicked to depart; whether the driver clicked to arrive at the starting point.
[0033] The driver and passenger node data can be generated based on a preset strategy. The strategies corresponding to different driver and passenger node data can be the same or different, and can be set according to the actual scenario. This specification does not limit this.
[0034] In some implementation scenarios, the preset strategy may include a time range and a judgment condition, so that the driver-passenger node data can be determined by judging whether the judgment condition is met within the time range.
[0035] Specifically, for example, in the preset policy for determining whether a driver has effectively arrived at the starting point, the time range is: half an hour before and after the driver clicks to confirm arrival at the passenger's starting point, or half an hour before and after the expected departure time; the judgment condition is: the number of points in the driver's reported trajectory where the distance between the passenger's starting point and the driver's starting point is less than 500 meters is greater than or equal to 6. In this way, when determining whether a driver has effectively arrived at the starting point, it can be determined whether the number of points in the driver's reported trajectory where the distance between the passenger's starting point and the driver's starting point is less than 500 meters is greater than or equal to 6 within the time range. If so, the driver is considered to have effectively arrived at the starting point.
[0036] For example, in the preset strategy for determining whether a driver and passenger are traveling together, the time range is 10 minutes after the estimated departure time. The judgment condition is: if three of the driver's five trajectory points are less than 500 meters away from the passenger's most recently reported location within two minutes, it is considered a case of traveling together. If a cumulative total of five such cases occur, it is considered a case of traveling together. This way, when determining whether a driver and passenger are traveling together, we can determine whether five such cases have occurred cumulatively within the time range. If so, the driver and passenger are considered traveling together.
[0037] For example, the preset strategy for determining whether a driver has effectively reached their destination includes a time range of half an hour before and after the driver clicks to confirm arrival, or half an hour before and after the estimated arrival time. The judgment condition is that the number of driver-reported track points with a distance of less than 500 meters from the passenger's destination is greater than or equal to six. This way, to determine whether a driver has effectively reached their destination, we can determine whether the number of driver-reported track points with a distance of less than 500 meters from the passenger's starting point is greater than or equal to six within the time range. If so, the driver is considered to have effectively reached the destination.
[0038] Of course, the above is only an exemplary explanation. The time range and judgment conditions corresponding to each preset strategy are not limited to the above examples. Technical personnel in the relevant field may make other changes based on the technical essence of this application. However, as long as the functions and effects achieved are the same or similar to those of this application, they should be covered within the scope of protection of this application.
[0039] In some embodiments, the server may obtain characteristic data corresponding to the target trip from a management platform (such as an online ride-hailing platform) or a third-party organization that communicates with the management platform. Of course, the above is only an example, and the method of obtaining characteristic data of the target trip is not limited to the above example. Inspired by the technical essence of this application, those skilled in the art may make other changes. However, as long as the functions and effects achieved are the same or similar to those of this application, they should be covered by the scope of protection of this application.
[0040] S12: Process the characteristic data to obtain the probability that the driver will deliver the passenger to the destination during the target trip.
[0041] In the embodiments of this specification, after obtaining the characteristic data corresponding to the target trip, the server may process the characteristic data using a preset method to obtain the probability that the driver will deliver the passenger to the destination during the target trip. The preset method may be used to predict the probability of whether the driver will deliver the passenger to the destination.
[0042] In some embodiments, processing the feature data to obtain the probability that the driver will deliver the passenger to the destination in the target trip may include: processing the feature data using a probability prediction model to obtain the probability that the driver will deliver the passenger to the destination in the target trip; wherein the probability prediction model is obtained by training a preset multi-task learning model based on the feature data in historical trips, and the preset multi-task learning model includes a shared layer, a Gate model, and a preset number of multi-layer perceptrons, the shared layer includes multiple expert networks, and the Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task, each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model. wherein the probability prediction model can be used to predict the probability that the driver will deliver the passenger to the destination.
[0043] In some embodiments, the probability prediction model can be obtained by training a preset multi-task learning model based on feature data from historical trips. The aforementioned historical trips can include all trips before the current trip, trips within a preset time period before the current trip, or other historical trips, which are not limited in this specification.
[0044] like Figure 2 FIG. 1 is a flow chart of an embodiment of a method for training a probability prediction model provided in this specification. In this embodiment, the method may include the following steps.
[0045] S120: Acquire characteristic data corresponding to each historical trip; the characteristic data includes driver profile data and data that influences the driver to deliver the passenger to the destination;
[0046] S122: Determine label information for each historical trip based on preset indicators; wherein different tasks correspond to different preset indicators;
[0047] S124: Obtain a training data set based on the feature data and label information corresponding to each historical trip;
[0048] S126: Use the training data set to train a preset multi-task learning model to obtain a probability prediction model; wherein, the preset multi-task learning model includes a shared layer, a Gate model and a preset number of multi-layer perceptrons, the shared layer includes multiple expert networks, the Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task, each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model.
[0049] It should be noted that the process of obtaining the characteristic data corresponding to each historical trip in step S120 is similar to step S10. For details, please refer to step S10 and will not be described in detail.
[0050] In some embodiments, the multiple tasks in the pre-set multi-task learning model may include a first task and a second task. Both the first task and the second task can be used to predict the probability of a driver delivering a customer to their destination. The first task can serve as the primary task, and the second task can assist the first task in training shared parameters, thereby making the first task's predictions more accurate.
[0051] Furthermore, the label information of each historical trip determined based on preset indicators may include: determining the label information of each historical trip in the first task based on whether the driver clicks to arrive at the destination, the type of order completed, the relationship between the time the passenger arrives at the destination and the time the driver clicks to arrive at the destination, whether the driver complains, and the passenger's order status; determining the label information of each historical trip in the second task based on whether the driver initiates a complaint about expediting fees, whether the order is completed, whether the driver clicks to arrive at the destination, whether the driver complains, and the passenger's order status.
[0052] Specifically, for example, the positive and negative samples of the first task can be determined in the following way: the feature data corresponding to the order in which the driver clicks to arrive at the destination and is eventually completed, the order completion type is the passenger completing the order, and the time when the passenger arrives at the destination is less than 1 minute from the time when the driver clicks to arrive at the destination is used as a positive sample; the feature data corresponding to the trip in which the driver clicks to arrive at the destination, the driver does not complain in the end, and the passenger order status is -1 (passenger order canceled) is used as a negative sample. The positive and negative samples of the second task can be determined in the following way: the feature data corresponding to the trip in which the driver initiates a complaint about the expediting fee and eventually completes the order is used as a positive sample; the feature data corresponding to the trip in which the driver clicks to arrive at the destination, the driver does not complain in the end, and the passenger order status is -1 (passenger order canceled) is used as a negative sample. Of course, the above is only an exemplary description, and the embodiments of this specification can also determine the label information corresponding to each task in other ways.
[0053] In some embodiments, the feature data may include data corresponding to multiple attributes. Furthermore, obtaining a training data set based on the feature data and label information corresponding to each historical trip may include: encoding the data corresponding to each attribute to obtain the encoded data corresponding to each attribute; performing dimensionality reduction on the encoded data corresponding to each attribute based on an Embedding network to obtain an Embedding vector corresponding to each attribute; using an Attention network to assign a weight to the Embedding vector corresponding to the target attribute; wherein the target attribute represents an indicator that affects the driver's ability to deliver passengers to their destination; calculating the target vector corresponding to the target attribute based on the Embedding vector and weight corresponding to the target attribute; concatenating the Embedding vector and the target vector in each feature data to obtain sample data corresponding to each historical trip; and obtaining a training data set based on the sample data and label information corresponding to each historical trip.
[0054] In some embodiments, using an Attention network to assign weights to Embedding vectors corresponding to target attributes can include: performing an outer product of the Embedding vector corresponding to the driver's profile attribute with the Embedding vector corresponding to any attribute that affects the driver's ability to deliver passengers to their destination; merging the outer product result, the Embedding vector corresponding to the driver's profile attribute, and the Embedding vector corresponding to any attribute that affects the driver's ability to deliver passengers to their destination to obtain a merged result; processing the merged result using a preset model, and outputting the weight assigned to the target attribute's Embedding vector.
[0055] Specifically, in some implementation scenarios, to make the trained model more stable and reduce the risk of model overfitting, before encoding the data corresponding to each attribute, it is possible to first determine whether the data corresponding to each attribute is continuous. If continuous, discrete binning can be performed. Discrete binning can discretize continuous data.
[0056] Next, one-hot encoding can be performed on the data corresponding to each attribute to obtain the encoded data corresponding to each attribute. Among them, one-hot encoding mainly uses an N-bit state register to encode N states. Each state has its own independent register bit, and only one bit is valid at any time.
[0057] After obtaining the encoded data corresponding to each attribute, the dimensionality reduction of the encoded data for each attribute can be performed based on the embedding network, thereby converting the encoded data corresponding to each attribute into an embedding vector of fixed length. The embedding vectors corresponding to the same attribute have the same length. The embedding vectors corresponding to different attributes can have the same or different lengths, for example, 8, 16, etc.
[0058] After obtaining the embedding vector corresponding to each attribute, the Attention network can be used to assign weights to the embedding vectors corresponding to the attributes that affect the driver's ability to send passengers to their destination. Figure 3 As shown in the figure, this specification provides a flow chart of using the Attention network to assign weights to the Embedding vector. Among them, the driver portrait represents the Embedding vector corresponding to the driver portrait attribute; the sparse field represents the Embedding vector corresponding to any attribute that affects the driver's ability to send passengers to the destination; the out product represents the outer product; the cancat represents the merge function, which is used to connect multiple arrays; the leakyRelu (32) and the leakyRelu (16) represent the activation function; the linear (1) represents the linear model; and the Activation Weight represents the weight corresponding to the sparse field. Specifically, first, the Embedding vector corresponding to the driver portrait attribute is outer-producted with the Embedding vector corresponding to any attribute that affects the driver's ability to send passengers to the destination, and then the outer product result, the Embedding vector corresponding to the driver portrait attribute, and the Embedding vector corresponding to any attribute that affects the driver's ability to send passengers to the destination are merged through cancat, and finally the merged result is processed through two activation functions and a linear model to output the corresponding weight.
[0059] Furthermore, the weighted embedding vectors and the weights can be weighted and summed to obtain the target vector corresponding to the attribute that influences the driver's ability to deliver the passenger to the destination. The embedding vectors and target vectors in each feature data are then concatenated to obtain sample data corresponding to each historical trip. Finally, based on the sample data and label information corresponding to each historical trip, a training dataset is obtained. The training dataset can include multiple sample data, each corresponding to a historical trip.
[0060] like Figure 4As shown in FIG, this is a schematic diagram of obtaining sample data corresponding to historical trips provided by this specification. Among them, the driver portrait represents the attributes corresponding to the driver portrait data, and the three sparse fields represent the attributes corresponding to the order data, the attributes corresponding to the driver and passenger trajectory data, and the attributes corresponding to the driver and passenger node data. The first layer (1) represents the result of one-hot encoding of each attribute, the second layer (2) represents the conversion of the encoded data corresponding to each attribute into a fixed-length Embedding vector based on the Embedding network, the third layer (3) represents the use of the Attention network (attention net) to assign weights to the Embedding vectors corresponding to the attributes that affect the driver to send passengers to the destination (including order data, driver and passenger trajectory data, driver and passenger node data), and perform weighted summation of the weights and the corresponding Embedding vectors, and the fourth layer (4) represents the splicing of the Embedding vectors corresponding to the driver portrait attributes and the target vectors corresponding to the attributes that affect the driver to send passengers to the destination to obtain sample data corresponding to the historical trips.
[0061] In some embodiments, the preset multi-task learning model may include a shared layer, a Gate model, and a preset number of multi-layer perceptrons. The shared layer may include multiple expert networks, each of which models different aspects of each task. The shared layer can be used to output the output results of each expert network (including the parameters shared by each multi-layer perceptron); the Gate model can be used to determine the probability that the output result of each expert network is selected by the corresponding target task; the multi-layer perceptron can perform task training based on the shared parameters to obtain training results and loss function values. Each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model. In addition, the preset multi-task learning model may also include an input layer and an output layer. The input layer can be used to receive input data; the output layer includes a number of sub-output layers corresponding to each multi-layer perceptron to output the training results and loss function values of the corresponding tasks.
[0062] In some embodiments, the use of the training data set to train the preset multi-task learning model to obtain a probability prediction model can include: inputting sample data in the training data set into the shared layer for processing to obtain the output result of each expert network; based on the Gate model corresponding to the target task, processing the output result of each expert network to obtain the first data output by the shared layer for the target task; using the multi-layer perceptron corresponding to the target task to process the first data to obtain the training result and loss function value corresponding to the target task; wherein, the training result represents the probability that the driver will send the passenger to the destination; the loss function value is determined based on the training result and label information; when the loss function value meets the preset conditions, stopping the training to obtain the probability prediction model.
[0063] like Figure 5 The figure shows a schematic diagram of a preset multi-task learning model provided in this specification. In which, input represents the input layer; task1 and task2 represent two tasks, which are respectively used to predict the probability that the driver will send the passenger to the destination; the shared layer includes two expert networks (expert1 and expert2), and the output of each expert network will be passed into the Gate model (including Gate1 and Gate2), and the Gate model combines the output of each expert network to obtain an output; multi-layer perceptron 1 (tower1) corresponds to task 1 (task1), and multi-layer perceptron 2 (tower2) corresponds to task 2 (task2); task1 corresponds to Gate1, and task2 corresponds to Gate2; task1 output and task2 output represent the outputs of task1 and task2 respectively. Of course, the number of tasks and the number of expert networks can be flexibly configured as needed.
[0064] Specifically, when training a pre-set multi-task learning model using a training dataset, sample data from the training dataset can be input into the shared layer for processing, obtaining the output of expert1 and expert2. Next, the output of expert1 and expert2 are passed to Gate1 to obtain the data output by the shared layer for task1. The output of expert1 and expert2 are passed to Gate2 to obtain the data output by the shared layer for task2. Furthermore, the data output by the shared layer for task1 is input to Tower1 for processing, and the obtained training results and loss function value are output through Task1Output. The data output by the shared layer for task2 is input to Tower2 for processing, and the obtained training results and loss function value are output through Task2Output. Finally, a determination is made as to whether the loss function value meets a preset condition. If so, training is terminated, thereby obtaining a probabilistic prediction model. The preset condition may include being less than a preset value. Of course, the preset condition, preset value, and training termination condition can be flexibly configured as needed.
[0065] In some embodiments, after obtaining the probability prediction model, it can be saved to local memory or other means. In this way, when it is needed to predict the probability of the driver delivering the passenger to the destination, it can be quickly called for processing, thereby improving the prediction efficiency and accuracy.
[0066] It should be noted that before each use, the above-mentioned probability prediction model can be updated based on the sample data of all current historical trips. The specific updating process is similar to the above-mentioned training process and will not be elaborated on here.
[0067] In the embodiments of this specification, since the shared parameters predicted by each task in the preset multi-task learning model are trained through a shared layer, the speed of model training can be accelerated; since the prediction targets of each task are the same, the main task can be assisted by other tasks to train the shared parameters together, which can make the main task prediction effect better.
[0068] In some embodiments, before processing the feature data and obtaining the probability that the driver will deliver the passenger to the destination during the target trip, the server may also detect whether a designated button has been triggered. The triggering of the designated button may indicate that a button for reaching the destination has been clicked. The button for reaching the destination may be clicked by the driver, by the passenger, or automatically, and this specification does not limit this. Accordingly, the designated button may be located on the interface of the driver client, on the interface of the passenger client, or on the interface of other clients (such as online ride-hailing platforms, etc.).
[0069] For example, in some implementation scenarios, upon detecting that a designated button has been triggered, the server may use a probabilistic prediction model to process the feature data to obtain the probability that the driver will deliver the passenger to the destination during the target trip. Specifically, for example, upon detecting that a designated button has been triggered by the driver during the target trip, the server may use a probabilistic prediction model to process the feature data to obtain the probability that the driver will deliver the passenger to the destination during the target trip. Alternatively, upon detecting that a designated button has been triggered by the passenger during the target trip, the server may use a probabilistic prediction model to process the feature data to obtain the probability that the driver will deliver the passenger to the destination during the target trip.
[0070] Of course, the above is only an exemplary explanation. The method of predicting the probability of the driver sending the passenger to the destination in the embodiments of this specification is not limited to the above example. Technical personnel in the relevant field may make other changes based on the inspiration of the technical essence of this application. For example, other neural network models can be trained to obtain a model for predicting whether the driver will send the passenger to the destination. However, as long as the functions and effects achieved are the same or similar to those of this application, they should be covered within the scope of protection of this application.
[0071] S14: Determine whether to transfer the resources corresponding to the target trip to the target account based on the probability that the driver will deliver the passenger to the destination.
[0072] In the embodiments of this specification, after obtaining the probability that the driver will send the passenger to the destination, the server can determine whether to transfer the resources corresponding to the target trip to the target account based on the relationship between the probability that the driver will send the passenger to the destination and the preset value. Among them, the resources include the fare that the passenger needs to pay after the driver sends the passenger to the destination. The target account is the account corresponding to the driver, such as a bank account, Alipay account, etc. It should be noted that usually in a trip, after the passenger clicks the button to pay the fare, the server will deduct the corresponding amount from the passenger's corresponding account, but this part of the amount will not be immediately transferred to the driver's corresponding account, but will be temporarily stored in a third-party agency. After the server determines through some rules that the driver has indeed sent the passenger to the destination, this part of the amount will be transferred to the driver's account.
[0073] In some embodiments, determining whether to transfer resources corresponding to the target trip to the target account based on the probability that the driver will deliver the passenger to the destination may include: comparing the probability that the driver will deliver the passenger to the destination with a preset value; and if it is determined that the probability that the driver will deliver the passenger to the destination is greater than or equal to the preset value, transferring the resources corresponding to the target trip to the target account. The preset value can be set based on actual scenarios, for example, it can be 0.8, 0.9, etc., and this specification does not limit this.
[0074] In some embodiments, if the probability of the driver delivering the passenger to the destination is determined to be less than a preset value, delay information may be obtained; based on this delay information, resources corresponding to the target trip are transferred to the target account. This delay information may include the delay time corresponding to the region information. Region information may include same-region or cross-region information. Same-region information refers to the passenger's starting and ending points being in the same region. Cross-region information refers to the passenger's starting and ending points being in different regions. Regions may include counties, urban areas, and so on.
[0075] Specifically, for example, in some implementation scenarios, if the probability prediction model determines that the driver will deliver the passenger to the destination during the target trip is greater than or equal to 80%, the driver can be considered to have delivered the passenger to the destination. At this point, the server can promptly pay the driver the fare, thereby avoiding complaints from the driver demanding the fare, increasing customer complaint tickets and company costs, and improving the driver experience. If the probability prediction model determines that the driver will deliver the passenger to the destination during the target trip is less than 80%, the server can further determine whether the passenger's starting point and destination are in the same area. If so, the server can delay paying the fare to the driver by 2 hours. If not, the server can delay paying the fare to the driver by 6 hours.
[0076] In the embodiments of this specification, after obtaining the probability that the driver will deliver the passenger to the destination, by comparing the probability that the driver will deliver the passenger to the destination with a preset value, it can be quickly determined whether the fare should be paid to the driver in a timely manner, thereby avoiding complaints caused by the driver urging for the fare, increasing customer complaint tickets and company costs.
[0077] Of course, the above is merely an illustrative description, and the embodiments of this specification are not limited to the above examples. Persons skilled in the art may make other changes based on the technical essence of this application. However, as long as the functions and effects achieved are the same or similar to those of this application, they shall be included in the scope of protection of this application. In addition, the terms "first" and "second" mentioned above are only used to distinguish different results and have no actual meaning.
[0078] From the above description, it can be seen that the embodiment of the present application can obtain the characteristic data corresponding to the target trip, which includes driver portrait data and data that affects the driver's ability to deliver passengers to the destination. The characteristic data is processed using a probability prediction model to obtain the probability that the driver will deliver passengers to the destination in the target trip; it can also determine whether to transfer the resources corresponding to the target trip to the target account based on the probability that the driver will deliver passengers to the destination. Since the probability prediction model is obtained by pre-training a preset multi-task learning model based on the characteristic data in historical trips, and during the training process, other tasks assist the main task in jointly training shared parameters, the prediction accuracy of the probability prediction model finally obtained is high. In this way, based on the probability prediction model, it is possible to effectively determine whether the driver actually delivers the passenger to the destination, thereby improving the efficiency of resource transfer and reducing the occurrence of driver complaints.
[0079] Of course, the above is only an exemplary description, and the embodiments of this specification are not limited to the above examples. Technical personnel in the relevant field may make other changes based on the technical essence of this application. However, as long as the functions and effects achieved are the same or similar to those of this application, they should be included in the scope of protection of this application.
[0080] In this specification, the various embodiments of the above method are described in a progressive manner. The same or similar parts between the various embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. For relevant parts, please refer to the partial description of the method embodiment.
[0081] Based on the resource transfer method described above, one or more embodiments of this specification also provide a resource transfer device. The device may include a system (including a distributed system), software (application), module, component, server, client, etc. that uses the method described in the embodiment of this specification and is combined with the necessary implementation hardware. Based on the same innovative concept, the device in one or more embodiments provided in the embodiment of this specification is as described in the following embodiments. Since the implementation scheme and method for solving the problem of the device are similar, the implementation of the specific device in the embodiment of this specification can refer to the implementation of the aforementioned method, and the repetitions will not be repeated. As used below, the term "unit" or "module" can implement a combination of software and / or hardware for a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0082] Specifically, Figure 6 This is a schematic diagram of the module structure of an embodiment of a resource transfer device provided in this specification. Figure 6 As shown, a resource transfer device provided in this specification may include: a first acquisition module 210 , a prediction module 212 , and a first determination module 214 .
[0083] The first acquisition module 210 may be used to acquire characteristic data corresponding to the target trip; the characteristic data may include driver profile data and data that influences the driver to deliver the passenger to the destination;
[0084] The prediction module 212 may be used to process the feature data to obtain a probability that the driver will deliver the passenger to the destination during the target trip;
[0085] The first determining module 214 may be configured to determine whether to transfer the resources corresponding to the target trip to the target account based on the probability that the driver will deliver the passenger to the destination.
[0086] It should be noted that the above-mentioned device may also include other implementation methods according to the description of the method embodiment. The specific implementation methods can refer to the description of the relevant method embodiments and will not be described in detail here.
[0087] Based on the above-mentioned method for training a probability prediction model, one or more embodiments of this specification further provide a device for training a probability prediction model. Specifically, Figure 7 This is a schematic diagram of the module structure of an embodiment of a training device for a probability prediction model provided in this specification. Figure 7 As shown, a training device for a probability prediction model provided in this specification may include: a second acquisition module 310, a second determination module 312, an acquisition module 314, and a training module 316.
[0088] The second acquisition module 310 may be used to acquire characteristic data corresponding to each historical trip; the characteristic data may include driver profile data and data that influences the driver to deliver the passenger to the destination;
[0089] The second determining module 312 may be used to determine the tag information of each historical trip based on a preset indicator; wherein different tasks correspond to different preset indicators;
[0090] The acquisition module 314 may be used to obtain a training data set based on the feature data and label information corresponding to each historical trip;
[0091] The training module 316 can be used to train a preset multi-task learning model using the training data set to obtain a probability prediction model; wherein the preset multi-task learning model includes a shared layer, a Gate model and a preset number of multi-layer perceptrons, the shared layer includes multiple expert networks, the Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task, each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model.
[0092] It should be noted that the above-mentioned device may also include other implementation methods according to the description of the method embodiment. The specific implementation methods can refer to the description of the relevant method embodiments and will not be described in detail here.
[0093] The method embodiments provided in this specification can be executed in a mobile terminal, a computer terminal, a server or a similar computing device. Taking running on a server as an example, Figure 8 This is a hardware structure block diagram of an embodiment of a resource transfer server provided in this specification. The server may be the resource transfer device or resource transfer equipment in the above embodiment. Figure 8 As shown, the server 10 may include one or more (only one is shown in the figure) processors 100 (the processor 100 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 200 for storing data, and a transmission module 300 for communication functions. It will be understood by those skilled in the art that Figure 8 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 8 More or fewer components shown in the figure may also include other processing hardware, such as a database or multi-level cache, GPU, or other hardware with Figure 8 Different configurations shown.
[0094] The memory 200 can be used to store software programs and modules of application software, such as the program instructions / modules corresponding to the resource transfer method in the embodiments of this specification. The processor 100 executes various functional applications and data processing by running the software programs and modules stored in the memory 200. The memory 200 may include a high-speed random access memory and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 200 may further include a memory remotely located relative to the processor 100, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0095] The transmission module 300 is used to receive or send data via a network. Specific examples of the aforementioned network may include a wireless network provided by a communications provider of a computer terminal. In one embodiment, the transmission module 300 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission module 300 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0096] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0097] The methods or devices described in the above embodiments provided in this specification can implement business logic through computer programs and record them on storage media, and the storage media can be read and executed by computers to achieve the effects of the solutions described in the embodiments of this specification. The storage medium may include a physical device for storing information, which is usually to digitize the information and then store it in a medium using electrical, magnetic or optical methods. The storage medium may include: devices that use electrical energy to store information, such as various types of memories, such as RAM, ROM, etc.; devices that use magnetic energy to store information, such as hard disks, floppy disks, magnetic tapes, magnetic core memories, bubble memories, and USB flash drives; devices that use optical methods to store information, such as CDs or DVDs. Of course, there are other types of readable storage media, such as quantum memories, graphene memories, and so on.
[0098] The above-mentioned resource transfer method or device embodiments provided in this specification can be implemented by a processor in a computer executing corresponding program instructions, such as using the C++ language of the Windows operating system on a PC, on a Linux system, or other systems such as Android or iOS system programming languages on a smart terminal, as well as processing logic based on a quantum computer.
[0099] It should be noted that the devices, equipment, and systems described above in the specification may also include other implementation methods based on the description of the relevant method embodiments. The specific implementation methods can refer to the description of the corresponding method embodiments and will not be described in detail here.
[0100] The various embodiments in this application are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, for the hardware + program embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For relevant parts, refer to the partial description of the method embodiments.
[0101] For ease of description, the above devices are described separately by function in various modules. Of course, when implementing one or more of the present inventions, the functions of some modules may be implemented in the same or multiple software and / or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units.
[0102] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices, equipment, and systems according to embodiments of the present invention. It should be understood that it can be implemented by computer program instructions, and these computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing a specified function. These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which is implemented in the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0103] Those skilled in the art will appreciate that one or more embodiments of the present specification may be provided as methods, systems, or computer program products. Thus, one or more embodiments of the present specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware.
[0104] The foregoing is merely an example of one or more embodiments of this specification and is not intended to limit the one or more embodiments of this specification. It will be apparent to those skilled in the art that various modifications and variations may be made to one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this application shall be included within the scope of the claims.
Claims
1. A resource transfer method, characterized in that: include: Obtaining characteristic data corresponding to the target trip; the characteristic data includes driver profile data and data that influences the driver to deliver the passenger to the destination, the data that influences the driver to deliver the passenger to the destination includes order data, driver and passenger trajectory data, and driver and passenger node data; The feature data is processed using a probability prediction model to obtain a probability that the driver will deliver the passenger to the destination during the target trip. The probability prediction model is obtained by training a preset multi-task learning model based on the feature data of historical trips. The preset multi-task learning model includes a shared layer, a Gate model, and a preset number of multi-layer perceptrons. The shared layer includes multiple expert networks. The Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task. Each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model. Based on the probability that the driver will deliver the passenger to the destination, it is determined whether to transfer the resources corresponding to the target trip to the target account.
2. The method according to claim 1, characterized in that The order data includes at least one of the following: the price of the passenger order; the distance of the passenger order; the starting longitude of the passenger order; the starting latitude of the passenger order; the ending longitude of the passenger order; the ending latitude of the passenger order; the distance between the driver and the passenger's destination when the driver clicks "arrive"; The driver-passenger trajectory data includes at least one of the following: the number of trajectory points reported by the passenger; the number of trajectory points reported by the driver; the number of trajectory points whose distance from the driver's reported trajectory point to the passenger's starting point is less than a first preset value; the number of trajectory points whose distance from the driver's reported trajectory point to the passenger's destination is less than a second preset value; the number of trajectory points whose distance from the passenger's reported trajectory point to the passenger's starting point is less than a first preset value; the number of trajectory points whose distance from the passenger's reported trajectory point to the passenger's destination is less than a second preset value; The driver-passenger node data includes at least one of the following: whether the driver has effectively arrived at the starting point; whether the driver has effectively arrived at the destination; whether the driver has effectively fulfilled the contract; whether the driver and passenger are traveling together; whether the passenger has effectively clicked to get on the bus; whether the passenger has effectively clicked to arrive at the destination; Whether the driver clicks to depart effectively; Whether the driver has effectively clicked to arrive at the starting point; Whether the driver has effectively clicked to reach the destination.
3. The method according to claim 1, characterized in that The determining whether to transfer the resources corresponding to the target trip to the target account based on the probability that the driver will deliver the passenger to the destination includes: Compare the probability that the driver will take the passenger to the destination with a preset value; When it is determined that the probability that the driver will deliver the passenger to the destination is greater than or equal to a preset value, the resources corresponding to the target trip are transferred to the target account.
4. The method according to claim 3, characterized in that Also includes: When it is determined that the probability that the driver will deliver the passenger to the destination is less than a preset value, delay information is obtained; wherein the delay information includes a delay time corresponding to the area information; Based on the delay information, resources corresponding to the target trip are transferred to a target account.
5. A method for training a probability prediction model, characterized in that: include: Obtaining characteristic data corresponding to each historical trip; the characteristic data includes driver profile data and data that influences the driver to deliver the passenger to the destination; Determine the label information of each historical trip based on preset indicators; different tasks correspond to different preset indicators; Obtain a training dataset based on the feature data and label information corresponding to each historical trip; Using the training data set to train a preset multi-task learning model to obtain a probability prediction model; wherein the preset multi-task learning model includes a shared layer, a Gate model, and a preset number of multi-layer perceptrons, the shared layer includes multiple expert networks, the Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task, each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model; The multi-tasks in the preset multi-task learning model include a first task and a second task, the second task is used to assist the first task, and the label information includes label information of each historical trip in the first task and label information of each historical trip in the second task.
6. The method according to claim 5, characterized in that The tag information of each historical trip is determined based on the preset indicators, including: Determine label information for each historical trip in the first task based on whether the driver clicks "arrival at the destination", the order type, the relationship between the passenger's arrival time and the driver's click time, whether the driver has filed a complaint, and the passenger's order status; Based on whether the driver initiates a complaint about the expediting fee, whether the order is completed, whether the driver clicks "arrived at the destination", whether the driver complains, and the passenger's order status, the label information of each historical trip in the second task is determined.
7. The method according to claim 5, characterized in that The feature data includes data corresponding to a plurality of attributes; The training data set is obtained based on the feature data and label information corresponding to each historical trip, including: Encode the data corresponding to each attribute to obtain the encoded data corresponding to each attribute; Based on the Embedding network, the dimensionality of the encoded data corresponding to each attribute is reduced to obtain the Embedding vector corresponding to each attribute; Use the Attention network to assign weights to the embedding vectors corresponding to the target attributes, where the target attributes represent the indicators that influence the driver to deliver the passenger to the destination; Calculate the target vector corresponding to the target attribute according to the embedding vector and weight corresponding to the target attribute; Concatenate the embedding vector and target vector in each feature data to obtain the sample data corresponding to each historical trip; Based on the sample data and label information corresponding to each historical trip, a training data set is obtained.
8. The method according to claim 7, characterized in that The method of using the training data set to train a preset multi-task learning model to obtain a probability prediction model includes: Inputting sample data in the training data set into the shared layer for processing to obtain the output results of each expert network; Based on the Gate model corresponding to the target task, the output result of each expert network is processed to obtain the first data output by the shared layer for the target task; Processing the first data using a multilayer perceptron corresponding to the target task to obtain a training result and a loss function value corresponding to the target task; wherein the training result represents a probability that the driver will deliver the passenger to the destination; and the loss function value is determined based on the training result and label information; When the loss function value meets the preset conditions, the training is stopped to obtain a probability prediction model.
9. A resource transfer device, characterized in that: include: A first acquisition module is configured to acquire characteristic data corresponding to the target trip; the characteristic data includes driver profile data and data that influences the driver's ability to deliver the passenger to the destination, the data that influences the driver's ability to deliver the passenger to the destination includes order data, driver and passenger trajectory data, and driver and passenger node data; a prediction module, configured to process the feature data using a probabilistic prediction model to determine the probability that the driver will deliver the passenger to the destination during the target trip; wherein the probabilistic prediction model is obtained by training a preset multi-task learning model based on the feature data of historical trips, the preset multi-task learning model comprising a shared layer, a Gate model, and a preset number of multilayer perceptrons, the shared layer comprising multiple expert networks, the Gate model being configured to determine the probability that the output of each expert network will be selected by the corresponding target task, each multilayer perceptron corresponding to a target task, and each target task corresponding to a Gate model; The first determination module is used to determine whether to transfer the resources corresponding to the target trip to the target account according to the probability that the driver will send the passenger to the destination.
10. A training device for a probability prediction model, characterized in that: include: The second acquisition module is used to obtain characteristic data corresponding to each historical trip; the characteristic data includes driver profile data and data that affects the driver's ability to deliver the passenger to the destination; A second determination module is used to determine the label information of each historical trip based on preset indicators; wherein different tasks correspond to different preset indicators; An acquisition module is used to obtain a training data set based on the feature data and label information corresponding to each historical trip; a training module for training a preset multi-task learning model using the training data set to obtain a probabilistic prediction model; wherein the preset multi-task learning model includes a shared layer, a Gate model, and a preset number of multi-layer perceptrons, the shared layer includes multiple expert networks, the Gate model is used to determine the probability that the output result of each expert network is selected by the corresponding target task, each multi-layer perceptron corresponds to a target task, and each target task corresponds to a Gate model; The multi-tasks in the preset multi-task learning model include a first task and a second task, the second task is used to assist the first task, and the label information includes label information of each historical trip in the first task and label information of each historical trip in the second task.
11. A computer-readable storage medium, characterized in that Computer instructions are stored thereon, and when the instructions are executed, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Order dispatching method, device and equipment and storage medium
CN109447726A
Recommendation probability prediction method and device, computer storage medium and electronic equipment
CN114117216A