A method, device, electronic device and storage medium for recommending riding position
By obtaining and analyzing the location and historical preference data of passengers, we recommend the most suitable locations for passengers in online car-hailing, and improving travel efficiency and accuracy.
Patent Information
- Application Number
- CN202010619114.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-30
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2041-01-03
AI Technical Summary
In online car-hailing services, the positioning of passengers usually does not meet the parking requirements, resulting in passengers needing to manually enter the ride position or make an appointment with the driver, wasting time and reducing travel efficiency.
By detecting the ride position entry interface, obtaining the positioning position of the user to be riding when the ride position is opened, determining the candidate ride position with a distance of less than the preset threshold, and selecting the target ride position from these positions based on the user's historical preferences recommend.
It improves the accuracy and travel efficiency of riding position recommendations, saves passengers and drivers time, and improves the travel experience.
Smart Images

Figure CN111861643B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of online car-hailing, and in particular to a method, device, electronic device and storage medium for recommending a ride location. Background Art
[0002] Online car-hailing is a service platform built on the basis of Internet technology. It connects qualified vehicles and drivers and integrates supply and demand information to provide passengers with vehicle pick-up and drop-off services. Passengers can find vehicles that provide travel services for them anytime and anywhere through the travel service platform, so it is widely loved by people.
[0003] In online car-hailing services, usually, the passenger's location does not meet the parking requirements. Therefore, the passenger is required to manually input the boarding location or make an appointment with the driver over the phone. This, to a certain extent, wastes the time of both the driver and the passenger and reduces travel efficiency. Therefore, how to provide an accurate method for recommending the boarding location is a technical problem that needs to be solved urgently. Summary of the invention
[0004] In view of this, the embodiments of the present application at least provide a method, device, electronic device and storage medium for recommending a boarding location, which can improve the accuracy of the recommended boarding location and improve travel efficiency.
[0005] This application mainly includes the following aspects:
[0006] In a first aspect, an embodiment of the present application provides a method for recommending a riding position, the method comprising:
[0007] When it is detected that the boarding location entry interface is opened, the location of the user waiting to board the bus is obtained;
[0008] Determine at least two candidate boarding locations whose distances from the positioning location are less than a first preset threshold;
[0009] Determining a first historical preference degree of the waiting user for selecting each candidate boarding location, and a second historical preference degree of each user including the waiting user for selecting each candidate boarding location;
[0010] Based on the first historical preference degree and the second historical preference degree, a target boarding location is selected from the at least two candidate boarding locations, and the target boarding location is recommended to the waiting user.
[0011] In a possible implementation, each candidate boarding location is determined according to the following steps:
[0012] From the preset boarding positions in the pre-generated boarding garage, a preset boarding position whose distance to the positioning position is less than the first preset threshold is determined as a candidate boarding position.
[0013] In a possible implementation manner, the parking garage is generated according to the following steps:
[0014] On each road in the target area, a road boarding position is selected at every preset straight line interval;
[0015] From the road boarding positions on each road, a road boarding position selected by each user within the first preset historical duration and satisfying the parking condition is selected and determined as a preset boarding position;
[0016] The boarding garage is generated according to each preset boarding position.
[0017] In a possible implementation manner, the preset straight line interval distance is determined according to the following steps:
[0018] For each road, determine the ratio between the straight-line distance and the spherical distance between any two points on each road under the latitude information of each road;
[0019] The preset straight line interval distance corresponding to each road is determined according to the ratio corresponding to each road and the preset spherical interval distance.
[0020] In a possible implementation, the first historical preference degree is calculated according to the following steps:
[0021] According to the historical travel information of the user to be boarded, determining the target number of times each candidate boarding location is used as the actual boarding location by the user to be boarded, and the total number of trips of the user to be boarded;
[0022] The ratio between the target number of times and the total number of trips of the waiting user is used as the first historical preference degree for the waiting user to select each candidate boarding location.
[0023] In a possible implementation, the second historical preference degree is calculated according to the following steps:
[0024] Counting the total number of times each candidate boarding position is recommended within the second preset historical time period, and the number of times each candidate boarding position is adopted after being recommended;
[0025] The ratio between the number of times each candidate boarding location is adopted and the total number of times it is recommended is determined as the second historical preference degree.
[0026] In a possible implementation, the second historical preference degree is calculated according to the following steps:
[0027] Determine the number of times each user uses each candidate boarding location as the actual boarding location, and the total number of times each user takes the boarding location;
[0028] The ratio between the number of times each candidate boarding location is used as the actual boarding location and the total number of times each user takes the bus is determined as the second historical preference degree.
[0029] In a possible implementation manner, selecting a target boarding location from the at least two candidate boarding locations based on the first historical preference level and the second historical preference level includes:
[0030] Inputting the first historical preference degree and the second historical preference degree of each candidate boarding location into the trained location prediction model to obtain the probability of the waiting user selecting each candidate boarding location;
[0031] The target boarding position is selected from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position.
[0032] In a possible implementation manner, selecting the target boarding position from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position includes:
[0033] Sort each candidate boarding position in descending order according to the probability corresponding to each candidate boarding position;
[0034] A preset number of candidate boarding positions with a high ranking are selected as the target boarding positions.
[0035] In a second aspect, an embodiment of the present application further provides a device for recommending a riding position, the device comprising:
[0036] An acquisition module is used to acquire the location of the user waiting to board the bus when it is detected that the boarding location entry interface is opened;
[0037] A first determination module, configured to determine at least two candidate boarding locations whose distances from the positioning location are less than a first preset threshold;
[0038] A second determination module is used to determine a first historical preference degree of the waiting user for selecting each candidate boarding location, and a second historical preference degree of each user including the waiting user for selecting each candidate boarding location;
[0039] A recommendation module is used to select a target boarding location from the at least two candidate boarding locations based on the first historical preference level and the second historical preference level, and recommend the target boarding location to the user waiting to board.
[0040] In a possible implementation manner, the first determination module is used to determine each candidate boarding location according to the following steps:
[0041] From the preset boarding positions in the pre-generated boarding garage, a preset boarding position whose distance to the positioning position is less than the first preset threshold is determined as a candidate boarding position.
[0042] In a possible implementation manner, the recommendation device further includes a generation module; the generation module includes:
[0043] A first selection unit is used to select a road boarding position of each road at a preset straight line interval on each road in the target area;
[0044] A second selection unit is used to select, from the road boarding positions on each road, the road boarding positions selected by each user within a first preset historical time period and meeting the parking condition, and determine them as preset boarding positions;
[0045] A generating unit is used to generate the boarding garage according to each preset boarding position.
[0046] In a possible implementation, the generating module further includes a determining unit: the determining unit is configured to determine the preset straight line interval distance according to the following steps:
[0047] For each road, determine the ratio between the straight-line distance and the spherical distance between any two points on each road under the latitude information of each road;
[0048] The preset straight line interval distance corresponding to each road is determined according to the ratio corresponding to each road and the preset spherical interval distance.
[0049] In a possible implementation manner, the second determination module is specifically configured to calculate the first historical preference degree according to the following steps:
[0050] According to the historical travel information of the user to be boarded, determining the target number of times each candidate boarding location is used as the actual boarding location by the user to be boarded, and the total number of trips of the user to be boarded;
[0051] The ratio between the target number of times and the total number of trips of the waiting user is used as the first historical preference degree for the waiting user to select each candidate boarding location.
[0052] In a possible implementation manner, the second determination module calculates the second historical preference degree according to the following steps:
[0053] Counting the total number of times each candidate boarding position is recommended within the second preset historical time period, and the number of times each candidate boarding position is adopted after being recommended;
[0054] The ratio between the number of times each candidate boarding location is adopted and the total number of times it is recommended is determined as the second historical preference degree.
[0055] In a possible implementation manner, the second determination module is specifically configured to calculate the second historical preference degree according to the following steps:
[0056] Determine the number of times each user uses each candidate boarding location as the actual boarding location, and the total number of times each user takes the boarding location;
[0057] The ratio between the number of times each candidate boarding location is used as the actual boarding location and the total number of times each user takes the bus is determined as the second historical preference degree.
[0058] In a possible implementation, the recommendation module includes:
[0059] An input unit, used to input the first historical preference level and the second historical preference level of each candidate boarding position into the trained position prediction model to obtain the probability of the waiting user selecting each candidate boarding position;
[0060] The third selection unit is used to select the target boarding position from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position.
[0061] In a possible implementation manner, the third selection unit is specifically configured to select the target boarding position according to the following steps:
[0062] Sort each candidate boarding position in descending order according to the probability corresponding to each candidate boarding position;
[0063] A preset number of candidate boarding positions with a high ranking are selected as the target boarding positions.
[0064] In the third aspect, an embodiment of the present application also provides an electronic device, comprising: a processor, a memory and a bus, the memory storing machine-readable instructions executable by the processor, when the electronic device is running, the processor and the memory communicate through the bus, and the machine-readable instructions are executed by the processor to execute the steps of the method for recommending a riding position described in the first aspect or any possible implementation manner of the first aspect.
[0065] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for recommending a riding position described in the first aspect or any possible implementation scheme of the first aspect are executed.
[0066] The method, device, electronic device and storage medium for recommending boarding positions provided in the embodiments of the present application select a target boarding position from the candidate boarding positions for recommendation to the user to be boarded through the first historical preference degree of each candidate boarding position selected by the user to be boarded and the second historical preference degree of each candidate boarding position selected by each user. Compared with the prior art in which the passenger manually inputs the boarding position or makes an appointment with the driver over the phone, the user to be boarded in the present application can directly use the target boarding position recommended to him / her, which can save the passenger's time and thus improve travel efficiency. Moreover, by comprehensively determining the target boarding position recommended to the user to be boarded based on the preference degrees of each user and the user to be boarded for the candidate boarding positions, the accuracy of the recommended boarding position can be improved.
[0067] Furthermore, the method for recommending boarding positions provided in the embodiment of the present application selects road boarding positions on each road at preset straight-line intervals on each road within the target area, and selects from the road boarding positions on each road the road boarding positions selected by each user within a first preset historical time length and that meet the parking conditions, and determines them as preset boarding positions. Then, a boarding garage is generated based on each preset boarding position. In this way, candidate boarding positions can be directly selected from the boarding garage based on the positioning position, so as to improve the efficiency and accuracy of recommending target boarding positions to users waiting to board.
[0068] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0070] Figure 1 A flow chart showing a method for recommending a riding position provided in an embodiment of the present application is shown;
[0071] Figure 2 One of the functional module diagrams of a device for recommending a riding position provided in an embodiment of the present application is shown;
[0072] Figure 3 The second functional module diagram of a device for recommending a riding position provided in an embodiment of the present application is shown;
[0073] Figure 4 Shows Figure 3 Functional module diagram of a generation module in a device for recommending a boarding position;
[0074] Figure 5 Shows Figure 3 Functional module diagram of a recommendation module in a device for recommending a riding position;
[0075] Figure 6 A schematic structural diagram of an electronic device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0076] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the drawings in the present application only serve the purpose of explanation and description and are not used to limit the scope of protection of the present application. In addition, it should be understood that the schematic drawings are not drawn in real proportion. The flowchart used in this application shows the operations implemented according to some embodiments of the present application. It should be understood that the operations of the flowchart can be implemented out of sequence, and the steps without logical context can be reversed in order or implemented simultaneously. In addition, those skilled in the art, under the guidance of the content of the present application, can add one or more other operations to the flowchart, or remove one or more operations from the flowchart.
[0077] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.
[0078] In order to enable those skilled in the art to use the contents of this application, the following implementation methods are given in combination with the specific application scenario of "recommendation of riding locations". For those skilled in the art, the general principles defined here can be applied to other embodiments and application scenarios without departing from the spirit and scope of this application.
[0079] The following methods, devices, electronic devices or computer-readable storage media of the embodiments of the present application can be applied to any scenario where a recommendation of a riding position is required. The embodiments of the present application are not limited to specific application scenarios. Any scheme using the method and device for recommending a riding position provided by the embodiments of the present application is within the scope of protection of the present application.
[0080] It is worth noting that before this application was submitted, the existing online car-hailing services required passengers to manually enter their boarding location or to agree on the boarding location with the driver over the phone. This, to a certain extent, wasted the time of both the driver and the passengers and reduced travel efficiency.
[0081] In response to the above problems, the embodiment of the present application determines, when detecting that the boarding position entry interface is opened, a candidate boarding position whose distance from the positioning position of the user to be boarded is less than a first preset threshold, and then determines the first historical preference degree of the user to be boarded for selecting each candidate boarding position, as well as the second historical preference degree of each user for selecting each candidate boarding position. Furthermore, based on the first historical preference degree and the second historical preference degree, a target boarding position for recommendation to the user to be boarded can be selected from the candidate boarding positions. In this way, by comprehensively determining the preference degrees of each user and the user to be boarded for the candidate boarding positions, the target boarding position recommended to the user to be boarded can be improved, and travel efficiency can be improved.
[0082] It should be noted that online car-hailing service refers to online taxi-hailing service; the term "boarding location" in this application can be understood as the boarding point, which can be the location where the service provider starts to provide services initiated by the service requester, or it can be the billing location where the service provider provides travel services to the service requester and starts charging. Here, the service provider can be the driver and the service requester can be the passenger, and the passenger is the user waiting to board the car.
[0083] To facilitate the understanding of the present application, the technical solution provided by the present application is described in detail below in conjunction with specific embodiments.
[0084] Figure 1 This is a flow chart of a method for recommending a ride location provided in an embodiment of the present application. The device for executing the method for recommending a ride location may be a server or a cloud service platform. The following describes the method for recommending a ride location in the present application with the cloud service platform as the execution subject. Figure 1 As shown, the method for recommending a riding position provided in an embodiment of the present application includes the following steps:
[0085] S101: When it is detected that the boarding position input interface is opened, the location of the user waiting to board the board is obtained.
[0086] In a specific implementation, when the cloud service platform detects that the boarding position entry interface associated with the cloud service platform is opened, it obtains the positioning position of the terminal device where the boarding position entry interface is located, and uses the positioning position as the positioning position of the user waiting to board on the terminal device side.
[0087] Here, the boarding location entry interface is an interface in an application installed on any terminal device. The boarding location entry interface is the taxi-hailing interface, and the starting location and destination can be entered on the taxi-hailing interface, where the starting location is the boarding location; the application can be a travel application, or it can be a comprehensive application that can provide travel services. Regardless of the type of application, it can communicate with the cloud service platform.
[0088] It should be noted that a code that can be used to directly locate the vehicle can be embedded in the boarding location entry interface, or the location can be obtained by opening the terminal device of the boarding location entry interface when the boarding location entry interface is detected to be open. Here, usually, the positioning location and the boarding location are not the same location, but the positioning location and the boarding location are close. For example, if the user who is waiting to board requests travel service at home, the positioning location is the home location of the user who is waiting to board, that is, a building in a community, and the actual boarding location should be a location on the road outside the community.
[0089] S102: Determine at least two candidate boarding locations whose distances from the positioning location are less than a first preset threshold.
[0090] In a specific implementation, after obtaining the location of the user to be boarded, a candidate boarding location that is close to the location and suitable as a boarding location can be preliminarily selected based on the location. Specifically, a candidate boarding location whose distance from the location is less than a first preset threshold can be selected, wherein the first preset threshold can be set according to actual business needs, and is usually set to 300 meters.
[0091] It should be noted that the candidate boarding location can be selected from the locations that users have used as actual boarding locations in the travel service platform, or from the locations that the user to board has used as actual boarding locations, or from pre-set boarding garages. No matter where the candidate boarding location is selected from, the distance between the candidate boarding location and the positioning location must meet the requirements; the travel service platform is a cloud service platform.
[0092] Further, the process of selecting a candidate boarding position from the pre-set boarding garage is described, that is, each candidate boarding position is determined according to the following steps:
[0093] From the preset boarding positions in the pre-generated boarding garage, a preset boarding position whose distance to the positioning position is less than the first preset threshold is determined as a candidate boarding position.
[0094] In a specific implementation, a preset boarding position whose distance to the positioning position of the user to be boarded meets the distance requirement can be determined as a candidate boarding position from the preset boarding positions in the pre-generated boarding positions in the boarding garage. Here, multiple preset boarding positions are stored in the boarding garage. The preset boarding position can be the actual boarding position of the user on the travel platform, or a position suitable for parking, or a position on the road that is suitable for parking and is the actual boarding position of the user on the travel platform.
[0095] Further, the process of generating a carport is described, that is, the carport is generated according to the following steps:
[0096] Step a: On each road in the target area, a road boarding position is selected at every preset straight line interval.
[0097] In the specific implementation, the road network data of the target area within the service scope of the travel service platform can be obtained first, that is, the road information of each road in the target area can be obtained, and each road can be divided into multiple sections through the preset straight line interval distance of each road set in advance. Here, the position between two adjacent sections on each road is used as the road boarding position of each road.
[0098] Here, the preset straight-line interval distance may be a set fixed straight-line distance. When selecting the road boarding position on each road, starting from the starting point of each road, a position is selected from each road at every preset straight-line interval distance as the road boarding position; the preset straight-line interval distance may be a set variable straight-line distance, which is calculated according to the latitude of each road. Similarly, the road boarding position is selected from each road according to the preset straight-line interval distance. The preset straight-line interval distance may be set to several tens of meters.
[0099] Furthermore, the preset straight-line interval distance is determined according to the following steps: for each road, the ratio between the straight-line distance and the spherical distance between any two points in each road is determined under the latitude information of each road; based on the ratio corresponding to each road and the preset spherical interval distance, the preset straight-line interval distance corresponding to each road is determined.
[0100] In a specific implementation, the latitudes of roads at different locations may vary greatly. In order to make the preset boarding positions in the boarding garage more evenly distributed, when selecting a road boarding position from each road, the preset spherical interval distance corresponding to each road can be determined according to the latitude information of each road, and then the preset straight-line interval distance on the road to be set is calculated according to the preset spherical interval distance. Further, the road boarding position is selected from each road according to the preset straight-line interval distance. Here, according to the latitude information of each road, the ratio between the straight-line distance and the spherical distance between any two points in each road is determined, and then the product obtained by multiplying the ratio by the preset spherical interval distance is determined as the preset straight-line interval distance of each road, wherein the spherical distance is the arc distance, and the spherical distance is preferably set to 10 meters.
[0101] Step b: From the road boarding positions on each road, the road boarding positions selected by each user within the first preset historical time period and satisfying the parking conditions are selected and determined as preset boarding positions.
[0102] In a specific implementation, after selecting multiple road boarding positions from each road, the road boarding positions selected by each user within a first preset historical time period and meeting the parking conditions can be selected from the road boarding positions on each road according to the road attributes of each road and the historical travel information of each user in the travel service platform, and determined as the preset boarding positions. Specifically, from the road boarding positions on each road, the road boarding positions that have been used as actual boarding positions by users in the travel service platform and are suitable for parking are screened out and determined as the preset boarding positions, wherein the preset historical time period is a period of time before the current time, and the first preset historical time period can be set according to actual needs, for example, the past six months; the road attributes can be whether the road is suitable for parking, for example, expressways are not suitable for parking.
[0103] In one example, there are five road boarding positions on a road, including road boarding position A, road boarding position B, road boarding position C, road boarding position D, and road boarding position E. Among them, in the past six months, users on the travel service platform have selected road boarding position A, road boarding position C, and road boarding position E as actual boarding positions, but road boarding position C is not suitable for boarding. Therefore, road boarding position A and road boarding position E can be used as preset boarding positions.
[0104] It should be noted that, considering the GPS positioning accuracy, the preset boarding location can be the location of an area, and is not limited to the location of a point. The scope of this area can be set smaller, for example, to a circular area with a radius of 5 meters, or to a square area with a side length of 5 meters.
[0105] Step c: Generate the boarding garage according to each preset boarding location.
[0106] In a specific implementation, after determining the preset boarding locations that are suitable for parking and have been used as actual boarding locations by users in the travel service platform from the road boarding locations on multiple roads within the target area, each preset boarding location is stored in the boarding garage. When storing, the location name of each preset boarding location and the location information of the preset boarding location can be associated and stored.
[0107] S103: Determine the first historical preference degree of the user to be boarded in selecting each candidate boarding location, and the second historical preference degree of each user including the user to be boarded in selecting each candidate boarding location.
[0108] In a specific implementation, after the candidate boarding locations are determined according to the positioning position of the user to be boarded, it is further necessary to determine the target boarding location to be recommended to the user to be boarded from the selected candidate boarding locations. Here, the first historical preference degree of the user to be boarded for each candidate boarding location can be calculated based on the historical travel information of the user to be boarded, and the second historical preference degree of each user to be boarded for each candidate boarding location can be calculated based on the historical travel information of each user in the travel application platform. Here, the second historical preference degree of the user to be boarded for each candidate boarding location is calculated together with other users in the travel service platform, and there is no need to pick out the historical travel information of the user to be boarded separately for calculation, which can improve the calculation efficiency.
[0109] It should be noted that when determining the first historical preference level and the second historical preference level, the timeliness of the data must also be considered. Usually, historical travel information for a period of time close to the current time is selected. Here, historical travel information from the past year or half a year can be selected to calculate the preference level, which can more accurately reflect the user's preference level at the current time.
[0110] Here, the historical preference degree can reflect the probability of the user selecting each candidate boarding location to a certain extent. The second historical preference degree of each user in the travel platform to select each candidate boarding location can be calculated before this recommendation. Each preset boarding location in the boarding garage can be calculated in advance and stored in the boarding garage. In this way, when the candidate boarding location is determined from the boarding garage, the second historical preference degree of each user in the travel service platform to select each candidate boarding location is directly obtained. However, before this recommendation, it is impossible to know which user to recommend. Therefore, when it is detected that the boarding location entry interface is opened and the candidate boarding location is determined, the first historical preference degree of the user to be boarded to select each candidate boarding location is calculated.
[0111] It should also be noted that the historical preference degree of the user in selecting the candidate boarding location can be represented in various forms, so the calculation formula for the first historical preference degree and the second historical preference degree is not limited to the same calculation formula.
[0112] Here, exemplarily, a method for calculating the first historical preference degree is described, that is, the first historical preference degree is calculated according to the following steps: based on the historical travel information of the user to be boarded, the target number of times each candidate boarding location is selected as the actual boarding location by the user to be boarded and the total number of trips of the user to be boarded are determined; the ratio between the target number and the total number of trips of the user to be boarded is used as the first historical preference degree of the user to be boarded in selecting each candidate boarding location.
[0113] In a specific implementation, the historical travel information of the user to be boarded is first obtained, and the actual boarding location of the user to be boarded is extracted from the historical travel information. For example, the travel starting point in the historical travel order is taken as the actual boarding location, and the target number of times each candidate boarding location is taken as the actual boarding location by the user to be boarded, as well as the total number of trips of the user to be boarded, are counted. Then, the ratio between the target number of times the candidate boarding location is taken as the actual boarding location by the user to be boarded and the total number of trips of the user to be boarded is determined as the first historical preference degree of the user to be boarded to select the candidate boarding location. Here, the larger the ratio, the greater the probability that the user to be boarded will select the candidate boarding location, and the higher the first historical preference degree of the user to be boarded to select the candidate boarding location. Conversely, the lower the first historical preference degree.
[0114] Here, a method for calculating the second historical preference degree is described as an example, that is, the second historical preference degree is calculated according to the following steps:
[0115] The total number of times each candidate boarding location is recommended and the number of times each candidate boarding location is adopted after being recommended within the second preset historical time period are counted; the ratio between the number of times each candidate boarding location is adopted and the total number of times it is recommended is determined as the second historical preference degree.
[0116] In the specific implementation, the total number of times each candidate boarding location is recommended and the number of times each candidate boarding location is adopted after being recommended are first obtained, and then the ratio between the number of times each candidate boarding location is adopted and the total number of times it is recommended is determined as the second historical preference degree. Here, the larger the ratio, the greater the probability that each user in the travel service platform will choose the candidate boarding location, and the higher the second historical preference degree of each user to choose the candidate boarding location. Conversely, the second historical preference degree is lower. The second preset historical duration is set according to actual needs, and can be set to half a year or one year before the current time.
[0117] Here, another method for calculating the second historical preference degree is described as an example, that is, the second historical preference degree is calculated according to the following steps:
[0118] Determine the number of times each user takes each candidate boarding location as the actual boarding location, and the total number of times each user takes the bus; determine the ratio between the number of times each candidate boarding location is taken as the actual boarding location and the total number of times each user takes the bus as the second historical preference degree.
[0119] In a specific implementation, the historical travel information of each user in the travel service platform is first obtained, and the actual boarding location of each user is extracted from the historical travel information. For example, the travel starting point in the historical travel order is taken as the actual boarding location, and the number of times each candidate boarding location is taken as the actual boarding location by each user and the total number of trips of each user are counted. Then, the ratio of the number of times the candidate boarding location is taken as the actual boarding location by each user to the total number of trips of each user is determined as the second historical preference degree of each user for selecting the candidate boarding location. Here, the larger the ratio, the greater the probability of each user selecting the candidate boarding location, and the higher the second historical preference degree of each user for selecting the candidate boarding location. Conversely, the lower the second historical preference degree.
[0120] S104: Based on the first historical preference level and the second historical preference level, a target boarding location is selected from the at least two candidate boarding locations, and the target boarding location is recommended to the waiting user.
[0121] In a specific implementation, for each candidate boarding location, after calculating the first historical preference degree of the user to be boarded for selecting the candidate boarding location, as well as the second historical preference degree of each user including the user to be boarded for selecting the candidate boarding location, a target boarding location can be selected from at least two selected candidate boarding locations based on the first historical preference degree and the second historical preference degree of the candidate boarding location, and the target boarding location can be recommended to the user to be boarded. Here, the target boarding location recommended to the user to be boarded is determined by comprehensively considering the preference levels of each user and the user to be boarded for the candidate boarding locations. Compared with determining the target boarding location to be recommended to the user to be boarded based solely on the user to be boarded's historical travel information, the accuracy of the recommended boarding location can be improved, especially when the user to be boarded has fewer rides or there is no location close to the positioning location in the user's historical travel information. The value of the second historical preference level of other users in selecting the candidate boarding location can be better reflected. After the target boarding location is recommended to the user to be boarded, the user to be boarded can directly select the target boarding location as the actual boarding location. A good boarding location is very important for the user to be boarded to get on the bus on time and safely. Therefore, travel efficiency can be improved to a certain extent.
[0122] Here, the target boarding location can be selected from at least two candidate boarding locations based on the first historical preference level and the second historical preference level in a variety of ways:
[0123] Method 1: Weights can be set in advance for the first historical preference degree and the second historical preference degree respectively, and then, each candidate boarding position is scored according to the first historical preference degree and its weight, as well as the second historical preference degree and its weight. Then, based on the score of each candidate boarding position, a target boarding position recommended to the user is determined from at least two selected candidate boarding positions.
[0124] Method 2: The first historical preference level and the second historical preference level of each candidate boarding location can be input into a pre-trained location prediction model to obtain the probability of the user selecting each candidate boarding location. According to the probability corresponding to each candidate boarding location, the target boarding location is selected from at least two candidate boarding locations.
[0125] In a specific implementation, the characteristic information of each candidate boarding location is input into a pre-trained location prediction model, and the probability of the user to be boarded selecting each candidate boarding location can be obtained. Here, the characteristic information of each candidate boarding location includes a first historical preference degree and a second historical preference degree. Then, after determining the probability of the user to be boarded selecting each candidate boarding location, the candidate boarding location with the highest probability can be selected as the target boarding location, or the candidate boarding location with a probability greater than a preset threshold can be selected as the target boarding location, or a preset number of candidate boarding locations at the front in the probability sorting can be selected as the target boarding location.
[0126] Here, the location prediction model may be a Gradient Boosting Decision Tree (GBDT).
[0127] Further, exemplary, the implementation process of selecting the target boarding position is described, that is, selecting the target boarding position from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position includes the following steps:
[0128] In order of probability from large to small, each candidate boarding position is sorted according to the probability corresponding to each candidate boarding position; a preset number of candidate boarding positions with high rankings are selected as the target boarding positions.
[0129] In an embodiment of the present application, when it is detected that the boarding position entry interface is opened, a candidate boarding position whose distance from the positioning position of the user to be boarded is less than a first preset threshold is determined, and then the first historical preference degree of the user to be boarded for selecting each candidate boarding position and the second historical preference degree of each user to select each candidate boarding position are determined. Furthermore, based on the first historical preference degree and the second historical preference degree, a target boarding position for recommendation to the user to be boarded can be selected from the candidate boarding positions. In this way, the target boarding position recommended to the user to be boarded is determined by comprehensively determining the preference degrees of each user and the user to be boarded for the candidate boarding positions, so that the accuracy of the recommended boarding positions can be improved, and travel efficiency can be improved.
[0130] In a specific implementation, the process of recommending a riding location in the present application is described, including the following steps:
[0131] Step (1): Obtain national road network data, including road information of each road.
[0132] Step (2): Divide each road into multiple road sections according to a preset spherical interval distance, and determine the position between any two road sections as the road boarding position of each road.
[0133] Here, by obtaining the road boarding position from each road and finally selecting the recommended target boarding position from the road boarding positions, it is possible to ensure that the target boarding position is on the road, avoiding the embarrassing situation where the driver cannot park because the recommended target boarding position is not on the road.
[0134] Step (3): From the road boarding positions on each road, according to the actual boarding positions of each user in the travel service platform within a preset historical time period, and the road attributes of the road (for example, whether it is suitable for parking), the road boarding positions that meet the parking conditions are screened out, and the road boarding positions of the actual boarding positions are determined as preset boarding positions, and the preset boarding positions are stored in the boarding garage; wherein the boarding garage also stores the second historical preference degree of each user in the travel service platform for selecting each preset boarding position.
[0135] Here, the boarding locations on each road are screened based on road attributes and the user's historical travel behavior, and the road boarding locations that meet the requirements are selected as preset boarding locations. In this way, the scope of determining candidate boarding locations is narrowed and the efficiency of recommendations can be improved.
[0136] Step (4): When it is detected that the boarding position entry interface is opened, the location of the user waiting to board the board is obtained.
[0137] Step (5): Select at least two candidate boarding locations from the preset boarding locations in the boarding garage, the distances between which and the positioning location are less than a preset threshold.
[0138] Step (6): Calculate the first historical preference level of each candidate boarding location selected by the waiting user, and obtain the second historical preference level of each candidate boarding location selected by each user from the boarding garage.
[0139] Step (7): Input the first historical preference level and the second historical preference level of each candidate boarding location into the trained location prediction model to obtain the probability of the user to be boarded selecting each candidate boarding location.
[0140] Step (8): According to the probability corresponding to each candidate boarding position, a target boarding position for the user to board is selected from at least two selected candidate boarding positions.
[0141] Based on the same application concept, the embodiments of the present application also provide a device for recommending a riding position corresponding to the method for recommending a riding position provided in the above embodiments. Since the principle of solving the problem by the device in the embodiments of the present application is similar to the method for recommending a riding position in the above embodiments of the present application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0142] like Figures 2 to 5 As shown, Figure 2 One of the functional module diagrams of a ride location recommendation device 200 provided in an embodiment of the present application is shown; Figure 3 The second functional module diagram of a device 200 for recommending a riding position provided in an embodiment of the present application is shown; Figure 4 Shows Figure 3 A functional block diagram of the generation module 250 in the device 200 for recommending a riding position; Figure 5 Shows Figure 3 FIG. 2 is a functional block diagram of the recommendation module 240 in the apparatus 200 for recommending a riding position.
[0143] like Figure 2 As shown, the ride location recommendation device 200 includes:
[0144] The acquisition module 210 is used to acquire the location of the user waiting to board the bus when it is detected that the boarding location input interface is opened;
[0145] A first determination module 220, configured to determine at least two candidate boarding locations whose distances from the positioning location are less than a first preset threshold;
[0146] A second determination module 230 is used to determine the first historical preference degree of the waiting user for selecting each candidate boarding location, and the second historical preference degree of each user including the waiting user for selecting each candidate boarding location;
[0147] The recommendation module 240 is used to select a target boarding location from the at least two candidate boarding locations based on the first historical preference level and the second historical preference level, and recommend the target boarding location to the waiting user.
[0148] In a possible implementation, Figure 2 As shown, the first determination module 220 is used to determine each candidate boarding position according to the following steps:
[0149] From the preset boarding positions in the pre-generated boarding garage, a preset boarding position whose distance to the positioning position is less than the first preset threshold is determined as a candidate boarding position.
[0150] In a possible implementation, Figure 3 As shown, the ride location recommendation device 200 further includes a generation module 250; Figure 4 As shown, the generating module 250 includes:
[0151] The first selection unit 251 is used to select the road boarding position of each road at a preset straight line interval on each road in the target area;
[0152] The second selection unit 252 is used to select, from the road boarding positions of each road, the road boarding positions selected by each user within the first preset historical time period and meeting the parking condition, and determine them as preset boarding positions;
[0153] The generating unit 253 is used to generate the boarding garage according to each preset boarding position.
[0154] In a possible implementation, Figure 4 As shown, the generating module 250 further includes a determining unit 254: the determining unit 254 is used to determine the preset straight line interval distance according to the following steps:
[0155] For each road, determine the ratio between the straight-line distance and the spherical distance between any two points on each road under the latitude information of each road;
[0156] The preset straight line interval distance corresponding to each road is determined according to the ratio corresponding to each road and the preset spherical interval distance.
[0157] In a possible implementation, Figure 3 As shown, the second determination module 230 is specifically configured to calculate the first historical preference degree according to the following steps:
[0158] According to the historical travel information of the user to be boarded, determining the target number of times each candidate boarding location is used as the actual boarding location by the user to be boarded, and the total number of trips of the user to be boarded;
[0159] The ratio between the target number of times and the total number of trips of the waiting user is used as the first historical preference degree for the waiting user to select each candidate boarding location.
[0160] In a possible implementation, Figure 3 As shown, the second determination module 230 specifically calculates the second historical preference degree according to the following steps:
[0161] Counting the total number of times each candidate boarding position is recommended within the second preset historical time period, and the number of times each candidate boarding position is adopted after being recommended;
[0162] The ratio between the number of times each candidate boarding location is adopted and the total number of times it is recommended is determined as the second historical preference degree.
[0163] In a possible implementation, Figure 3 As shown, the second determination module 230 is specifically configured to calculate the second historical preference degree according to the following steps:
[0164] Determine the number of times each user uses each candidate boarding location as the actual boarding location, and the total number of times each user takes the boarding location;
[0165] The ratio between the number of times each candidate boarding location is used as the actual boarding location and the total number of times each user takes the bus is determined as the second historical preference degree.
[0166] In a possible implementation, Figure 5 As shown, the recommendation module 240 includes:
[0167] An input unit 241 is used to input the first historical preference level and the second historical preference level of each candidate boarding position into the trained position prediction model to obtain the probability of the waiting user selecting each candidate boarding position;
[0168] The third selection unit 242 is used to select the target boarding position from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position.
[0169] In a possible implementation, Figure 5 As shown, the third selection unit 242 is specifically used to select the target boarding position according to the following steps:
[0170] Sort each candidate boarding position in descending order according to the probability corresponding to each candidate boarding position;
[0171] A preset number of candidate boarding positions with a high ranking are selected as the target boarding positions.
[0172] In an embodiment of the present application, when it is detected that the boarding position entry interface is opened, a candidate boarding position whose distance from the positioning position of the user to be boarded is less than a first preset threshold is determined, and then the first historical preference degree of the user to be boarded for selecting each candidate boarding position and the second historical preference degree of each user to select each candidate boarding position are determined. Furthermore, based on the first historical preference degree and the second historical preference degree, a target boarding position for recommendation to the user to be boarded can be selected from the candidate boarding positions. In this way, the target boarding position recommended to the user to be boarded is determined by comprehensively determining the preference degrees of each user and the user to be boarded for the candidate boarding positions, so that the accuracy of the recommended boarding positions can be improved, and travel efficiency can be improved.
[0173] Based on the same application concept, see Figure 6As shown, it is a schematic diagram of the structure of an electronic device 600 provided in an embodiment of the present application, including: a processor 610, a memory 620 and a bus 630, the memory 620 stores machine-readable instructions executable by the processor 610, when the electronic device 600 is running, the processor 610 and the memory 620 communicate with each other through the bus 630, and the machine-readable instructions are executed by the processor 610 when running to perform the steps of the method for recommending a riding position as described in any of the above embodiments.
[0174] Specifically, when the machine-readable instruction is executed by the processor 610, the following processing may be performed:
[0175] When it is detected that the boarding location entry interface is opened, the location of the user waiting to board the bus is obtained;
[0176] Determine at least two candidate boarding locations whose distances from the positioning location are less than a first preset threshold;
[0177] Determining a first historical preference degree of the waiting user for selecting each candidate boarding location, and a second historical preference degree of each user including the waiting user for selecting each candidate boarding location;
[0178] Based on the first historical preference degree and the second historical preference degree, a target boarding location is selected from the at least two candidate boarding locations, and the target boarding location is recommended to the waiting user.
[0179] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0180] From the preset boarding positions in the pre-generated boarding garage, a preset boarding position whose distance to the positioning position is less than the first preset threshold is determined as a candidate boarding position.
[0181] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0182] On each road in the target area, a road boarding position is selected at every preset straight line interval;
[0183] From the road boarding positions on each road, a road boarding position selected by each user within the first preset historical duration and satisfying the parking condition is selected and determined as a preset boarding position;
[0184] The boarding garage is generated according to each preset boarding position.
[0185] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0186] For each road, determine the ratio between the straight-line distance and the spherical distance between any two points on each road under the latitude information of each road;
[0187] The preset straight line interval distance corresponding to each road is determined according to the ratio corresponding to each road and the preset spherical interval distance.
[0188] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0189] According to the historical travel information of the user to be boarded, determining the target number of times each candidate boarding location is used as the actual boarding location by the user to be boarded, and the total number of trips of the user to be boarded;
[0190] The ratio between the target number of times and the total number of trips of the waiting user is used as the first historical preference degree for the waiting user to select each candidate boarding location.
[0191] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0192] Counting the total number of times each candidate boarding position is recommended within the second preset historical time period, and the number of times each candidate boarding position is adopted after being recommended;
[0193] The ratio between the number of times each candidate boarding location is adopted and the total number of times it is recommended is determined as the second historical preference degree.
[0194] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0195] Determine the number of times each user uses each candidate boarding location as the actual boarding location, and the total number of times each user takes the boarding location;
[0196] The ratio between the number of times each candidate boarding location is used as the actual boarding location and the total number of times each user takes the bus is determined as the second historical preference degree.
[0197] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0198] Inputting the first historical preference degree and the second historical preference degree of each candidate boarding location into the trained location prediction model to obtain the probability of the waiting user selecting each candidate boarding location;
[0199] The target boarding position is selected from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position.
[0200] Furthermore, when the machine-readable instructions are executed by the processor 610, the following processing may be performed:
[0201] Sort each candidate boarding position in descending order according to the probability corresponding to each candidate boarding position;
[0202] A preset number of candidate boarding positions with a high ranking are selected as the target boarding positions.
[0203] In an embodiment of the present application, when it is detected that the boarding position entry interface is opened, a candidate boarding position whose distance from the positioning position of the user to be boarded is less than a first preset threshold is determined, and then the first historical preference degree of the user to be boarded for selecting each candidate boarding position and the second historical preference degree of each user to select each candidate boarding position are determined. Furthermore, based on the first historical preference degree and the second historical preference degree, a target boarding position for recommendation to the user to be boarded can be selected from the candidate boarding positions. In this way, the target boarding position recommended to the user to be boarded is determined by comprehensively determining the preference degrees of each user and the user to be boarded for the candidate boarding positions, so that the accuracy of the recommended boarding positions can be improved, and travel efficiency can be improved.
[0204] Based on the same application concept, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for recommending a boarding location provided in the above embodiment are executed.
[0205] Specifically, the storage medium can be a general storage medium, such as a mobile disk, a hard disk, etc. When the computer program on the storage medium is run, the above-mentioned method of recommending the boarding position can be executed. By comprehensively determining the preference levels of each user and the user to be boarded for the candidate boarding positions, the target boarding position recommended to the user to be boarded is determined, thereby improving the accuracy of the recommended boarding position and improving travel efficiency.
[0206] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the system and device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here. In the several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0207] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0208] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0209] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
[0210] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A method for recommending a riding position, characterized in that: The recommended methods include: When it is detected that the boarding location entry interface is opened, the location of the user waiting to board the bus is obtained; Determine at least two candidate boarding locations whose distances from the positioning location are less than a first preset threshold; According to the target number of times each candidate boarding position is selected as an actual boarding position by the user to be boarded and the total number of trips of the user to be boarded, the ratio of the target number to the total number of trips of the user to be boarded is used as a first historical preference degree, and a second historical preference degree of each user including the user to be boarded for selecting each candidate boarding position is obtained; wherein the actual boarding position is information extracted based on historical travel information of the user to be boarded within a preset historical time period, and the second historical preference degree is determined based on the number of times each candidate boarding position is recommended and the number of times it is adopted after recommendation; Inputting the first historical preference degree and the second historical preference degree of each candidate boarding location into the trained location prediction model to obtain the probability of the waiting user selecting each candidate boarding location; selecting the target boarding position from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position, and The target boarding location is recommended to the user waiting to board the bus.
2. The recommendation method according to claim 1, characterized in that: Each candidate ride location is determined according to the following steps: From the preset boarding positions in the pre-generated boarding garage, a preset boarding position whose distance to the positioning position is less than the first preset threshold is determined as a candidate boarding position.
3. The recommendation method according to claim 2, characterized in that: The car park is generated according to the following steps: On each road in the target area, a road boarding position is selected at every preset straight line interval; From the road boarding positions on each road, a road boarding position selected by each user within the first preset historical duration and satisfying the parking condition is selected and determined as a preset boarding position; The boarding garage is generated according to each preset boarding position.
4. The recommendation method according to claim 3, characterized in that: Follow these steps to determine the preset line spacing distance: For each road, determine the ratio between the straight-line distance and the spherical distance between any two points on each road under the latitude information of each road; The preset straight line interval distance corresponding to each road is determined according to the ratio corresponding to each road and the preset spherical interval distance.
5. The recommendation method according to claim 1, characterized in that: The second historical preference degree is calculated according to the following steps: Counting the total number of times each candidate boarding position is recommended within the second preset historical time period, and the number of times each candidate boarding position is adopted after being recommended; The ratio between the number of times each candidate boarding location is adopted and the total number of times it is recommended is determined as the second historical preference degree.
6. The recommendation method according to claim 1, characterized in that: The second historical preference degree is calculated according to the following steps: Determine the number of times each user uses each candidate boarding location as the actual boarding location, and the total number of times each user takes the boarding location; The ratio between the number of times each candidate boarding location is used as the actual boarding location and the total number of times each user takes the bus is determined as the second historical preference degree.
7. The recommendation method according to claim 1, characterized in that: The step of selecting the target boarding position from the at least two candidate boarding positions according to the probability corresponding to each candidate boarding position comprises: Sort each candidate boarding position in descending order according to the probability corresponding to each candidate boarding position; A preset number of candidate boarding positions with a high ranking are selected as the target boarding positions.
8. A device for recommending a riding position, characterized in that: The recommended devices include: An acquisition module is used to acquire the location of the user waiting to board the bus when it is detected that the boarding location entry interface is opened; A first determination module, configured to determine at least two candidate boarding locations whose distances from the positioning location are less than a first preset threshold; A second determination module is used to use the ratio of the target number of times each candidate boarding location is selected as an actual boarding location by the user to be boarded and the total number of trips of the user to be boarded as a first historical preference degree, and obtain a second historical preference degree for each candidate boarding location selected by each user including the user to be boarded; wherein the actual boarding location is information extracted based on historical travel information of the user to be boarded within a preset historical time period, and wherein the second historical preference degree is determined based on the number of times each candidate boarding location is recommended and the number of times it is adopted after recommendation; The recommendation module is used to input the first historical preference degree and the second historical preference degree of each candidate boarding location into the trained location prediction model to obtain the probability of the waiting user selecting each candidate boarding location; and select the target boarding location from the at least two candidate boarding locations according to the probability corresponding to each candidate boarding location, and The recommendation module is also configured to recommend the target boarding location to the user waiting to board.
9. An electronic device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate through the bus, and the machine-readable instructions are executed by the processor to execute the steps of the method for recommending a riding position as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method for recommending a riding position as described in any one of claims 1 to 7 are executed.
