WO2022001902A1 - 一种推荐上车点的方法和系统 - Google Patents
一种推荐上车点的方法和系统 Download PDFInfo
- Publication number
- WO2022001902A1 WO2022001902A1 PCT/CN2021/102556 CN2021102556W WO2022001902A1 WO 2022001902 A1 WO2022001902 A1 WO 2022001902A1 CN 2021102556 W CN2021102556 W CN 2021102556W WO 2022001902 A1 WO2022001902 A1 WO 2022001902A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- user
- pick
- candidate
- interest
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012549 training Methods 0.000 claims description 95
- 238000010801 machine learning Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 24
- 238000002372 labelling Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 24
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000010200 validation analysis Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0639—Item locations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Definitions
- the present application relates to the field of travel, and in particular, to a method and system for recommending a pick-up point.
- One aspect of the present application provides a method of recommending a pickup point.
- the method includes: acquiring the current location of the user; generating at least one candidate pick-up point information based on the user's current location; displaying the at least one candidate pick-up point information to the user; One of the candidate pick-up point information in the at least one candidate pick-up point information; based on the one of the candidate pick-up point information selected by the user, the recommended pick-up point is displayed to the user.
- the generating at least one candidate boarding point information based on the current location of the user includes: after detecting a triggering operation for opening an application, generating at least one candidate boarding point based on the current location of the user point information; or detect whether the user operates on the application within a time threshold: if not, generate at least one candidate pick-up point information based on the current location of the user.
- the generating at least one candidate pick-up point information based on the current location of the user includes: acquiring historical order data of the user; determining, based on the current location of the user and the historical order data, determining Candidate pick-up point.
- the candidate pickup points include historical pickup points that are within a first threshold range from the user's current location.
- the determining candidate pick-up points based on the current location of the user and the historical order data includes: if the historical pick-up points include at least two: for the at least two historical pick-up points Points are sorted; at least two historical pick-up points that are ranked first and whose distance is greater than the second threshold are selected as candidate pick-up points.
- the generating at least one candidate pick-up point information based on the current location of the user further includes: based on the current location of the user, recalling a third distance from the current location to the current location according to a first preset rule.
- Interest points within the threshold range use the machine learning model to process the feature data of the interest points to obtain the scores of the interest points; sort the scores of the interest points; select at least one interest point in the top ranking as a candidate car point.
- the first preset rule includes the distance to the current location of the user and the popularity of the point of interest.
- the feature data of the point of interest includes attribute features, relationship features with the user's current location, and user portraits.
- the machine learning model is obtained by the following methods: acquiring training samples; wherein the training samples include a score of training points of interest and at least one of the following features: a user's location, a distance between the training point of interest and the user's location , the heat of the training interest points, the attribute characteristics of the training interest points, the relationship between the training interest points and the user's location, and the user's portrait; the score mark of the training interest point is used as a reference score; based on the training samples and the marked results, the initial training The model results in the machine learning model.
- the displaying the at least one candidate pickup point information to the user includes displaying the candidate pickup point to the user in a list form.
- the user selecting one of the candidate pick-up point information among the at least one candidate pick-up point information includes the user selecting by means of touch screen or voice recognition.
- the displaying to the user a recommended pick-up point based on one of the candidate pick-up point information selected by the user includes: if the candidate pick-up point selected by the user is the historical pick-up point , display the historical pick-up point as the recommended pick-up point to the user; or, if the candidate pick-up point selected by the user is the interest point, select the recommended pick-up point from the interest point and display it to the user described user.
- the selecting the recommended pick-up point through the point of interest and displaying it to the user includes: acquiring charging points of historical orders related to the point of interest; the initial pick-up point where the charging point is within the fourth threshold range; use the pick-up point recommendation model to process the characteristic data of the initial pick-up point to obtain the best initial pick-up point and display it to the user as the recommended pick-up point .
- the characteristic data of the initial pick-up point includes: local heat, global heat, the distance between the initial pick-up point and the point of interest, and the distance between the initial pick-up point and the user.
- the system includes: an acquisition module for acquiring the current location of the user; a generating module for generating at least one candidate pick-up point information based on the current location of the user; and a display module for displaying the information to the user at least one candidate pick-up point information; a receiving module, configured to receive the user's selection of one of the candidate pick-up point information in the at least one candidate pick-up point information; a recommendation module, based on one of the candidate pick-up point information selected by the user.
- the candidate pick-up point information, and the recommended pick-up point is displayed to the user.
- the generating module is configured to generate at least one candidate pick-up point information based on the current location of the user after detecting a triggering operation for opening an application; or the generating module is configured to detect when a time threshold is reached Whether the user operates on the application program: if not, then based on the current location of the user, at least one candidate pick-up point information is generated.
- the generating module further includes an order obtaining unit and a pickup point generating unit; wherein: an order obtaining unit is used to obtain historical order data of the user; The current location of the user and the historical order data determine the candidate pick-up point.
- the candidate pickup points include historical pickup points that are within a first threshold range from the user's current location.
- the boarding point determination unit is further configured to: if the historical vehicle points include at least two: sort the at least two historical vehicle points; At least two historical pick-up points of the two thresholds are used as candidate pick-up points.
- the generation module further includes a recall unit, a scoring unit, a sorting unit, and a selection unit; wherein: a recall unit is configured to recall a distance from the current user based on the current position of the user according to a first preset rule The points of interest whose positions are within the third threshold range; the scoring unit is used to process the feature data of the points of interest by using a machine learning model to obtain the score of the points of interest; the sorting unit is used to perform the scoring of the points of interest. Sorting; a selection unit, used to select at least one point of interest ahead of the sorting as a candidate pick-up point.
- the first preset rule includes the distance to the current location of the user and the popularity of the point of interest.
- the feature data of the point of interest includes attribute features, relationship features with the user's current location, and user portraits.
- the system further includes a machine learning model training module, the machine learning model training module is configured to: obtain training samples; wherein the training samples include a score of training points of interest and at least one of the following features: user location , the distance between the training point of interest and the user's position, the popularity of the training point of interest, the attribute features of the training point of interest, the relationship between the training point of interest and the user's position, and the user's portrait; the scoring mark of the training point of interest is used as a reference score. ; Train an initial model based on the training samples and the labeling results to obtain the machine learning model.
- the display module is further configured to display the candidate pickup points to the user in a list form.
- the user selecting one of the candidate pick-up point information among the at least one candidate pick-up point information includes the user selecting by means of touch screen or voice recognition.
- the recommendation module is further configured to: if the candidate pick-up point selected by the user is the historical pick-up point, display the historical pick-up point as a recommended pick-up point to the user; Alternatively, if the candidate boarding point selected by the user is the point of interest, a recommended boarding point is selected and displayed to the user through the point of interest.
- the recommending module is further configured to: acquire charging points of historical orders related to the point of interest; based on the charging points, determine a distance from the charging point within a fourth threshold range The initial pick-up point; the feature data of the initial pick-up point is processed by the pick-up point recommendation model, and the best initial pick-up point is obtained as the recommended pick-up point and displayed to the user.
- the characteristic data of the initial pick-up point includes: local popularity, global popularity, distance between the initial pick-up point and the point of interest, and distance between the initial pick-up point and the user.
- Another aspect of the present application provides a system for recommending a pick-up point, the system includes a processor and a memory; the memory is used for storing instructions, and when the instructions are executed by the processor, the system causes the system to implement the present invention.
- the operation corresponding to the method for recommending a pick-up point described in any embodiment of the application is applied.
- Another aspect of the present application provides a computer-readable storage medium, the storage medium stores computer instructions, and after the computer reads the computer instructions in the storage medium, the computer executes the method for recommending a pickup point described in any embodiment of the present application .
- FIG. 1 is a schematic diagram of an application scenario of a recommended pick-up point system according to some embodiments of the present application
- FIG. 2 is a schematic diagram of an exemplary computing device shown in accordance with some embodiments of the present application.
- FIG. 3 is a schematic diagram of exemplary hardware and/or software components of an exemplary mobile device shown in accordance with some embodiments of the present application;
- FIG. 4 is a block diagram of a recommended pick-up point system according to some embodiments of the present application.
- FIG. 5 is an exemplary flowchart of a method for recommending a pick-up point according to some embodiments of the present application
- FIG. 6 is an exemplary flowchart of a method for generating information on candidate pickup points according to some embodiments of the present application
- FIG. 7 is an exemplary flowchart of a method for training a machine learning model according to some embodiments of the present application.
- system means for distinguishing different components, elements, parts, parts or assemblies at different levels.
- device means for converting signals into signals.
- unit means for converting signals into signals.
- module means for converting signals into signals.
- the embodiments of the present application can be applied to different transportation systems, for example, taxis, special cars, rides, buses, chauffeurs, and the like.
- the terms “passenger”, “customer”, “passenger terminal”, “customer”, “demander”, “service demander”, “service requester”, “consumer”, “consumer”, “customer” described in this application "Users who demand” and so on are interchangeable, and refer to the party who needs or orders the service, which can be an individual or a tool.
- the "user” described in this application can also be mutually In other words, it refers to individuals, tools or other entities that provide services or assist in providing services.
- the "user” described in this application may be a party who needs or subscribes to a service, or a party who provides services or assists in providing services.
- pick-up point in this application may refer to a location where a service provider picks up a service requester.
- a service provider may pick up a service requester at an intersection and deliver the service requester to the service requester's destination. The intersection is the pickup point for this service.
- the term “billing point” in this application may refer to the location where the service provider clicks "start billing" after being picked up by the service requester. The location of the pick-up point and the billing point can be the same or close to each other.
- “Historical pick-up points” in this application may include the service requester's pick-up points in one or more historical orders prior to the current service request.
- a "candidate pick-up point” in the present application may include a potential pick-up location where the service requester receives a pickup service from the service provider.
- FIG. 1 is a schematic diagram of an application scenario of the recommended pick-up point system 100 according to some embodiments of the present application.
- the pick-up point recommendation system 100 may recommend pick-up points to the passengers, and guide the passengers to select a suitable pick-up point.
- the recommended pickup system 100 may be a service platform for the Internet or other networks.
- the recommended pick-up point system 100 may be an online service platform that provides services for transportation.
- the recommended pick-up point system 100 may be applied to online car-hailing services, such as taxi calls, express calls, car calls, minibus calls, carpooling, bus services, driver hiring and pickup services, and the like.
- the recommended pick-up point system 100 may also be applied to chauffeur-driven, express delivery, takeaway, and the like.
- the recommended pick-up point system 100 may also be applied to the field of travel (eg, travel) services.
- the recommended pickup point system 100 may include a server 110 , a service requester terminal 120 , a storage device 130 , a service provider terminal 140 , a network 150 and an information source 160 .
- the server 110 may be used to process information and/or data related to service requests, eg, to process service requests for online ride-hailing. Specifically, the server may receive the service request from the service requester terminal 120 and process the service request to recommend the pickup point to the service requester terminal 120 .
- server 110 may be a single server or a group of servers. The server farm may be centralized or distributed (eg, server 110 may be a distributed system). In some embodiments, server 110 may be local or remote. For example, the server 110 may access information and/or data stored in the storage device 130 , the service requester terminal 120 through the network 150 . As another example, server 110 may be directly connected to storage device 130, service requester terminal 120 to access stored information and/or data.
- server 110 may be implemented on a cloud platform.
- the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, multiple clouds, etc., or any combination of the foregoing examples.
- the server 110 may be implemented on the computing device shown in FIG. 2 of the present application.
- server 110 may be implemented on a computing device 200 as shown in FIG. 2 , including one or more components of computing device 200 .
- server 110 may include processing engine 112 .
- the processing engine 112 may process data and/or information related to recommended pickup points to perform one or more of the functions described herein. For example, the processing engine 112 may receive the car use request signal sent by the service requester terminal 120, and send the recommended pick-up point to the user. In some embodiments, the processing engine 112 may obtain the current location of the user. In some embodiments, the processing engine 112 may generate at least one candidate pickup point information based on the current location of the user. In some embodiments, the processing engine 112 may display at least one candidate pickup point information to the user. In some embodiments, the processing engine 112 may receive a user selection of one of the at least one candidate pickup point information.
- processing engine 112 may display the recommended pickup point to the user based on one of the candidate pickup point information selected by the user.
- processing engine 112 may include one or more processing engines (eg, a single-chip processing engine or a multi-chip processor).
- the processing engine 112 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), a graphics processing unit (GPU), a physical processing unit (PPU), digital signal processing device (DSP), field programmable gate array (FPGA), programmable logic device (PLD), controller, microcontroller unit, reduced instruction set computer (RISC), microprocessor, etc., or any combination of the above.
- CPU central processing unit
- ASIC application specific integrated circuit
- ASIP application specific instruction set processor
- GPU graphics processing unit
- PPU physical processing unit
- DSP digital signal processing device
- FPGA field programmable gate array
- PLD programmable logic device
- controller microcontroller unit, reduced instruction set computer (RISC), microprocessor,
- service requester terminal 120 and/or service provider terminal 140 may be a person, tool, or other entity directly related to the request.
- a user can be a service requester.
- “user” and “user terminal” can be used interchangeably.
- Drivers can be service providers.
- “driver” and “driver terminal” are used interchangeably.
- the service requester terminal 120 may include a mobile device 120-1, a tablet computer 120-2, a laptop computer 120-3, an in-vehicle device 120-4 in a motor vehicle, the like, or any combination thereof.
- the mobile device 120-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, the like, or any combination thereof.
- smart home devices may include smart lighting devices, smart appliance control devices, smart monitoring devices, smart TVs, smart cameras, walkie-talkies, etc., or any combination thereof.
- the wearable device may include smart bracelets, smart footwear, smart glasses, smart helmets, smart watches, smart wear, smart backpacks, smart accessories, etc., or any combination thereof.
- an intelligent mobile device may include a smartphone, personal digital assistant (PDA), gaming device, navigation device, point of sale (POS), etc., or any combination thereof.
- the virtual reality device and/or augmented reality device may include a virtual reality headset, virtual reality glasses, virtual reality goggles, augmented virtual reality headset, augmented reality glasses, augmented reality goggles, etc., or any combination thereof.
- virtual reality devices and/or augmented reality devices may include Google Glass, Oculus Rift, HoloLens, or Gear VR, among others.
- the onboard equipment 120-4 in the motor vehicle may include an onboard computer, an onboard television, and the like.
- the service requester terminal 120 may be a device with positioning technology for locating the service requester and/or the location of the service requester terminal 120 .
- service provider terminal 140 may be a similar or the same device as service requester terminal 120 .
- the service provider terminal 140 may be a device having positioning technology for determining the location of the service provider or service provider terminal 140 .
- service requester terminal 120 and/or service provider terminal 140 may communicate with another positioning device to determine the Location.
- the service requester terminal 120 and/or the service provider terminal 140 may send the location information to the server 110 .
- Storage device 130 may store data and/or instructions related to service requests. In some embodiments, storage device 130 may store data obtained/obtained from service requester terminal 120 and/or service provider terminal 140 . In some embodiments, storage device 130 may store data and/or instructions for server 110 to perform or use to accomplish the example methods described in this application. In some embodiments, storage device 130 may include mass storage, removable storage, volatile read-write memory, read-only memory (ROM), the like, or any combination thereof. Exemplary mass storage may include magnetic disks, optical disks, solid state disks, and the like. Exemplary removable storage may include flash drives, floppy disks, optical disks, memory cards, compact disks, magnetic tapes, and the like. Exemplary volatile read only memory may include random access memory (RAM).
- RAM random access memory
- Exemplary RAMs may include dynamic RAM (DRAM), double rate synchronous dynamic RAM (DDR SDRAM), static RAM (SRAM), thyristor RAM (T-RAM), zero capacitance RAM (Z-RAM), and the like.
- Exemplary ROMs may include mask ROM (MROM), programmable ROM (PROM), erasable programmable ROM (PEROM), electronically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM), and digital Universal disk ROM, etc.
- the storage device 130 may be implemented on a cloud platform.
- the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an internal cloud, a multi-layer cloud, etc., or any combination thereof.
- storage device 130 may be connected to network 150 to communicate with one or more components in recommended pickup system 100 (eg, server 110, service requester terminal 120, service provider terminal 140). One or more components in suggested pickup system 100 may access data or instructions stored in storage device 130 via network 150 .
- storage device 130 may be in direct connection or communication with one or more components in recommended pickup system 100 (eg, server 110, service requester terminal 120, service provider terminal 140, etc.). In some embodiments, storage device 130 may be part of server 110 .
- Network 150 may facilitate the exchange of information and/or data.
- one or more components in recommended pickup point system 100 eg, server 110 , service requester terminal 120 , storage device 130 , and service provider terminal 140
- Other components in point system 100 send and/or receive information and/or data.
- the server 110 may obtain/obtain a service request from the service requester terminal 120 and/or the service provider terminal 140 through the network 150 .
- network 150 may be any form of wired or wireless network or any combination thereof.
- the network 150 may include a cable network, a wired network, a fiber optic network, a telecommunications network, an internal network, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), Wide Area Network (WAN), Public Switched Telephone Network (PSTN), Bluetooth Network, Zigbee Network, Near Field Communication (NFC) Network, Global System for Mobile Communications (GSM) Network, Code Division Multiple Access (CDMA) Network, Time Division Multiple Access ( TDMA) networks, General Packet Radio Service (GPRS) networks, Enhanced Data Rates for GSM Evolution (EDGE) networks, Wideband Code Division Multiple Access (WCDMA) networks, High Speed Downlink Packet Access (HSDPA) networks, Long Term Evolution (LTE) network, User Datagram Protocol (UDP) network, Transmission Control Protocol/Internet Protocol (TCP/IP) network, Short Message Service (SMS) network, Wireless Application Protocol (WAP) network, Ultra Wideband (
- recommended pickup point system 100 may include one or more network access points.
- suggested pickup system 100 may include wired or wireless network access points, such as base stations and/or wireless access points 150-1, 150-2, . . . , and one or more components of suggested pickup system 100 may be accessed through It is connected to the network 150 to exchange data and/or information.
- Information source 160 is a source for providing additional information to recommended pickup system 100 .
- the information source 160 may be used to provide service-related information, such as weather conditions, traffic information, legal and regulatory information, news events, life information, life guide information, etc., for the recommended pickup system 100 .
- Information source 160 may be implemented in a single central server, multiple servers connected by communication links, or multiple personal devices. When the information source 160 is implemented in multiple personal devices, the personal devices may generate content (eg, referred to as "user-generated content"), eg, by uploading text, speech, images, and video to a cloud server.
- Information sources can be generated by multiple personal devices and cloud servers.
- FIG. 2 is a schematic diagram of an exemplary computing device 200 shown in accordance with some embodiments of the present application.
- Server 110 service requester terminal 120 , storage device 130 , service provider terminal 140 , and/or information source 160 may be implemented on computing device 200 .
- the processing engine 112 may be implemented on the computing device 200 and configured to implement the functions disclosed in this application.
- Computing device 200 may include any of the components used to implement the systems described herein.
- processing engine 112 may be implemented on computing device 200 by hardware, software programs, firmware, or a combination thereof. Only one computer is shown in the figure for convenience, but the computing functions described in this application in relation to the recommended pick-up point system 100 may be implemented in a distributed manner by a group of similar platforms to spread the processing load of the system .
- Computing device 200 may include a communications port 250 connected to a network for enabling data communications.
- Computing device 200 may include a processor (eg, CPU) 220, which may execute program instructions in the form of one or more processors.
- Exemplary computer platforms may include an internal bus 210, various forms of program memory and data memory including, for example, hard disk 270, read only memory (ROM) 230, or random access memory (RAM) 240, for storing processes processed by the computer. and/or various data files transferred.
- Exemplary computing devices may include program instructions stored in read-only memory 230, random access memory 240, and/or other types of non-transitory storage media for execution by processor 220. The methods and/or processes of the present application may be implemented in the form of program instructions.
- Computing device 200 also includes input/output components 260 for supporting input/output between the computer and other components. Computing device 200 may also receive programs and data in this disclosure through network communications.
- the computing device 200 in this application may include multiple processors, so operations and/or methods described in this application implemented by one processor may also be implemented by multiple processors collectively or independently accomplish.
- the processor of the computing device 200 performs steps 1 and 2
- steps 1 and 2 may also be performed jointly or independently by two different processors of the computing device 200 (eg, the first processor performs step 1 and the second processor performs step 2, or the first and second processors perform both steps 1 and 2 collectively).
- mobile device 300 may include communication unit 310 , display unit 320 , graphics processing unit (GPU) 330 , central processing unit (CPU) 340 , I/O 350 , memory 360 and storage 390 .
- CPU 340 may include interface circuitry and processing circuitry similar to processor 220 .
- any other suitable components including but not limited to a system bus or controller (not shown), may also be included within mobile device 300 .
- a mobile operating system 370 eg, IOS TM , Android TM , Windows Phone TM, etc.
- applications 380 may be loaded from memory 390 into memory 360 for execution by CPU 340 .
- Application 380 may include a browser or any other suitable mobile application for receiving and presenting information related to service requests or other information from a location-based service providing system on mobile device 300 .
- User interaction with the information flow may be accomplished through I/O devices 350 and provided to processing engine 112 and/or other components of suggested pickup system 100 through network 150 .
- a computer hardware platform may be used as a hardware platform for one or more elements (eg, the modules of the server 110 depicted in FIG. 2 ). Since these hardware elements, operating systems and programming languages are common, it can be assumed that those skilled in the art are familiar with these techniques and that they are able to provide the information needed in route planning according to the techniques described herein.
- a computer with a user interface can be used as a personal computer (PC) or other type of workstation or terminal device. After proper programming, a computer with a user interface can be used as a server. It is believed that those skilled in the art will also be familiar with the structure, procedures or general operation of this type of computer equipment. Therefore, no additional explanation is described with respect to the drawings.
- FIG. 4 is a block diagram of a recommended pick-up point system according to some embodiments of the present application.
- the system 400 may include an acquiring module 410 , a generating module 420 , a displaying module 430 , a receiving module 440 and a recommending module 450 .
- the obtaining module 410 can be used to obtain the current location of the user.
- the current location of the user may be the location where the user initiates the service request.
- the current location may include the name of the current location and/or the location coordinates of the current location. More descriptions about obtaining the current location of the user can be found in the flowchart 5 and its description, which will not be repeated here.
- the generating module 420 may be configured to generate at least one candidate pick-up point information based on the current location of the user.
- the generating module 420 may be configured to generate at least one candidate pick-up point information based on the current location of the user after detecting a triggering operation for opening an application. In some embodiments, the generation module 420 may be configured to detect whether the user is operating on the application within a time threshold: if not, generate at least one candidate pickup point information based on the current location of the user.
- the at least one candidate pickup point may include a historical pickup point.
- the generating module 420 may include an order obtaining unit 421 and a pickup point determining unit 422 .
- the order obtaining unit 421 may be used to obtain historical order data of the user.
- the pickup point determination unit 422 may be configured to determine candidate pickup points based on the user's current location and historical order data.
- the candidate pick-up points may include the user's historical pick-up points within a first threshold range from the user's current location.
- the boarding point determining unit 422 may sort the at least two historical boarding points, and select at least two which are ranked higher and whose distance is greater than the second threshold.
- a historical pick-up point is used as a candidate pick-up point.
- the at least one candidate pickup point may further include a Point of Interest (POI).
- the generating module 420 may further include a recall unit 423 , a scoring unit 424 , a sorting unit 425 and a selection unit 426 .
- the recall unit 423 may be configured to recall points of interest whose distances from the current position are within a second threshold range according to a first preset rule based on the current position of the user.
- the first preset rule may include the distance to the user's current location and the popularity of the point of interest.
- the scoring unit 424 may be configured to process the feature data of the point of interest by using a machine learning model to obtain a score of the point of interest.
- the feature data of the point of interest may include attribute features, relationship features with the user's current location, user portraits, and the like.
- the sorting unit 425 may be used to sort the scores of the points of interest. Specifically, it can be sorted from high to low according to the scoring results of the points of interest.
- the selection unit 426 may be configured to select at least one point of interest ranked first as a candidate pickup point.
- the display module 430 may be configured to display the at least one candidate pickup point information to the user.
- the display module 430 may also be used to display the candidate pickup points to the user in a list form. More descriptions about displaying at least one candidate pick-up point information can be found in the flowchart 5 and its description, which will not be repeated here.
- the receiving module 440 may be configured to receive information on one of the at least one candidate boarding point selected by the user.
- the user selecting one of the candidate pick-up point information among the at least one candidate pick-up point information includes the user's selection by means of touch screen click or voice recognition.
- the recommendation module 450 may be configured to display the recommended pick-up point to the user based on the information of one of the candidate pick-up points selected by the user.
- the recommending module 450 may display the historical pick-up point as a recommended pick-up point to the user.
- the display page may include introduction of specific location information of the pickup point, such as latitude and longitude coordinates, nearby landmark buildings, and the like.
- the recommendation module 450 may select a recommended pick-up point through the point of interest and display it to the user.
- the recommendation module 450 can obtain the charging point of the historical order related to the point of interest; and based on the charging point, determine one or more initial boarding points that are within a fourth threshold range from the charging point; And use the pick-up point recommendation model to process the characteristic data of the initial pick-up point to obtain the best initial pick-up point and display it to the user as the recommended pick-up point.
- the characteristic data of the initial pickup point may include local popularity, global popularity, the distance between the original pickup point and the point of interest, and the distance between the original pickup point and the user.
- system 400 may further include a machine learning model training module 460 for training an initial model to obtain a machine learning model.
- the machine learning model training module 460 can be used to obtain training samples, wherein the training samples include the score of the training points of interest and at least one of the following features: user location, the distance between the training point of interest and the user location, the training point of interest The popularity of the training interest points, the attribute characteristics of the training interest points, the relationship characteristics between the training interest points and the user's location, and the user portrait; the score mark of the training interest point is used as a reference score; described machine learning model.
- system and its modules shown in FIG. 4 can be implemented in various ways.
- the system and its modules may be implemented in hardware, software, or a combination of software and hardware.
- the hardware part can be realized by using dedicated logic;
- the software part can be stored in a memory and executed by a suitable instruction execution system, such as a microprocessor or specially designed hardware.
- a suitable instruction execution system such as a microprocessor or specially designed hardware.
- the methods and systems described above may be implemented using computer-executable instructions and/or embodied in processor control code, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware) ) or a data carrier such as an optical or electronic signal carrier.
- the system and its modules of the present application can not only be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc. , can also be implemented by, for example, software executed by various types of processors, and can also be implemented by a combination of the above-mentioned hardware circuits and software (eg, firmware).
- the above description of the recommended pick-up point system and its modules is only for the convenience of description, and does not limit the present application to the scope of the illustrated embodiments. It can be understood that for those skilled in the art, after understanding the principle of the system, various modules may be combined arbitrarily, or a subsystem may be formed to connect with other modules without departing from the principle.
- the scoring unit 424 and the sorting unit 425 may be the same unit.
- the machine learning model training module 460 may be removed from the system 400, or the machine learning model training module 460 may be placed in another system. Such deformations are all within the protection scope of the present application.
- FIG. 5 is an exemplary flowchart of a method for recommending a pickup point according to some embodiments of the present application. As shown in FIG. 5 , the method 500 for recommending a pickup point may include:
- Step 510 Obtain the current location of the user. Specifically, this step 510 may be performed by the obtaining module 410.
- the current location of the user may be the location where the user initiates the service request through the service requester terminal 120 .
- the user may enter current location information in the service requester terminal 120 .
- the method of inputting the current location information may be text, voice or manual selection of the positioning location.
- the service requester terminal 120 may also obtain the current location information of the user through a positioning technology.
- Positioning technology may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), Beidou Navigation System (COMPASS), Galileo Positioning System, Quasi-Zenith Satellite System (QZSS), Wireless Fidelity (Wi-Fi) positioning technology, etc. or any combination thereof.
- the current location information may include the name of the current location and/or the location coordinates of the current location.
- the obtaining module 410 may obtain the current location information of the user from the service requester terminal 120 .
- Step 520 based on the current location of the user, generate at least one candidate pick-up point information. Specifically, this step 520 may be performed by the generating module 420 .
- the generating module 420 may generate at least one candidate pick-up point information based on the current location of the user after detecting the triggering operation of the user to open the application.
- the triggering operation for opening the application may be an instruction that the user clicks to open the application.
- the generation module 420 can also detect whether the user is operating on the application within a time threshold.
- the time threshold may be set according to human experience, or may be set by default by the system, and may be adjusted according to different situations. For example, the time threshold can be set to 1 second, 2 seconds or 3 seconds. If no further operation by the user on the program is detected within the time threshold, the generating module 420 may generate at least one candidate pickup point information based on the current location of the user. The at least one candidate pick-up point information can be used to actively display to the user for the user to select.
- At least one candidate pick-up point information can be generated, so that the user does not need to perform further operations after opening the application.
- the at least one candidate pickup point may include a historical pickup point.
- the generation module 420 may acquire the user's historical order data, and based on the user's current location and the historical order data, sort the distances between the historical pick-up points in the historical order data and the user's current location, and sort the distances according to the user's current location. The sorting results determine candidate pickup points.
- the historical order data may include all the order data in the history of the user, or only the order data within a certain time interval before the current time point.
- the historical order data may include historical order time, the user's historical pick-up point or the user's historical drop-off point, and the like.
- the candidate pickup points may include the user's historical pickup points that are within a first threshold range from the user's current location.
- the first threshold may be set according to human experience, or may be set by default by the system. For example, the first threshold may be set to 100 meters, 150 meters or 200 meters.
- the generating module 420 may directly determine the historical boarding point as a candidate boarding point.
- the generating module 420 may also sort the historical vehicle boarding points, and select at least two historical vehicle boarding points that are ranked higher and whose distance is greater than the second threshold as a candidate pick-up point.
- the sorting of the historical pickup points of the user may be based on the size of the distance between the historical pickup point and the current position of the user.
- the second threshold may be set according to human experience, or may be set by default by the system. For example, the second threshold may be set to 20 meters, 25 meters or 30 meters.
- the user's current position is point O
- Point A, Point B, Point C, and Point D respectively, you can first select point A as the candidate boarding point; if the distance between point A and point B is 18 meters, and the distance between point A and point C is 35 meters, then Point C can be selected as the candidate pick-up point; if the distance between point C and point D is 15 meters, point D is not selected as the candidate pick-up point; if the distance between point C and point D is 40 meters, point D is selected as the pick-up point.
- the at least one candidate pickup point may also include a point of interest related to the user's current location.
- the generation module 420 may recall points of interest that are within a second threshold range from the current position according to a first preset rule based on the current position of the user; and process the features of the points of interest by using a machine learning model Data, get the scores of the corresponding interest points and sort them, and select at least one interest point in the top ranking as a candidate pick-up point. More content about generating at least one candidate pick-up point based on the points of interest in the area can be found in FIG. 6 and its description of the present application, which will not be repeated here.
- Step 530 displaying at least one candidate pick-up point information to the user. Specifically, this step 530 may be performed by the display module 430 .
- the candidate pickup point information may be displayed on the service requester terminal 120 in the form of a list.
- the candidate pick-up points in the list may include historical pick-up points and points of interest, and the historical pick-up points are preferentially displayed in the list. Specifically, in the list, the historical pick-up points can be sorted earlier, and the interest points can be sorted later, so that the user can quickly select his preferred historical pick-up point.
- the number of candidate pickup points in the list may be preset, for example, 8 or 10. In some embodiments, the number of historical vehicle points and points of interest in the list may also be preset, for example, the number of historical vehicle points and points of interest may be 2, and the number of points of interest may be 8.
- 10 candidate pick-up points can be displayed in the list
- the top 2 pick-up points can be historical pick-up points
- the bottom 8 pick-up points can be points of interest.
- points of interest may be used to supplement the number to reach the preset number of candidate pickup points in the list.
- the candidate pick-up point information may include a candidate pick-up point name, a detailed address, and a prompt mark.
- the prompt indicia may include a text indicia next to the name of the pick-up candidate. For example, mark the word "frequent" next to the name of a historical point of interest, or mark “recommended” or “candidate” next to the name of a point of interest.
- the historical pick-up points and points of interest in the candidate pick-up point information may also be displayed using different fonts and/or colors. For example, points of interest have historically been displayed in larger and/or bolder fonts than points of interest.
- the fonts of historical vehicle points are displayed in orange, and the fonts of points of interest are displayed in black or gray.
- the prompt mark may also include an icon next to the candidate pickup point. For example, historical points of interest are marked with a "clock" symbol, and points of interest are marked with a "pin" symbol.
- Step 540 Receive information on one candidate boarding point among the at least one candidate boarding point information selected by the user. Specifically, this step 540 may be performed by the receiving module 440 .
- the user selecting one of the candidate boarding point information among the at least one candidate boarding point information may include the user's selection through touch screen selection or voice recognition.
- the user can select one of the candidate pick-up points from the list of candidate pick-up points by clicking on the screen.
- the user may input the name of one of the candidate pick-up points by voice for selection.
- one of the candidate pick-up points selected by the user may be a historical pick-up point or a point of interest.
- the receiving module 440 may receive information on one of the candidate pickup points selected by the user.
- Step 550 based on the information of one of the candidate pick-up points selected by the user, display the recommended pick-up point to the user. Specifically, this step 550 may be performed by the recommendation module 450 .
- the historical pick-up point may be displayed to the user as a recommended pick-up point.
- the historical pick-up point selected by the user may be displayed at the position of the starting point (or the pick-up point) in the operation interface of the application program.
- the display page may include introduction of specific location information of the pickup point, such as latitude and longitude coordinates, nearby landmark buildings, and the like.
- the recommended pick-up point may be selected and displayed to the user through the point of interest.
- the display page may include an introduction to the specific location information of the pickup point, such as latitude and longitude coordinates, nearby landmark buildings, and the like.
- the charging point in the historical order related to the point of interest can be obtained; and based on the charging point, the initial pick-up point within the fourth threshold range from the charging point can be determined; and the pick-up point recommendation model can be used
- the characteristic data of the initial boarding point is processed, and the optimal initial boarding point is obtained and displayed to the user as the recommended boarding point.
- the charging points for historical orders related to the point of interest may include charging points for historical orders that are within a preset range (eg, 200 meters) from the point of interest.
- the fourth threshold may be a preset value, for example, 100 meters.
- the initial pick-up point may be a location suitable for picking up the vehicle, for example, an intersection, a gate of a community, or the gate of other buildings.
- the pick-up point recommendation model may include a LambdaRank model, and the LambdaRank model may be pre-trained from historical data.
- the characteristic data of the initial pickup point may include local popularity, global popularity, the distance between the original pickup point and the point of interest, and the distance between the original pickup point and the user.
- the global popularity is the popularity of users from different locations choosing a certain location as the pick-up point.
- the local heat is the heat from other users within a preset range (eg, 40 meters) from the initial pick-up point to the pick-up point.
- the optimal initial pick-up point may be the initial pick-up point that is most suitable as the recommended pick-up point.
- the walking navigation route may also be determined according to the current location of the user and the location of the recommended pick-up point, and the walking navigation route is displayed on the service requester terminal 120 .
- the estimated walking time for the user to reach the recommended pick-up point may also be determined according to the user's current location and the location of the recommended pick-up point.
- the estimated pickup time of the service provider may also be determined according to the current location of the service provider (eg, the driver) and the location of the recommended pickup point.
- the user's expected walking duration and the driver's expected pick-up duration may be compared, and if the user's expected walking duration is greater than or equal to the driver's expected pickup and boarding, a reminder message is displayed on the service requester terminal 120, Remind users to go to the recommended pick-up point as soon as possible.
- steps 520 and 530 may be combined into one step, and based on the current location of the user, when at least one candidate pick-up point information is determined, at least one candidate pick-up point information is displayed to the user at the same time.
- the sizes of the first threshold, the second threshold, and the fourth threshold may be adjusted according to actual needs, and are not limited to the situations listed in the embodiments.
- FIG. 6 is an exemplary flowchart of a method for generating information on candidate pickup points according to some embodiments of the present application. As shown in FIG. 6 , the method 600 for generating the candidate boarding point information may include:
- Step 610 Based on the current position of the user, recall points of interest whose distances from the current position are within a second threshold range according to a first preset rule. Specifically, this step 610 may be performed by the recall unit 423 .
- a point of interest may be a point of geographic information including name, category, longitude and latitude. The relevant description about the current location of the user can be found in the flowchart 5 and its description, which will not be repeated here.
- the first preset rule may include the distance to the user's current location and the popularity of the point of interest.
- the popularity of a point of interest may include local popularity and/or global popularity. Relevant descriptions about local heat and/or global heat can be found in the flowchart 5 and its description, which will not be repeated here.
- the third threshold may be set according to human experience, or may be set by default by the system. For example, the third threshold may be set to 200 meters, 300 meters or 400 meters.
- the recall unit 423 may recall points of interest whose distances from the current location are within a third threshold range according to a first preset rule based on the current location of the user.
- the points of interest may be one or more.
- Step 620 using a machine learning model to process the feature data of the point of interest to obtain a score of the point of interest. Specifically, this step 620 may be performed by the scoring unit 424 .
- the feature data of the point of interest may include attribute features, relationship features with the user's current location, and user portraits.
- the attribute feature of the POI may include a combination of one or more of the name of the POI, the type of the POI, and the popularity of the POI.
- the relationship between the point of interest and the current location of the user may include the distance between the point of interest and the current location of the user or whether it is located on the same side of the road.
- the user profile may include user basic information or preference data for pickup points.
- basic user information may include gender, age, occupation, credit history, identity information or bank account.
- the preference data for the pickup point may include a preference for pickup at an intersection or a preference for pickup at a building door.
- scoring unit 424 may extract relevant feature data for points of interest. For example, the relationship between points of interest and the user's current location.
- the machine learning model may comprise a neural network model.
- the neural network model may include Convolutional Recurrent Neural Network (CRNN), Convolutional Neural Networks (CNN), Deep Convolutional Neural Networks (DCNN) , Recurrent neural networks (RNN) or Long/Short Term Memory (LSTM) models, etc.
- CRNN Convolutional Recurrent Neural Network
- CNN Convolutional Neural Networks
- DCNN Deep Convolutional Neural Networks
- RNN Recurrent neural networks
- LSTM Long/Short Term Memory
- the machine learning model may be a pre-trained and ready-to-use model. More descriptions about the machine learning model training method can be found elsewhere in this application (eg, in flowchart 7 and its related descriptions), which will not be repeated here.
- the scoring unit 424 may use a machine learning model to process the feature data of the points of interest and output a scoring result of the points of interest.
- Step 630 Sort the scores of the points of interest. Specifically, this step 630 may be performed by the sorting unit 425 .
- the scoring results may be sorted from high to low based on points of interest. Specifically, according to the scoring results of the points of interest, the points of interest with high scores are ranked first, and the points of interest with low scores are ranked last.
- Step 640 Select at least one POI in the top ranking as a candidate pickup point. Specifically, this step 640 may be performed by the selection unit 426 .
- the candidate pickup points may be displayed on the service requester terminal 120 .
- the selection unit 426 may select the top-ranked one or more points of interest as candidate pickup points.
- step 620 and step 630 may be combined into one step, and after obtaining the scores of the points of interest, the scoring results of the points of interest may be sorted at the same time.
- the size of the third threshold may be adjusted according to actual needs, and is not limited to the situations listed in the embodiments.
- FIG. 7 is an exemplary flowchart of a method for training a machine learning model according to some embodiments of the present application.
- the machine learning model training method 700 may include:
- Step 710 Obtain a training sample; wherein the training sample includes the score of the training interest point and at least one of the following features: user location, the distance between the training interest point and the user position, the popularity of the training interest point, and the attribute feature of the training interest point , the relationship between the training point of interest and the user's position, and the user's portrait; the scoring mark of the training point of interest is used as a reference score.
- this step 710 may be performed by the machine learning model training module 460 .
- the training samples may include scores for the training points of interest and feature information related to the training points of interest.
- the feature information related to the training POI may include the user's position, the distance between the training POI and the user's position, the popularity of the training POI, the attribute characteristics of the training POI, and the relationship between the training POI and the user's position.
- One or more characteristics in a characteristic or persona may be preprocessed to meet the requirements of model training. Preprocessing methods may include format conversion, normalization, identification, etc.
- the machine learning model training module 460 may also label the acquired training samples.
- the scores of training interest points can be marked as reference scores. For example, in a certain training sample, it is known that the score of the training interest point is 85 points, and the training sample can be marked as 85 points.
- the scores of the training samples can be obtained through questionnaires. For example, a certain number of training interest points can be selected in advance and scored by means of manual questionnaires. For another example, multiple scoring results for a certain training interest point may be the scoring results by calculating an average value (eg, an arithmetic average or a weighted average).
- the labeling process of the training samples may be performed manually or by a computer program.
- the training samples may also be divided into training sets and validation sets. Specifically, the training samples may be divided according to a certain proportion. For example, the split ratio can be 80% for the training set and 20% for the validation set.
- Step 720 Train the initial model based on the training samples and the labeling results to obtain a machine learning model. Specifically, this step 720 may be performed by the machine learning model training module 460 .
- the initial model may be a neural network model.
- the neural network model may include Convolutional Recurrent Neural Network (CRNN), Convolutional Neural Networks (CNN), Deep Convolutional Neural Networks (DCNN) , Recurrent neural networks (RNN), Long/Short Term Memory (LSTM) models, etc.
- the initial model can adjust the internal parameters according to the training situation.
- a loss function can also be constructed based on the prediction result of the model and the real value of the sample, and the parameters in the model can be adjusted inversely based on the gradient value of the loss function to optimize the model.
- the sample data in the validation set may be input into the trained model for calculation, and output values (ie, validation results) may be obtained, and according to the validation results (eg, the model is under-fitting and and/or overfitting state) to adjust the model parameters to optimize the model.
- the data in the validation set is independent and identically distributed with the training data of the initial model, and there is no intersection. Compare the verification results of the sample data with the identification of the corresponding sample data to determine whether the training results meet the requirements. If the training results do not meet the requirements, re-prepare the sample data or re-divide the training set and validation set to continue training. If the training results meet the requirements, you can stop the model training and output the final model as the desired machine learning model.
- the above description about the process 700 is only for example and illustration, and does not limit the scope of application of the present application.
- Various modifications and changes to the process 700 may be made to those skilled in the art under the guidance of the present application. However, such corrections and changes are still within the scope of this application.
- the training samples in step 710 may be divided into the training set and the validation set according to other ratios.
- the possible beneficial effects of the embodiments of the present application include but are not limited to: (1) Based on the current position of the user and the candidate boarding point selected by the user, recommending the boarding point for the user, which can make the recommended boarding point more accurate and suitable The user arrives; (2) the user can get a suitable pick-up point recommendation without entering a search term and only need to perform a click or other simple selection operation, which saves the user's time for inputting the pick-up point and improves the user experience.
- different embodiments may have different beneficial effects, and in different embodiments, the possible beneficial effects may be any one or a combination of the above, or any other possible beneficial effects.
- aspects of this application may be illustrated and described in several patentable categories or situations, including any new and useful process, machine, product, or combination of matter, or combinations of them. of any new and useful improvements. Accordingly, various aspects of the present application may be performed entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software.
- the above hardware or software may be referred to as a "data block”, “module”, “engine”, “unit”, “component” or “system”.
- aspects of the present application may be embodied as a computer product comprising computer readable program code embodied in one or more computer readable media.
- a computer storage medium may contain a propagated data signal with the computer program code embodied therein, for example, on baseband or as part of a carrier wave.
- the propagating signal may take many forms, including electromagnetic form, optical form, etc., or a suitable combination.
- Computer storage media can be any computer-readable media other than computer-readable storage media that can communicate, propagate, or transmit a program for use by coupling to an instruction execution system, apparatus, or device.
- Program code on a computer storage medium may be transmitted over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or a combination of any of the foregoing.
- the computer program code required for the operation of the various parts of this application may be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python Etc., conventional procedural programming languages such as C language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
- the program code may run entirely on the user's computer, or as a stand-alone software package on the user's computer, or partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any network, such as a local area network (LAN) or wide area network (WAN), or to an external computer (eg, through the Internet), or in a cloud computing environment, or as a service Use eg software as a service (SaaS).
- LAN local area network
- WAN wide area network
- SaaS software as a service
Landscapes
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Navigation (AREA)
Abstract
一种推荐上车点的方法。所述方法包括:获取用户的当前位置;基于所述用户的当前位置,生成至少一个候选上车点信息;向所述用户显示所述至少一个候选上车点信息;接收所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息;基于所述用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点。所述方法基于用户的当前位置和用户选择的候选上车点,为用户推荐上车点,用户不需输入检索词只需要进行一次点选或者其他简单的选择操作即可得到合适的上车点推荐,使得推荐上车点更准确、更适合用户到达,并且节省了用户的时间,提升了用户的体验效果。
Description
交叉引用
本申请要求2020年7月3日提交的中国申请号202010630125.8的优先权,其全部内容通过引用并入本文。
本申请涉及出行领域,特别涉及一种推荐上车点的方法和系统。
随着科技的快速发展,人们通过在线打车服务平台打车出行已经成为一种普遍现象,并且随着智能化服务的快速发展,人们的出行也越来越便利和高效。为了使服务提供者(例如,司机)能够在较短的时间内接载到服务请求者(例如,乘客)以提高效率,为服务请求者推荐合适的上车点至关重要。因此,有必要提供一种推荐上车点的方法和系统。
发明内容
本申请的一个方面提供一种推荐上车点的方法。所述方法包括:获取用户的当前位置;基于所述用户的当前位置,生成至少一个候选上车点信息;向所述用户显示所述至少一个候选上车点信息;接收所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息;基于所述用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点。
在一些实施例中,所述基于所述用户的当前位置,生成至少一个候选上车点信息包括:检测到打开应用程序的触发操作后,基于所述用户的当前位置,生成至少一个候选上车点信息;或者检测在时间阈值内用户是否在应用程序上进行操作:若否,则基于所述用户的当前位置,生成至少一个候选上车点信息。
在一些实施例中,所述基于所述用户的当前位置,生成至少一个候选上车点信息包括:获取所述用户的历史订单数据;基于所述用户的当前位置和所述历史订单数据,确定候选上车点。
在一些实施例中,所述候选上车点包括距离所述用户当前位置在第一阈值范围内的历史上车点。
在一些实施例中,所述基于所述用户的当前位置和所述历史订单数据,确定候 选上车点包括:若所述历史上车点包括至少两个:对所述至少两个历史上车点进行排序;选择排序靠前且距离大于第二阈值的至少两个历史上车点作为候选上车点。
在一些实施例中,所述基于所述用户的当前位置,生成至少一个候选上车点信息还包括:基于所述用户的当前位置,按照第一预设规则召回距离所述当前位置在第三阈值范围内的兴趣点;利用机器学习模型处理所述兴趣点的特征数据,得到所述兴趣点的评分;对所述兴趣点的评分进行排序;选择排序靠前的至少一个兴趣点作为候选上车点。
在一些实施例中,所述第一预设规则包括与所述用户的当前位置的距离和所述兴趣点的热度。
在一些实施例中,所述兴趣点的特征数据包括属性特征、与所述用户当前位置的关系特征和用户画像。
在一些实施例中,所述机器学习模型通过以下方法获得:获取训练样本;其中,训练样本包括训练兴趣点的评分和以下特征中至少一个:用户位置、训练兴趣点与所述用户位置的距离、训练兴趣点的热度、训练兴趣点的属性特征、训练兴趣点与用户位置的关系特征、用户画像;将所述训练兴趣点的评分标记作为参考评分;基于所述训练样本及标记结果训练初始模型得到所述机器学习模型。
在一些实施例中,所述向所述用户显示所述至少一个候选上车点信息包括以列表形式向所述用户显示所述候选上车点。
在一些实施例中,所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息包括用户通过触屏点选或者语音识别的方式选择。
在一些实施例中,所述基于所述用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点包括:若所述用户选择的候选上车点为所述历史上车点,将所述历史上车点作为推荐上车点显示给所述用户;或者,若所述用户选择的候选上车点为所述兴趣点,通过所述兴趣点选取推荐上车点显示给所述用户。
在一些实施例中,所述通过所述兴趣点选取推荐上车点显示给所述用户包括:获取与所述兴趣点相关的历史订单的计费点;基于所述计费点,确定距离所述计费点在第四阈值范围内的初始上车点;利用上车点推荐模型处理所述初始上车点的特征数据,得到最佳初始上车点作为推荐上车点显示给所述用户。
在一些实施例中,所述初始上车点的特征数据包括:局部热度、全局热度、初 始上车点与所述兴趣点的距离以及初始上车点与所述用户的距离。
本申请的另一方面提供一种推荐上车点的系统。所述系统包括:获取模块,用于获取用户的当前位置;生成模块,用于基于所述用户的当前位置,生成至少一个候选上车点信息;显示模块,用于向所述用户显示所述至少一个候选上车点信息;接收模块,用于接收所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息;推荐模块,用于基于所述用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点。
在一些实施例中,所述生成模块用于检测到打开应用程序的触发操作后,基于所述用户的当前位置,生成至少一个候选上车点信息;或者所述生成模块用于检测在时间阈值内用户是否在应用程序上进行操作:若否,则基于所述用户的当前位置,生成至少一个候选上车点信息。
在一些实施例中,所述生成模块还包括订单获取单元和上车点生成单元;其中:订单获取单元,用于获取所述用户的历史订单数据;上车点确定单元,用于基于所述用户的当前位置和所述历史订单数据,确定候选上车点。
在一些实施例中,所述候选上车点包括距离所述用户当前位置在第一阈值范围内的历史上车点。
在一些实施例中,所述上车点确定单元还用于:若所述历史上车点包括至少两个:对所述至少两个历史上车点进行排序;选择排序靠前且距离大于第二阈值的至少两个历史上车点作为候选上车点。
在一些实施例中,所述生成模块还包括召回单元、评分单元、排序单元和选择单元;其中:召回单元,用于基于所述用户的当前位置,按照第一预设规则召回距离所述当前位置在第三阈值范围内的兴趣点;评分单元,用于利用机器学习模型处理所述兴趣点的特征数据,得到所述兴趣点的评分;排序单元,用于对所述兴趣点的评分进行排序;选择单元,用于选择排序靠前的至少一个兴趣点作为候选上车点。
在一些实施例中,所述第一预设规则包括与所述用户的当前位置的距离和所述兴趣点的热度。
在一些实施例中,所述兴趣点的特征数据包括属性特征、与所述用户当前位置的关系特征和用户画像。
在一些实施例中,所述系统还包括机器学习模型训练模块,所述机器学习模型 训练模块用于:获取训练样本;其中,训练样本包括训练兴趣点的评分和以下特征中至少一个:用户位置,训练兴趣点与所述用户位置的距离、训练兴趣点的热度、训练兴趣点的属性特征、训练兴趣点与用户位置的关系特征、用户画像;将所述训练兴趣点的评分标记作为参考评分;基于所述训练样本及标记结果训练初始模型得到所述机器学习模型。
在一些实施例中,所述显示模块还用于以列表形式向所述用户显示所述候选上车点。
在一些实施例中,所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息包括用户通过触屏点选或者语音识别的方式选择。
在一些实施例中,所述推荐模块还用于:若所述用户选择的候选上车点为所述历史上车点,将所述历史上车点作为推荐上车点显示给所述用户;或者,若所述用户选择的候选上车点为所述兴趣点,通过所述兴趣点选取推荐上车点显示给所述用户。
在一些实施例中,所述推荐模块还用于:获取与所述兴趣点相关的历史订单的计费点;基于所述计费点,确定距离所述计费点在第四阈值范围内的初始上车点;利用上车点推荐模型处理所述初始上车点的特征数据,得到最佳初始上车点作为推荐上车点显示给所述用户。
在一些实施例中,所述初始上车点的特征数据包括:局部热度、全局热度、初始上车点与所述兴趣点的距离以及初始上车点与所述用户的距离。
本申请的另一方面提供一种推荐上车点的系统,所述系统包括处理器以及存储器;所述存储器用于存储指令,所述指令被所述处理器执行时,导致所述系统实现本申请任一实施例所述推荐上车点方法对应的操作。
本申请的另一方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行本申请任一实施例所述推荐上车点方法。
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的推荐上车点系统的应用场景示意图;
图2是根据本申请的一些实施例所示的示例性计算设备的示意图;
图3是根据本申请的一些实施例所示的示例性移动设备的示例性硬件和/或软件组件的示意图;
图4是根据本申请一些实施例所示的推荐上车点系统的模块图;
图5是根据本申请一些实施例所示的推荐上车点的方法的示例性流程图;
图6是根据本申请一些实施例所示的候选上车点信息生成方法的示例性流程图;
图7是根据本申请一些实施例所示的机器学习模型训练方法的示例性流程图。
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请的实施例可以应用于不同的运输系统,例如,出租车、专车、顺风车、巴士、代驾等。本申请描述的“乘客”、“乘客端”、“乘客终端”、“顾客”、“需求者”、“服务需求者”、“服务请求者”、“消费者”、“消费方”、“使用需求者”等是可以互换的,是指需要或者订购服务的一方,可以是个人,也可以是工具。同样地,本申请描述的“司机”、“司机端”、“司机终端”、“提供者”、“供应者”、“服 务提供者”、“服务者”、“服务方”等也是可以互换的,是指提供服务或者协助提供服务的个人、工具或者其他实体等。另外,本申请描述的“用户”可以是需要或者订购服务的一方,也可以是提供服务或者协助提供服务的一方。
本申请中的术语“上车点”可以指服务提供者接载到服务请求者的位置。例如,在在线打车服务中,服务提供者可以接载在十字路口的服务请求者,并且将服务请求者送到该服务请求者的目的地。十字路口即为该服务的上车点。本申请中的术语“计费点”可以指服务提供者接载到服务请求者后点击“开始计费”的位置。上车点和计费点的位置可以相同或相距较近。本申请中的“历史上车点”可以包括服务请求者在当前服务请求前的一个或以上历史订单中的上车点。本申请中的“候选上车点”可以包括服务请求者接收服务提供者提供接载服务的潜在上车位置。
图1是根据本申请的一些实施例所示的推荐上车点系统100的应用场景示意图。推荐上车点系统100可以向乘客推荐上车点,引导乘客选择合适的上车点。推荐上车点系统100可以是用于互联网或者其它网络的服务平台。例如,推荐上车点系统100可以是为交通运输提供服务的线上服务平台。在一些实施例中,推荐上车点系统100可以应用于网约车服务,例如出租车呼叫、快车呼叫、专车呼叫、小巴呼叫、拼车、公交服务、司机雇佣和接送服务等。在一些实施例中,推荐上车点系统100还可以应用于代驾、快递、外卖等。在另一些实施例中,推荐上车点系统100还可以应用于出行(如旅游)服务领域。推荐上车点系统100可以包括服务器110、服务请求者终端120、存储设备130、服务提供者终端140、网络150和信息源160。
在一些实施例中,服务器110可以用于处理与服务请求有关的信息和/或数据,例如,用于处理在线打车的服务请求。具体的,服务器可以从服务请求者终端120接收服务请求,并处理该服务请求以向服务请求者终端120推荐上车点。在一些实施例中,服务器110可以是单个的服务器或者服务器群组。所述服务器群可以是集中式的或分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络150访问存储在存储设备130、服务请求者终端120中的信息和/或数据。再例如,服务器110可以直接连接到存储设备130、服务请求者终端120以访问存储的信息和/或数据。在一些实施例中,服务器110可以在一个云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或上述举例的任意组合。在一些实施例中,服务器110 可以在与本申请图2所示的计算设备上实现。例如,服务器110可以在如图2所示的一个计算设备200上实现,包括计算设备200中的一个或多个部件。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可处理与推荐上车点有关的数据和/或信息以执行一个或多个本申请中描述的功能。例如,处理引擎112可以接收服务请求者终端120发送的用车请求信号,向用户发送推荐上车点。在一些实施例中,处理引擎112可以获取用户的当前位置。在一些实施例中,处理引擎112可以基于用户的当前位置,生成至少一个候选上车点信息。在一些实施例中,处理引擎112可以向用户显示至少一个候选上车点信息。在一些实施例中,处理引擎112可以接收用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息。在一些实施例中,处理引擎112可以基于用户选择的其中一个候选上车点信息,向用户显示推荐上车点。在一些实施例中,处理引擎112可以包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理器)。仅作为示例,处理引擎112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或以上任意组合。
在一些实施例中,服务请求者终端120和/或服务提供者终端140可以是与请求直接相关的个人、工具或其他实体。用户可以是服务请求者。在本申请中,“用户”、“用户终端”可以互换使用。司机可以是服务提供者。在本申请中,“司机”、“司机终端”可以互换使用。在一些实施例中,服务请求者终端120可以包括移动设备120-1、平板电脑120-2、笔记本电脑120-3、以及机动车辆中的车载设备120-4等或其任意组合。在一些实施例中,移动设备120-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等或其任意组合。在一些实施例中,可穿戴设备可以包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能穿着、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强型虚拟现实头盔、 增强现实眼镜、增强现实眼罩等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google Glass、Oculus Rift、HoloLens或Gear VR等。在一些实施例中,机动车辆中的车载设备120-4可以包括车载计算机、车载电视等。在一些实施例中,服务请求者终端120可以是具有定位技术的设备,用于定位服务请求者和/或服务请求者终端120的位置。
在一些实施例中,服务提供者终端140可以与服务请求者终端120类似或相同的设备。在一些实施例中,服务提供者终端140可以是具有用于确定服务提供者或者服务提供者终端140位置的定位技术的装置。在一些实施例中,服务请求者终端120和/或服务提供者终端140可以与另一定位设备通信以确定服务请求者、服务请求者终端120、服务提供者和/或服务提供者终端140的位置。在一些实施例中,服务请求者终端120和/或服务提供者终端140可以将定位信息发送到服务器110。
存储设备130可以存储与服务请求相关的数据和/或指令。在一些实施例中,存储设备130可以存储从服务请求者终端120和/或服务提供者终端140获得/获取的数据。在一些实施例中,存储设备130可以存储服务器110用于执行或使用来完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备130可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性的大容量储存器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性的挥发性只读存储器可以包括随机存取内存(RAM)。示例性的RAM可包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、闸流体RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性的ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(PEROM)、电子可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用磁盘ROM等。在一些实施例中,所述存储设备130可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储设备130可以连接到网络150以与推荐上车点系统100中的一个或以上组件(例如,服务器110、服务请求者终端120、服务提供者终端140)通信。推荐上车点系统100中的一个或以上组件可以通过网络150访问存储设备130中存储的数据或指令。在一些实施例中,存储设备130可以与推荐上车点系统100中的一 个或以上组件(例如,服务器110、服务请求者终端120、服务提供者终端140等)直接连接或通信。在一些实施例中,存储设备130可以是服务器110的一部分。
网络150可以促进信息和/或数据的交换。在一些实施例中,推荐上车点系统100中的一个或以上组件(例如,服务器110、服务请求者终端120、存储设备130和服务提供者终端140)可以通过网络150向/从推荐上车点系统100中的其他组件发送和/或接收信息和/或数据。例如,服务器110可以通过网络150从服务请求者终端120和/或服务提供者终端140获得/获取服务请求。在一些实施例中,网络150可以为任意形式的有线或无线网络或其任意组合。仅作为示例,网络150可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通讯(NFC)网络、全球移动通讯系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等或其任意组合。在一些实施例中,推荐上车点系统100可以包括一个或以上网络接入点。例如,推荐上车点系统100可以包括有线或无线网络接入点,例如基站和/或无线接入点150-1、150-2、…,推荐上车点系统100的一个或以上组件可以通过其连接到网络150以交换数据和/或信息。
信息源160是用于为推荐上车点系统100提供其他信息的来源。信息源160可以用于为推荐上车点系统100提供与服务相关的信息,例如,天气情况、交通信息、法律法规信息、新闻事件、生活资讯、生活指南信息等。信息源160可以在单个中央服务器、通过通信链路连接的多个服务器或多个个人设备中实现。当信息源160在多个个人设备中实现时,个人设备可以生成内容(例如,被称为“用户生成内容”),例如,通过将文本、语音、图像和视频上载到云服务器。信息源可以由多个个人设备和云服务器生成。
图2是根据本申请的一些实施例所示的示例性计算设备200的示意图。服务器110、服务请求者终端120、存储设备130、服务提供者终端140和/或信息源160可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实现并被配置为实 现本申请中所披露的功能。
计算设备200可以包括用来实现本申请所描述的系统的任意部件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。为了方便起见图中仅绘制了一台计算机,但是本申请所描述的与推荐上车点系统100相关的计算功能可以以分布的方式、由一组相似的平台所实施,以分散系统的处理负荷。
计算设备200可以包括与网络连接的通信端口250,用于实现数据通信。计算设备200可以包括一个处理器(例如,CPU)220,可以以一个或多个处理器的形式执行程序指令。示例性的电脑平台可以包括一个内部总线210、不同形式的程序存储器和数据存储器包括,例如,硬盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于存储由计算机处理和/或传输的各种各样的数据文件。示例性的计算设备可以包括存储在只读存储器230、随机存取存储器240和/或其他类型的非暂时性存储介质中的由处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200也包括输入/输出部件260,用于支持电脑与其他部件之间的输入/输出。计算设备200也可以通过网络通讯接收本披露中的程序和数据。
为理解方便,图2中仅示例性绘制了一个处理器。然而,需要注意的是,本申请中的计算设备200可以包括多个处理器,因此本申请中描述的由一个处理器实现的操作和/或方法也可以共同地或独立地由多个处理器实现。例如,如果在本申请中,计算设备200的处理器执行步骤1和步骤2,应当理解的是,步骤1和步骤2也可以由计算设备200的两个不同的处理器共同地或独立地执行(例如,第一处理器执行步骤1,第二处理器执行步骤2,或者第一和第二处理器共同地执行步骤1和步骤2)。
图3是根据本申请的一些实施例所示的可以在其上实现服务请求者终端120或服务提供者终端140的示例性移动设备300的示例性硬件和/或软件组件的示意图。如图3所示,移动设备300可以包括通信单元310、显示单元320、图形处理单元(GPU)330、中央处理单元CPU)340、I/O 350、内存360和存储器390。CPU 340可以包括接口电路和类似于处理器220的处理电路。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,移动操作系统370(例如,IOS
TM、Android
TM、Windows Phone
TM等)和一个或以上应用程序380可以从存储器390加载到内存360中,以便由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从移动设备300上的基于位置的 服务提供系统接收和呈现与服务请求或其他信息有关的信息。用户与信息流的交互可以通过I/O设备350实现,并通过网络150提供给处理引擎112和/或推荐上车点系统100的其他组件。
为了实现上述各种模块、单元及其功能,计算机硬件平台可以用作一个或以上元件(例如,图2中描述的服务器110的模块)的硬件平台。由于这些硬件元件、操作系统和程序语言是常见的,因此可以假设本领域技术人员熟悉这些技术并且他们能够根据本文中描述的技术提供路线规划中所需的信息。具有用户界面的计算机可以用作个人计算机(PC)或其他类型的工作站或终端设备。在正确编程之后,具有用户界面的计算机可以用作服务器。可以认为本领域技术人员也可以熟悉这种类型的计算机设备的这种结构、程序或一般操作。因此,没有针对附图描述额外的解释。
图4是根据本申请一些实施例所示的推荐上车点系统的模块图。如图4所示,该系统400可以包括获取模块410、生成模块420、显示模块430、接收模块440和推荐模块450。
获取模块410可以用于获取用户的当前位置。
在一些实施例中,用户的当前位置可以是用户发起服务请求时所在的位置。在一些实施例中,该当前位置可以包括当前位置的名称和/或当前位置的位置坐标。关于获取用户的当前位置的更多描述可以在流程图5及其描述中找到,在此不作赘述。
生成模块420可以用于基于所述用户的当前位置,生成至少一个候选上车点信息。
在一些实施例中,生成模块420可以用于检测到打开应用程序的触发操作后,基于所述用户的当前位置,生成至少一个候选上车点信息。在一些实施例中,生成模块420可以用于检测在时间阈值内用户是否在应用程序上进行操作:若否,则基于所述用户的当前位置,生成至少一个候选上车点信息。
在一些实施例中,至少一个候选上车点可以包括历史上车点。在一些实施例中,生成模块420可以包括订单获取单元421和上车点确定单元422。在一些实施例中,订单获取单元421可以用于获取用户的历史订单数据。在一些实施例中,上车点确定单元422可以用于基于用户的当前位置和历史订单数据,确定候选上车点。在一些实施例中,候选上车点可以包括距离所述用户当前位置在第一阈值范围内的用户历史上车点。在一些实施例中,若用户历史上车点包括至少两个,上车点确定单元422可以对该至少两个 历史上车点进行排序,并选择排序靠前且距离大于第二阈值的至少两个历史上车点作为候选上车点。
在一些实施例中,至少一个候选上车点还可以包括兴趣点(Point of Interest,POI)。在一些实施例中,生成模块420还可以包括召回单元423、评分单元424、排序单元425和选择单元426。召回单元423可以用于基于用户的当前位置,按照第一预设规则召回距离所述当前位置在第二阈值范围内的兴趣点。在一些实施例中,第一预设规则可以包括与用户的当前位置的距离和兴趣点的热度。评分单元424可以用于利用机器学习模型处理兴趣点的特征数据,得到所述兴趣点的评分。在一些实施例中,兴趣点的特征数据可以包括属性特征、与用户当前位置的关系特征和用户画像等。排序单元425可以用于对所述兴趣点的评分进行排序。具体的,可以根据兴趣点的评分结果从高到低排序。选择单元426可以用于选择排序靠前的至少一个兴趣点作为候选上车点。
显示模块430可以用于向用户显示所述至少一个候选上车点信息。
在一些实施例中,显示模块430还可以用于以列表形式向用户显示候选上车点。关于显示至少一个候选上车点信息的更多描述可以在流程图5及其描述中找到,在此不作赘述。
接收模块440可以用于接收用户选择至少一个候选上车点信息中的其中一个候选上车点信息。
在一些实施例中,用户选择至少一个候选上车点信息中的其中一个候选上车点信息包括用户通过触屏点选或者语音识别的方式选择。
推荐模块450可以用于基于用户选择的其中一个候选上车点信息,向用户显示推荐上车点。
在一些实施例中,若用户在候选上车点列表中选择的候选上车点为历史上车点,推荐模块450可以将该历史上车点作为推荐上车点显示给用户。在一些实施例中,该显示页面可以包括上车点的具体位置信息介绍,例如经纬度坐标、附近标志性建筑物等。在一些实施例中,若用户在候选上车点列表中选择的候选上车点为兴趣点,推荐模块450可以通过该兴趣点选取推荐上车点显示给用户。具体的,推荐模块450可以获取与该兴趣点相关的历史订单的计费点;并基于该计费点,确定距离该计费点在第四阈值范围内的一个或多个初始上车点;以及利用上车点推荐模型处理该初始上车点的特征数据,得到最佳初始上车点作为推荐上车点显示给用户。在一些实施例中,初始上车点的特征 数据可以包括局部热度、全局热度、初始上车点与该兴趣点的距离以及初始上车点与该用户的距离。
在一些实施例中,该系统400还可以包括机器学习模型训练模块460,用于训练初始模型得到机器学习模型。
具体的,机器学习模型训练模块460可以用于获取训练样本;其中,训练样本包括训练兴趣点的评分和以下特征中至少一个:用户位置,训练兴趣点与所述用户位置的距离、训练兴趣点的热度、训练兴趣点的属性特征、训练兴趣点与用户位置的关系特征、用户画像;将所述训练兴趣点的评分标记作为参考评分;并基于所述训练样本及标记结果训练初始模型得到所述机器学习模型。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于推荐上车点系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,评分单元424和排序单元425可以为同一个单元。又例如,机器学习模型训练模块460可以从系统400中移除,或者将机器学习模型训练模块460设置在另一系统中。诸如此类的变形,均在本申请的保护范围之内。
图5是根据本申请一些实施例所示的推荐上车点的方法的示例性流程图。如图5所示,该推荐上车点的方法500可以包括:
步骤510,获取用户的当前位置。具体的,该步骤510可以由获取模块410执 行。
在一些实施例中,用户的当前位置可以为用户通过服务请求者终端120发起服务请求时所在的位置。在一些实施例中,用户可以在服务请求者终端120中输入当前位置信息。例如,输入当前位置信息的方式可以是文字、语音或手动选取定位位置的方式。在一些实施例中,服务请求者终端120还可以通过定位技术获取用户的当前位置信息。定位技术可以包括全球定位系统(GPS)、全球卫星导航系统(GLONASS)、北斗导航系统(COMPASS)、伽利略定位系统、准天顶卫星系统(QZSS)、无线保真(Wi-Fi)定位技术等或其任意组合。在一些实施例中,该当前位置信息可以包括当前位置的名称和/或当前位置的位置坐标。在一些实施例中,获取模块410可以从服务请求者终端120中获取用户的当前位置信息。
步骤520,基于用户的当前位置,生成至少一个候选上车点信息。具体的,该步骤520可以由生成模块420执行。
在一些实施例中,生成模块420可以在检测到用户打开应用程序的触发操作后,基于用户的当前位置,生成至少一个候选上车点信息。打开应用程序的触发操作可以是用户点击打开应用程序的指令。在一些实施例中,生成模块420还可以检测在时间阈值内用户是否在应用程序上进行操作。在一些实施例中,时间阈值可以根据人为经验设置,也可以为系统默认设置,并可以根据不同情况进行调整。例如,时间阈值可以设置为1秒、2秒或3秒。若在时间阈值内未检测到用户在程序上的进一步操作,生成模块420可以基于用户的当前位置,生成至少一个候选上车点信息。该至少一个候选上车点信息,可以用于主动向用户进行显示以供用户进行选择。
通过检测用户打开应用程序的触发操作或者在时间阈值内用户未在应用程序上进行操作时,即可生成至少一个候选上车点信息,可以使用户在打开应用程序后,不需要进一步操作即可浏览到至少一个候选上车点信息并可以进一步进行选择,减少了用户主动点击“上车点”框去更改上车点或主动输入检索词以请求系统推荐候选上车点的繁琐操作,为用户提供了便利,提高了用户在打车时的体验度。
在一些实施例中,至少一个候选上车点可以包括历史上车点。在一些实施例中,生成模块420可以获取用户的历史订单数据,并基于用户的当前位置和历史订单数据,将历史订单数据中的历史上车点与用户的当前位置的距离进行排序,并根据排序结果确定候选上车点。在一些实施例中,历史订单数据可以包括该用户历史上所有的订单数据, 或者仅包括当前时间点之前某一段时间间隔内的订单数据。在一些实施例中,历史订单数据可以包括历史订单时间、用户的历史上车点或用户的历史下车点等。在一些实施例中,候选上车点可以包括距离用户当前位置在第一阈值范围内的用户的历史上车点。在一些实施例中,第一阈值可以根据人为经验设置,也可以为系统默认设置。例如,第一阈值可以设置为100米、150米或200米。在一些实施例中,用户的历史上车点可以为一个或多个。在一些实施例中,若用户的历史上车点为一个,生成模块420可以将该历史上车点直接确定为候选上车点。在一些实施例中,若用户的历史上车点为多个,生成模块420还可以对该历史上车点进行排序,并选择排序靠前且距离大于第二阈值的至少两个历史上车点作为候选上车点。在一些实施例中,对用户的历史上车点进行排序可以为根据该历史上车点与用户当前位置距离的大小进行排序。在一些实施例中,第二阈值可以根据人为经验设置,也可以为系统默认设置。例如,第二阈值可以设置为20米、25米或30米。例如,取第一阈值为200米、第二阈值为30米,用户当前位置为O点,与用户当前位置距离小于200米的历史上车点有4个,按其与O点的距离大小排序分别为A点、B点、C点和D点,可以首先选取A点为候选上车点;若A点和B点的距离为18米、A点和C点的距离为35米,则还可以选取C点为候选上车点;若C点和D点的距离为15米,则不选取D点为候选上车点;若C点和D点的距离为40米,则选取D点为候选上车点,以此类推。
在一些实施例中,至少一个候选上车点还可以包括与用户当前位置相关的兴趣点。在一些实施例中,生成模块420可以基于用户的当前位置,按照第一预设规则召回距离所述当前位置在第二阈值范围内的兴趣点;并利用机器学习模型处理所述兴趣点的特征数据,得到相应的兴趣点的评分并进行排序,选择排序靠前的至少一个兴趣点作为候选上车点。关于基于区域内的兴趣点生成至少一个候选上车点的更多内容可以在本申请图6及其描述中找到,在此不作赘述。
步骤530,向用户显示至少一个候选上车点信息。具体的,该步骤530可以由显示模块430执行。
在一些实施例中,候选上车点信息可以以列表形式显示在服务请求者终端120上。在一些实施例中,该列表中的候选上车点可以包括历史上车点和兴趣点,在列表中优先展示历史上车点。具体的,在列表中历史上车点可以排序靠前、兴趣点可以排序靠后,以便用户能够快速选择其更偏好的历史上车点。在一些实施例中,该列表中候选上 车点的数量可以为预先设定,例如,8个或10个。在一些实施例中,该列表中历史上车点和兴趣点的数量也可以为预先设定,例如,历史上车点可以为2个,兴趣点可以为8个。例如,在列表中可以展示10个候选上车点,排序靠前的2个可以为历史上车点,排序靠后的8个可以为兴趣点。在一些实施例中,当历史上车点的数量不足预先设定的数量时,则可以用兴趣点进行补充,以达到列表中预先设定的候选上车点数量。
在一些实施例中,候选上车点信息可以包括候选上车点名称、详细地址和提示标记。在一些实施例中,提示标记可以包括候选上车点名称旁的文字标记。例如,在历史上车点名称旁标记“常用”字样,或在兴趣点名称旁标记“推荐”或“候选”字样。在一些实施例中,候选上车点信息中的历史上车点与兴趣点还可以使用不同的字体和/或颜色进行显示。例如,历史上车点比兴趣点的显示字体加大和/或加粗。又例如,历史上车点的字体用橙色显示,兴趣点的字体用黑色或灰色显示。在一些实施例中,提示标记还可以包括候选上车点旁的图标。例如,历史上车点旁用“时钟”符号标记,兴趣点旁用“定位针”符号标记。
步骤540,接收用户选择至少一个候选上车点信息中的其中一个候选上车点信息。具体的,该步骤540可以由接收模块440执行。
在一些实施例中,用户选择至少一个候选上车点信息中的其中一个候选上车点信息可以包括用户通过触屏点选或者语音识别的方式选择。例如,用户可以通过点击屏幕从候选上车点列表中选择其中一个候选上车点。又例如,用户可以通过语音输入其中一个候选上车点的名称以进行选择。在一些实施例中,用户选择的其中一个候选上车点可以为历史上车点或兴趣点。在一些实施例中,接收模块440可以接收用户选择的其中一个候选上车点信息。
步骤550,基于用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点。具体的,该步骤550可以由推荐模块450执行。
在一些实施例中,若用户选择的其中一个候选上车点为历史上车点时,则可以将该历史上车点作为推荐上车点显示给用户。具体的,可以在应用程序的操作界面中起点(或上车点)位置处显示用户选择的历史上车点。在一些实施例中,该显示页面可以包括上车点的具体位置信息介绍,例如经纬度坐标、附近标志性建筑物等。
在一些实施例中,若用户选择的其中一个候选上车点为兴趣点时,则可以通过兴趣点选取推荐上车点显示给用户。在一些实施例中,该显示页面可以包括上车点的具 体位置信息介绍,例如经纬度坐标、附近标志性建筑物等。具体的,可以获取与兴趣点相关的历史订单中的计费点;并基于该计费点,确定距离该计费点在第四阈值范围内的初始上车点;并利用上车点推荐模型处理初始上车点的特征数据,得到最佳初始上车点作为推荐上车点显示给用户。在一些实施例中,与兴趣点相关的历史订单的计费点可以包括与该兴趣点的距离在预设范围(如,200米)内的历史订单的计费点。在一些实施例中,第四阈值可以为预先设定的值,例如,100米。在一些实施例中,初始上车点可以为适合上车的地点,例如,路口、小区门口或其他建筑物门口。在一些实施例中,上车点推荐模型可以包括LambdaRank模型,LambdaRank模型可以由历史数据预先训练得到。在一些实施例中,初始上车点的特征数据可以包括局部热度、全局热度、初始上车点与所述兴趣点的距离以及初始上车点与所述用户的距离。全局热度是来自不同地点的用户都选择某一地点作为上车点的热度。局部热度是从距离初始上车点预设范围(如,40米)内的其他用户到该上车点上车的热度。在一些实施例中,最佳初始上车点可以为最适合作为推荐上车点的初始上车点。
在一些实施例中,还可以根据用户的当前位置和推荐上车点的位置,确定步行导航路径,并在服务请求者终端120上显示步行导航路径。在一些实施例中,还可以根据用户的当前位置和推荐上车点的位置,确定用户到达推荐上车点的预计步行时长。在一些实施例中,还可以根据服务提供者(如,司机)的当前位置和推荐上车点的位置,确定服务提供者的预计接驾时长。在一些实施例中,可以比较用户的预计步行时长和司机的预计接驾时长,如果用户的预计步行时长大于或者等于司机的预计接驾上车,则在服务请求者终端120上显示提醒信息,提醒用户尽快前往推荐上车点。
通过在用户打开应用程序时,主动显示至少一个候选上车点供用户选择,并在用户选择了候选上车点后,进一步生成推荐上车点并显示给用户,减少了用户主动点击“上车点”框去更改上车点或主动输入检索词以请求系统推荐候选上车点的繁琐操作,为用户提供了便利。并且根据用户选择的候选上车点,进一步生成推荐上车点,使得推荐上车点更符合用户的偏好或更便于用户到达。应当注意的是,上述有关流程500的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程500进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤520和步骤530可以合并为一个步骤,基于用户的当前位置,在确定至少一个候选上车点信息时,同时向用户显示至少一个候选上车点信息。又 例如,第一阈值、第二阈值和第四阈值的大小可以根据实际需要进行调整,不限于实施例中所列举的情形。
图6是根据本申请一些实施例所示的候选上车点信息生成方法的示例性流程图。如图6所示,该候选上车点信息生成方法600可以包括:
步骤610,基于用户的当前位置,按照第一预设规则召回距离所述当前位置在第二阈值范围内的兴趣点。具体的,该步骤610可以由召回单元423执行。
在一些实施例中,兴趣点可以是包括名称、类别、经纬度的地理信息点。关于用户的当前位置的相关描述可以在流程图5及其描述中找到,在此不作赘述。在一些实施例中,第一预设规则可以包括与用户的当前位置的距离和兴趣点的热度。在一些实施例中,兴趣点的热度可以包括局部热度和/或全局热度。关于局部热度和/或全局热度的相关描述可以在流程图5及其描述中找到,在此不作赘述。在一些实施例中,第三阈值可以根据人为经验设置,也可以为系统默认设置。例如,第三阈值可以设置为200米、300米或400米。在一些实施例中,召回单元423可以基于用户的当前位置,按照第一预设规则召回距离所述当前位置在第三阈值范围内的兴趣点。在一些实施例中,该兴趣点可以为一个或多个。
步骤620,利用机器学习模型处理兴趣点的特征数据,得到所述兴趣点的评分。具体的,该步骤620可以由评分单元424执行。
在一些实施例中,兴趣点的特征数据可以包括属性特征、与用户当前位置的关系特征和用户画像。在一些实施例中,兴趣点的属性特征可以包括兴趣点的名称、兴趣点的类型和兴趣点的热度等中的一种或多种的组合。在一些实施例中,兴趣点与用户当前位置的关系特征可以包括兴趣点与用户当前位置的距离或是否位于道路同侧。在一些实施例中,用户画像可以包括用户基本信息或对上车点的偏好数据。在一些实施例中,用户基本信息可以包括性别、年龄、职业、征信记录、身份信息或银行账户。在一些实施例中,对上车点的偏好数据可以包括偏好于路口上车或者偏好于建筑物门口上车。在一些实施例中,评分单元424可以提取兴趣点的相关特征数据。例如,兴趣点与用户的当前位置的关系特征。
在一些实施例中,机器学习模型可以包括神经网络模型。在一些实施例中,神经网络模型可以包括卷积循环神经网络(Convolutional Recurrent Neural Network,CRNN)、卷积神经网络(Convolutional neural networks,CNN)、深度卷积神经网络 (Deep Convolutional Neural Networks,DCNN)、循环神经网络(Recurrent neural networks,RNN)或长短期记忆(Long/Short Term Memory,LSTM)模型等。
在一些实施例中,机器学习模型可以为提前训练好且可以直接使用的模型。关于机器学习模型训练方法的更多描述可以在本申请的其他地方(如流程图7及其相关描述中)找到,在此不作赘述。在一些实施例中,评分单元424可以利用机器学习模型处理兴趣点的特征数据并输出兴趣点的评分结果。
步骤630,对所述兴趣点的评分进行排序。具体的,该步骤630可以由排序单元425执行。
在一些实施例中,可以基于兴趣点的评分结果从高到低进行排序。具体的,根据兴趣点的评分结果,将评分高的兴趣点排序在前,评分低的兴趣点排序在后。
步骤640,选择排序靠前的至少一个兴趣点作为候选上车点。具体的,该步骤640可以由选择单元426执行。
在一些实施例中,候选上车点可以显示在服务请求者终端120上。在一些实施例中,选择单元426可以选择排序靠前的一个或多个兴趣点作为候选上车点。
应当注意的是,上述有关流程600的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程600进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤620和步骤630可以合并为一个步骤,可以得到兴趣点的评分后,同时对兴趣点的评分结果进行排序。又例如,第三阈值的大小可以根据实际需要进行调整,不限于实施例中所列举的情形。
图7是根据本申请一些实施例所示的机器学习模型训练方法的示例性流程图。如图7所示,该机器学习模型训练方法700可以包括:
步骤710,获取训练样本;其中,训练样本包括训练兴趣点的评分和以下特征中至少一个:用户位置,训练兴趣点与所述用户位置的距离、训练兴趣点的热度、训练兴趣点的属性特征、训练兴趣点与用户位置的关系特征、用户画像;将所述训练兴趣点的评分标记作为参考评分。具体的,该步骤710可以由机器学习模型训练模块460执行。
在一些实施例中,训练样本可以包括训练兴趣点的评分和与训练兴趣点相关的特征信息。在一些实施例中,与训练兴趣点相关的特征信息可以包括用户位置、训练兴趣点与用户位置间的距离、训练兴趣点的热度、训练兴趣点的属性特征、训练兴趣点与 用户位置的关系特征或用户画像中的一个或多个特征。在一些实施例中,可以对所获取的训练样本进行预处理,使其符合模型训练的要求。预处理方法可以包括格式转换、归一化、标识等。
在一些实施例中,机器学习模型训练模块460还可以对获取的训练样本进行标记。具体的,可以将训练兴趣点的评分标记为参考评分。例如,在某一训练样本中,已知训练兴趣点的评分为85分,则可以将该训练样本标记为85分。在一些实施例中,训练样本的评分可以通过问卷调查的获取。例如,可以提前选取一定数量的训练兴趣点,通过人工问卷调查的方式进行评分。又例如,对于某个训练兴趣点的多个评分结果可以通过求均值(如,算数平均值或加权平均值)的结果作为其评分结果。在一些实施例中,训练样本的标记过程可以通过人工或计算机程序进行。
在一些实施例中,还可以将训练样本进行划分,划分为训练集和验证集。具体的,可以对训练样本按一定的比例进行划分。例如,划分比例可以是训练集80%、验证集20%。
步骤720,基于训练样本及标记结果训练初始模型得到机器学习模型。具体的,该步骤720可以由机器学习模型训练模块460执行。
在一些实施例中,初始模型可以是神经网络模型。在一些实施例中,神经网络模型可以包括卷积循环神经网络(Convolutional Recurrent Neural Network,CRNN)、卷积神经网络(Convolutional neural networks,CNN)、深度卷积神经网络(Deep Convolutional Neural Networks,DCNN)、循环神经网络(Recurrent neural networks,RNN)、长短期记忆模型(Long/Short Term Memory,LSTM)模型等。在一些实施例中,初始模型可以根据训练情况调整内部参数。
在一些实施例中,还可以基于模型的预测结果以及样本真实值构造损失函数,并基于损失函数的梯度值反向对模型中的参数进行调整,使模型优化。在一些实施例中,在训练过程中,可以将验证集中的样本数据输入到训练后的模型中进行计算,获得输出值(即验证结果),并根据验证结果(例如,模型处于欠拟合和/或过拟合状态)对模型参数进行调整以使模型优化。所述验证集中的数据与所述初始模型的训练数据独立同分布,且没有交集。对比样本数据的验证结果与相应样本数据的标识,判断训练结果是否达到要求。如果训练结果未达到要求,则重新准备样本数据或者重新划分训练集、验证集,进行继续训练。如果训练结果达到要求,则可以停止模型训练,并将最终的模型作 为所需要的机器学习模型输出。
应当注意的是,上述有关流程700的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程700进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,步骤710中训练样本可以按照其他比例划分训练集和验证集。
本申请实施例可能带来的有益效果包括但不限于:(1)基于用户的当前位置和用户选择的候选上车点,为用户推荐上车点,可以使推荐上车点更准确、更适合用户到达;(2)用户可以不输入检索词只需要进行一次点选或者其他简单的选择操作即可得到合适的上车点推荐,节省了用户自行输入上车点的时间,提升了用户体验度。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式 等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效 数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
Claims (17)
- 一种推荐上车点的方法,其特征在于,所述方法包括:获取用户的当前位置;基于所述用户的当前位置,生成至少一个候选上车点信息;向所述用户显示所述至少一个候选上车点信息;接收所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息;基于所述用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点。
- 如权利要求1所述的方法,其特征在于,所述基于所述用户的当前位置,生成至少一个候选上车点信息包括:检测到打开应用程序的触发操作后,基于所述用户的当前位置,生成至少一个候选上车点信息;或者检测在时间阈值内用户是否在应用程序上进行操作:若否,则基于所述用户的当前位置,生成至少一个候选上车点信息。
- 如权利要求1所述的方法,其特征在于,所述基于所述用户的当前位置,生成至少一个候选上车点信息包括:获取所述用户的历史订单数据;基于所述用户的当前位置和所述历史订单数据,确定候选上车点。
- 如权利要求3所述的方法,其特征在于,所述候选上车点包括:距离所述用户当前位置在第一阈值范围内的历史上车点。
- 如权利要求4所述的方法,其特征在于,所述基于所述用户的当前位置和所述历史订单数据,确定候选上车点包括:若所述历史上车点包括至少两个:对所述至少两个历史上车点进行排序;选择排序靠前且距离大于第二阈值的至少两个历史上车点作为候选上车点。
- 如权利要求1所述的方法,其特征在于,所述基于所述用户的当前位置,生成 至少一个候选上车点信息还包括:基于所述用户的当前位置,按照第一预设规则召回距离所述当前位置在第三阈值范围内的兴趣点;利用机器学习模型处理所述兴趣点的特征数据,得到所述兴趣点的评分;对所述兴趣点的评分进行排序;选择排序靠前的至少一个兴趣点作为候选上车点。
- 如权利要求6所述的方法,其特征在于,所述第一预设规则包括:与所述用户的当前位置的距离和所述兴趣点的热度。
- 如权利要求6所述的方法,其特征在于,所述兴趣点的特征数据包括:属性特征、与所述用户当前位置的关系特征和用户画像。
- 如权利要求6所述的方法,其特征在于,所述机器学习模型通过以下方法获得:获取训练样本;其中,训练样本包括训练兴趣点的评分和以下特征中至少一个:用户位置、训练兴趣点与所述用户位置的距离、训练兴趣点的热度、训练兴趣点的属性特征、训练兴趣点与用户位置的关系特征、用户画像;将所述训练兴趣点的评分标记作为参考评分;基于所述训练样本及标记结果训练初始模型得到所述机器学习模型。
- 如权利要求1所述的方法,其特征在于,所述向所述用户显示所述至少一个候选上车点信息包括:以列表形式向所述用户显示所述候选上车点。
- 如权利要求1所述的方法,其特征在于,所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息包括用户通过触屏点选或者语音识别的方式选择。
- 如权利要求4或6所述的方法,其特征在于,所述基于所述用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点包括:若所述用户选择的候选上车点为所述历史上车点,将所述历史上车点作为推荐上车 点显示给所述用户;或者,若所述用户选择的候选上车点为所述兴趣点,通过所述兴趣点选取推荐上车点显示给所述用户。
- 如权利要求12所述的方法,其特征在于,所述通过所述兴趣点选取推荐上车点显示给所述用户包括:获取与所述兴趣点相关的历史订单的计费点;基于所述计费点,确定距离所述计费点在第四阈值范围内的初始上车点;利用上车点推荐模型处理所述初始上车点的特征数据,得到最佳初始上车点作为推荐上车点显示给所述用户。
- 如权利要求13所述的方法,其特征在于,所述初始上车点的特征数据包括:局部热度、全局热度、初始上车点与所述兴趣点的距离以及初始上车点与所述用户的距离。
- 一种推荐上车点的系统,其特征在于,所述系统包括:获取模块,用于获取用户的当前位置;生成模块,用于基于所述用户的当前位置,生成至少一个候选上车点信息;显示模块,用于向所述用户显示所述至少一个候选上车点信息;接收模块,用于接收所述用户选择所述至少一个候选上车点信息中的其中一个候选上车点信息;推荐模块,用于基于所述用户选择的其中一个候选上车点信息,向所述用户显示推荐上车点。
- 一种推荐上车点的系统,其特征在于,所述系统包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当所述至少一个处理器执行所述指令时,实现如权利要求1~14中任一项所述的方法。
- 一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述存储介质中的所述计算机指令后,所述计算机执行如权利要求1~14中任一项所述的方 法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630125.8A CN111861647A (zh) | 2020-07-03 | 2020-07-03 | 一种推荐上车点的方法和系统 |
CN202010630125.8 | 2020-07-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022001902A1 true WO2022001902A1 (zh) | 2022-01-06 |
Family
ID=73152877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/102556 WO2022001902A1 (zh) | 2020-07-03 | 2021-06-25 | 一种推荐上车点的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111861647A (zh) |
WO (1) | WO2022001902A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114971798A (zh) * | 2022-05-30 | 2022-08-30 | 广州宸祺出行科技有限公司 | 一种用于识别网约用车场景的方法及系统 |
CN116610879A (zh) * | 2023-05-25 | 2023-08-18 | 滴图(北京)科技有限公司 | 用于显示上车点的方法和装置 |
CN117933512A (zh) * | 2024-01-12 | 2024-04-26 | 北京白龙马云行科技有限公司 | 下车点推荐方法、装置、计算机设备和存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111861647A (zh) * | 2020-07-03 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种推荐上车点的方法和系统 |
CN112270427B (zh) * | 2020-11-10 | 2024-08-09 | 北京嘀嘀无限科技发展有限公司 | 一种推荐上车点的方法和系统 |
CN112991810B (zh) * | 2021-02-03 | 2022-09-16 | 北京嘀嘀无限科技发展有限公司 | 停车位置确定方法、装置、存储介质和电子设备 |
CN112785393B (zh) * | 2021-02-08 | 2024-09-06 | 北京嘀嘀无限科技发展有限公司 | 一种位置推荐方法、装置及电子设备 |
CN112926804B (zh) * | 2021-04-09 | 2024-04-26 | 广州宸祺出行科技有限公司 | 一种基于用户接受度的推荐上车点的筛选方法及系统 |
CN113407871B (zh) * | 2021-06-21 | 2024-04-02 | 北京畅行信息技术有限公司 | 上车点推荐方法、装置、电子设备和可读存储介质 |
CN113987312A (zh) * | 2021-11-02 | 2022-01-28 | 深圳依时货拉拉科技有限公司 | 货运汽车装卸货停靠点的推荐方法、设备及存储介质 |
CN114219171A (zh) * | 2021-12-23 | 2022-03-22 | 深圳依时货拉拉科技有限公司 | 一种上车点推荐方法、计算机可读存储介质及计算机设备 |
CN116340600B (zh) * | 2023-02-13 | 2024-07-19 | 北京白龙马云行科技有限公司 | 网约车上车地点的推送方法、预测模型的训练方法及装置 |
CN117407718B (zh) * | 2023-12-15 | 2024-03-26 | 杭州宇谷科技股份有限公司 | 一种换电预测模型的训练方法、应用方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150219464A1 (en) * | 2014-02-04 | 2015-08-06 | Here Global B.V. | Method and apparatus for providing passenger embarkation points for points of interests |
CN109062928A (zh) * | 2018-06-11 | 2018-12-21 | 北京嘀嘀无限科技发展有限公司 | 一种提示推荐上车点的方法及系统 |
CN109614557A (zh) * | 2018-11-07 | 2019-04-12 | 北京嘀嘀无限科技发展有限公司 | 用于推荐上车点的方法、设备以及计算机可读存储介质 |
CN110308468A (zh) * | 2019-05-09 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 地点推荐方法和装置 |
CN111861647A (zh) * | 2020-07-03 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种推荐上车点的方法和系统 |
-
2020
- 2020-07-03 CN CN202010630125.8A patent/CN111861647A/zh active Pending
-
2021
- 2021-06-25 WO PCT/CN2021/102556 patent/WO2022001902A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150219464A1 (en) * | 2014-02-04 | 2015-08-06 | Here Global B.V. | Method and apparatus for providing passenger embarkation points for points of interests |
CN109062928A (zh) * | 2018-06-11 | 2018-12-21 | 北京嘀嘀无限科技发展有限公司 | 一种提示推荐上车点的方法及系统 |
CN109614557A (zh) * | 2018-11-07 | 2019-04-12 | 北京嘀嘀无限科技发展有限公司 | 用于推荐上车点的方法、设备以及计算机可读存储介质 |
CN110308468A (zh) * | 2019-05-09 | 2019-10-08 | 百度在线网络技术(北京)有限公司 | 地点推荐方法和装置 |
CN111861647A (zh) * | 2020-07-03 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 一种推荐上车点的方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114971798A (zh) * | 2022-05-30 | 2022-08-30 | 广州宸祺出行科技有限公司 | 一种用于识别网约用车场景的方法及系统 |
CN116610879A (zh) * | 2023-05-25 | 2023-08-18 | 滴图(北京)科技有限公司 | 用于显示上车点的方法和装置 |
CN117933512A (zh) * | 2024-01-12 | 2024-04-26 | 北京白龙马云行科技有限公司 | 下车点推荐方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111861647A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022001902A1 (zh) | 一种推荐上车点的方法和系统 | |
US11892312B2 (en) | Methods and systems for providing information for an on-demand service | |
JP6640880B2 (ja) | 個人別コンテンツを推奨するためのシステム及び方法 | |
WO2017107740A1 (en) | Systems and methods for determining a target vehicle/provider | |
CN108713326B (zh) | 分配按需服务请求的系统及方法 | |
CN111881368B (zh) | 一种确定推荐上车点的方法和系统 | |
WO2021129585A1 (zh) | 一种为用户提供定位点推荐的方法和系统 | |
CN111210036B (zh) | 一种确定推荐上车点的方法和系统 | |
US11468536B2 (en) | Systems and methods for recommending a personalized pick-up location | |
CN107341166B (zh) | 一种车载app的推荐方法及系统 | |
CN112236787A (zh) | 用于生成个性化目的地推荐的系统和方法 | |
WO2018228515A1 (en) | Systems and methods for speech recognition | |
CN111881225B (zh) | 一种修正上车点名称的方法和系统 | |
WO2021052451A1 (zh) | 一种确定预估到达时间的方法和系统 | |
CN111831935B (zh) | 一种兴趣点排序方法、装置、电子设备及存储介质 | |
CN111859174B (zh) | 一种确定推荐上车点的方法和系统 | |
JP2020533713A (ja) | 少なくとも1つの保険会社を推奨するための人口知能システムおよび方法 | |
CN111861619A (zh) | 一种共享车辆的推荐方法和系统 | |
TW201928867A (zh) | 用於確定線上到線下服務中的最佳運輸服務類型的系統和方法 | |
CN111881369B (zh) | 一种推荐上车点名称准确性检测方法和系统 | |
CN111881367A (zh) | 一种推荐上车点方法及系统 | |
WO2020133548A1 (en) | Systems and methods for point of interest retrieving | |
US10250701B2 (en) | Method and system for determining an actual point-of-interest based on user activity and environment contexts | |
WO2021078216A1 (zh) | 一种上车点推荐方法和系统 | |
CN110781403B (zh) | 信息处理装置、信息处理系统、以及信息处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21833672 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21833672 Country of ref document: EP Kind code of ref document: A1 |