WO2021052451A1 - Method and system for determining estimated time of arrival - Google Patents

Method and system for determining estimated time of arrival Download PDF

Info

Publication number
WO2021052451A1
WO2021052451A1 PCT/CN2020/116081 CN2020116081W WO2021052451A1 WO 2021052451 A1 WO2021052451 A1 WO 2021052451A1 CN 2020116081 W CN2020116081 W CN 2020116081W WO 2021052451 A1 WO2021052451 A1 WO 2021052451A1
Authority
WO
WIPO (PCT)
Prior art keywords
estimated
positioning point
service request
discriminator
arrival
Prior art date
Application number
PCT/CN2020/116081
Other languages
French (fr)
Chinese (zh)
Inventor
傅昆
王征
Original Assignee
北京嘀嘀无限科技发展有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京嘀嘀无限科技发展有限公司 filed Critical 北京嘀嘀无限科技发展有限公司
Publication of WO2021052451A1 publication Critical patent/WO2021052451A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Definitions

  • This application relates to the field of transportation technology, and in particular to a method and system for determining an estimated time of arrival.
  • O2O Online to Offline
  • Online taxi services bring a lot of convenience to people's daily lives.
  • ETA Estimated Time of Arrival
  • ETA estimation is difficult. Therefore, it is necessary to propose a method and system for determining the estimated arrival time, so as to effectively estimate the arrival time of the service request and improve the user experience.
  • the system may include at least one storage medium and at least one processor.
  • the storage medium may include instructions for determining the estimated time of arrival.
  • the at least one processor may communicate with the at least one storage medium.
  • the at least one processor is configured to perform the following operations: obtain a service request, the service request including at least a starting point and an end point; based on the starting point and the end point, determining the pre-determined value of the service request Estimate the driving path; obtain an estimated positioning point sequence based on the estimated driving path; determine the estimated arrival time of the service request based on the estimated positioning point sequence.
  • the processor in order to determine the estimated travel path, is configured to perform the following operations: determine road network data related to the service request based on the start point and the end point; The starting point, the ending point, and the road network data are used to determine the estimated driving path using a path planning algorithm.
  • the estimated travel path includes multiple road segments and traffic conditions of multiple road segments.
  • the processor in order to obtain an estimated positioning point sequence based on the estimated driving path, is configured to perform the following operations: processing the estimated driving path using an positioning point sequence estimation model to obtain the Estimate the sequence of anchor points.
  • the positioning point sequence estimation model includes a neural network model.
  • the positioning point sequence estimation model includes a generative countermeasure network
  • the generative countermeasure network includes a generator and a discriminator.
  • the processor in order to obtain the positioning point sequence estimation model, is configured to perform the following operations: obtain a plurality of historical orders, the plurality of historical orders corresponding to a plurality of historical driving paths and a plurality of historical positioning Point sequence; based on the multiple historical orders, the generative confrontation network is determined through at least one iteration, wherein each of the at least one iteration includes: using the generator in the current iteration to determine the difference with the multiple Multiple sample positioning point sequences corresponding to a historical driving path; fixing the generator and optimizing the discriminator in the current iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences; fixing the optimized The discriminator optimizes the generator based on at least the parameters of the optimized discriminator.
  • the processor in order to optimize the discriminator, is configured to perform the following operations: determine the classification results of the plurality of sample positioning point sequences and the plurality of historical positioning point sequences; at least based on the According to the classification result, the value of the first loss function of the discriminator is determined; and the discriminator is optimized based on the value of the first loss function.
  • the processor in order to optimize the generator, is configured to perform the following operations: at least based on the parameters of the optimized discriminator, the plurality of sample positioning point sequences, and the plurality of historical positioning Point sequence, determine the value of the second loss function of the generator; optimize the generator based on the value of the second loss function.
  • the processor in order to determine the estimated arrival time of the service request based on the estimated positioning point sequence, is configured to perform the following operations: processing the estimated positioning using an estimated time of arrival model Point sequence to determine the estimated time of arrival of the service request.
  • One of the embodiments of the present application provides a method for determining the estimated time of arrival.
  • the method may include the following operations. Obtain a service request, the service request including at least a starting point and an ending point; based on the starting point and the ending point, determining an estimated driving path of the service request; obtaining an estimated positioning point sequence based on the driving path; Estimate the positioning point sequence to determine the estimated time of arrival of the service request.
  • the determining the estimated travel path may include the following operations: determining road network data related to the service request based on the starting point and the ending point; based on the starting point, the ending point, and The road network data uses a path planning algorithm to determine the estimated driving path.
  • the estimated travel path includes multiple road segments and traffic conditions of multiple road segments.
  • the obtaining an estimated positioning point sequence based on the estimated driving path may include the following operations: processing the estimated driving path using an positioning point sequence estimation model to obtain the estimated positioning point sequence.
  • the positioning point sequence estimation model includes a neural network model.
  • the positioning point sequence estimation model includes a generative countermeasure network
  • the generative countermeasure network includes a generator and a discriminator.
  • the obtaining the positioning point sequence estimation model may include the following operations: obtaining a plurality of historical orders, the plurality of historical orders corresponding to a plurality of historical driving paths and a plurality of historical positioning point sequences; Multiple historical orders, the generative confrontation network is determined through at least one iteration, wherein each of the at least one iteration includes: using a generator in the current iteration to determine the corresponding to the multiple historical driving paths Multiple sample positioning point sequences; fix the generator and optimize the discriminator in the current iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences; fix the optimized discriminator and at least based on all The parameters of the optimized discriminator are optimized, and the generator is optimized.
  • the optimizing the discriminator may include the following operations: determining the classification results of the plurality of sample positioning point sequences and the plurality of historical positioning point sequences; determining the The value of the first loss function of the discriminator; based on the value of the first loss function, the discriminator is optimized.
  • the optimization of the generator may include the following operations: determining the sequence based on at least the parameters of the optimized discriminator, the plurality of sample positioning point sequences, and the plurality of historical positioning point sequences The value of the second loss function of the generator; based on the value of the second loss function, the generator is optimized.
  • the determining the estimated time of arrival of the service request based on the estimated positioning point sequence may include the following operations: processing the estimated positioning point sequence using an estimated time of arrival model to determine the The estimated time of arrival of the service request.
  • One of the embodiments of the present application provides a computer-readable storage medium that stores computer instructions. After the computer reads the computer instructions in the storage medium, the computer executes the method for determining the estimated time of arrival as described below: Get Service request, the service request includes at least a starting point and an ending point; based on the starting point and the ending point, the estimated driving path of the service request is determined; based on the driving path, an estimated positioning point sequence is obtained; based on the prediction Estimate the positioning point sequence and determine the estimated time of arrival of the service request.
  • Fig. 1 is a schematic diagram of an exemplary O2O service system according to some embodiments of the present application
  • Fig. 2 is a schematic diagram of exemplary hardware components and/or software components of an exemplary computing device according to some embodiments of the present application;
  • Fig. 3 is a schematic diagram of exemplary hardware components and/or software components of an exemplary mobile device according to some embodiments of the present application;
  • Fig. 4 is a block diagram of an exemplary processing device according to some embodiments of the present application.
  • Fig. 5 is a flowchart of an exemplary process for determining an estimated arrival time according to some embodiments of the present application
  • Fig. 6 is a flowchart of an exemplary process for determining a positioning point sequence estimation model according to some embodiments of the present application
  • Fig. 7 is a flowchart of an exemplary iteration of training a generative confrontation network according to some embodiments of the present application.
  • Fig. 8 is a block diagram of an exemplary terminal according to some embodiments of the present application.
  • FIG. 9 is a flowchart of an exemplary process for determining an estimated time of arrival according to some embodiments of the present application.
  • Fig. 10 is a schematic diagram of interaction between a processing device and a terminal according to some embodiments of the present application.
  • system is a method for distinguishing different components, elements, parts, parts, or assemblies of different levels.
  • the words can be replaced by other expressions.
  • a flowchart is used in this application to illustrate the operations performed by the system according to the embodiment of the application. It should be understood that the preceding or following operations are not necessarily performed exactly in order. Instead, the individual steps can be processed in reverse order or at the same time. At the same time, you can also add other operations to these processes, or remove a step or several operations from these processes.
  • the embodiments of the present application can be applied to different transportation systems, which include, but are not limited to, one or a combination of land, ocean, aviation, and aerospace. For example, taxis, private cars, ride-hailing cars, buses, agent driving, trains, high-speed trains, ships, airplanes, hot air balloons, unmanned vehicles, collection/delivery express delivery, etc. which apply management and/or distribution transportation systems .
  • the application scenarios of the different embodiments of the present application include, but are not limited to, one or a combination of web pages, browser plug-ins, clients, customized systems, internal enterprise analysis systems, artificial intelligence robots, and the like. It should be understood that the application scenarios of the system and method of the present application are only some examples or embodiments of the present application. For those of ordinary skill in the art, they can also be based on these drawings without creative work. Apply this application to other similar scenarios. For example, other similar systems for guiding users to park.
  • the "passenger”, “passenger terminal”, “user terminal”, “customer”, “demand”, “service demander”, “consumer”, “consumer”, “user demander”, etc. described in this application are Interchangeable refers to the party that needs or subscribes to the service. It can be an individual or a tool.
  • the “driver”, “driver’s end”, “provider”, “provider”, “service provider”, “service provider”, “service provider”, etc. described in this application are also interchangeable and refer to Individuals, tools, or other entities that provide services or assist in providing services.
  • the "user” described in this application may be a party that needs or subscribes to services, or a party that provides services or assists in providing services.
  • Fig. 1 is a schematic diagram of an exemplary O2O service system according to some embodiments of the present application.
  • the O2O service system 100 can be applied to multiple application scenarios.
  • the O2O service system 100 may be an online service platform that can provide transportation services.
  • Transportation services may include taxi services, express services, private car services, minibus services, car pool services, public transportation services, driving services, courier services, Take-out service, pick-up service, etc.
  • the O2O service system 100 may also be an online service platform that provides other types of services, such as housekeeping services, travel (for example, travel) services, online and offline shopping services, education services, and so on.
  • the O2O service system 100 can determine the estimated time of arrival of the trip. For example, for a taxi service, the O2O service system 100 may determine the estimated time for the driver to arrive at the passenger boarding point. For another example, for a taxi service, the O2O service system 100 can determine the estimated time for the driver to arrive at the destination from the departure point after picking up the passenger. For another example, for navigation services, the O2O service system 100 can determine the estimated time to arrive at the destination from the departure point set by the user. For another example, for an online meal delivery service, the O2O service system 100 can determine the estimated time from the merchant to the meal pick-up point set by the user.
  • the O2O service system 100 may include a processing device 110, a terminal 120, a storage device 130, a network 140, and an information source 150.
  • the processing device 110 may process data and/or information obtained from the terminal 120, the storage device 130, and/or the information source 150. In some embodiments, the processing device 110 may obtain location/trajectory information of multiple terminals 120 and/or characteristic information of participants (for example, drivers and passengers) related to the journey. The processing device 110 may process the information and/or data obtained above to perform one or more functions described in this application. For example, the processing device 120 may obtain the service request from the terminal 120, and determine the estimated travel path of the service request based on the data obtained from the information source 150. Further, the processing device 120 may determine the estimated positioning point sequence corresponding to the estimated driving path and determine the estimated arrival time of the service request based on the estimated positioning point sequence.
  • the processing device 110 may be an independent server or a server group.
  • the server group may be centralized or distributed (for example, the processing device 110 may be a distributed system).
  • the processing device 110 may be local or remote.
  • the processing device 110 may access information and/or data stored in the terminal 120, the storage device 130, and/or the information source 150 through the network 140.
  • the processing device 110 may be directly connected to the terminal 120, the storage device 130, and/or the information source 150 to access the information and/or data stored therein.
  • the processing device 110 may be executed on a cloud platform.
  • the cloud platform may include one or any combination of private cloud, public cloud, hybrid cloud, community cloud, decentralized cloud, internal cloud, etc.
  • the processing device 110 may be integrated in the terminal 120.
  • the processing device 110 may be implemented by the computing device 200 shown in FIG. 2.
  • the processing device 110 may include one or more sub-processing devices (for example, a single-core processor or a multi-core processor).
  • the processing device 110 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), an application specific instruction processor (ASIP), a graphics processing unit (GPU), a physical processor (PPU), a digital signal processor ( DSP), Field Programmable Gate Array (FPGA), Editable Logic Circuit (PLD), Controller, Microcontroller Unit, Reduced Instruction Set Computer (RISC), Microprocessor, etc. or any combination thereof.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • ASIP application specific instruction processor
  • GPU graphics processing unit
  • PPU physical processor
  • DSP digital signal processor
  • FPGA Field Programmable Gate Array
  • PLD Editable Logic Circuit
  • Controller Microcontroller Unit
  • RISC Reduced Instruction Set Computer
  • the terminal 120 may be a device with data acquisition, storage and/or transmission functions.
  • the terminal 120 may include a service provider terminal, a service requester terminal, a vehicle-mounted terminal, and the like.
  • Service providers can be individuals, tools, or other entities that provide services.
  • Service requesters can be individuals, tools, or other entities that need to get or are receiving services.
  • the service provider may be a driver or a third-party platform, and the service requester may be a passenger or other individuals or devices (for example, IoT devices) that receive similar services.
  • the terminal 120 may be used to collect various types of data, including but not limited to service-related data.
  • the data collected by the terminal 120 may be real-time data or various historical data.
  • the terminal 120 may collect data through its own sensors, acquire data from external sensors, or read data from its own memory, or read data from the storage device 130 through the network 140.
  • the sensors of the terminal 120 may include positioning devices, sound sensors, image sensors, temperature and humidity sensors, position sensors, pressure sensors, distance sensors, speed sensors, acceleration sensors, gravity sensors, displacement sensors, torque sensors, and gyroscopes. ⁇ , etc. or any combination thereof.
  • the terminal 120 may include a mobile device 120-1, a vehicle built-in device 120-2, a notebook computer 120-3, a desktop computer 120-4, etc., 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, etc., or any combination thereof.
  • Smart home devices may include smart lighting devices, smart electrical control devices, smart monitoring devices, smart TVs, smart cameras, walkie-talkies, etc., or any combination thereof.
  • Wearable devices may include smart bracelets, smart footwear, smart glasses, smart helmets, smart watches, smart clothes, smart backpacks, smart accessories, etc., or any combination thereof.
  • Smart mobile devices may include smart phones, personal digital assistants (PDAs), game devices, navigation devices, POS machines, etc., or any combination thereof.
  • the virtual reality/augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, augmented reality helmets, augmented reality glasses, augmented reality goggles, etc., or any combination thereof.
  • the in-vehicle device 120-2 may include an in-vehicle computer, an in-vehicle data recorder, an in-vehicle human-computer interaction (HCI) system, a driving recorder, an in-vehicle TV, and the like.
  • HCI human-computer interaction
  • the terminal 120 may be a device with a positioning function, and its positioning function may be realized by a variety of positioning technologies, for example, the global positioning system (GPS), the global satellite navigation system (GLONASS), and the Beidou navigation system (COMPASS) , Galileo positioning system, quasi-zenith satellite system (QZSS), wireless fidelity (Wi-Fi) positioning technology, etc.
  • the terminal 120 may transmit the collected data/information to the processing device 110 via the network 140 for subsequent steps.
  • the terminal 120 may also store the collected data/information in its own memory, or transmit it to the storage device 130 via the network 140 for storage.
  • the terminal 120 may also receive and/or display information generated by the processing device 110 (for example, a notification related to the estimated time of arrival).
  • the O2O system 100 may include multiple terminals connected to each other to collect various types of data, and one or more of the terminals may preprocess the data.
  • the storage device 130 may store data and/or instructions.
  • the storage device 130 may store data/information acquired by the terminal 120 and/or the processing device 110.
  • the storage device 130 may store historical transportation service data (for example, historical service order data, historical service participant data, historical vehicle-related data, historical travel data, historical order evaluation data, etc.).
  • the storage device 130 may store data and/or instructions used by the processing device 110 to execute or use to complete the exemplary methods described in this application.
  • the storage device 130 may be a part of the processing device 110 or the terminal 120.
  • the storage device 130 may include mass memory, removable memory, volatile read-write memory, read-only memory (ROM), etc., or any combination thereof.
  • Exemplary mass storage devices 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.
  • An exemplary volatile read-only memory may include random access memory (RAM).
  • Exemplary RAM 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 (EPROM), electronically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM), and digital General-purpose disk ROM, etc.
  • the storage device 130 may be implemented on a cloud platform.
  • the cloud platform may include private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, internal cloud, multi-layer cloud, etc., or any combination thereof.
  • specific types of historical data can be uniformly stored on a cloud platform, so that multiple processing devices 110 or terminals 120 can access or update, and ensure the real-time and cross-platform use of the data.
  • the storage device 130 may be connected to the network 140 to communicate with one or more components in the O2O service system 100 (for example, the processing device 110, the terminal 120, and the information source 150).
  • One or more components in the O2O service system 100 can access data or instructions stored in the storage device 130 through the network 140.
  • the storage device 130 may directly connect or communicate with one or more components in the O2O service system 100 (for example, the processing device 110, the terminal 120, and the information source 150).
  • the network 140 may facilitate the exchange of information and/or data.
  • one or more components in the O2O service system 100 can send to/from other components in the O2O service system 100 via the network 140 And/or receive information and/or data.
  • the processing device 110 may obtain data/information related to transportation services from the terminal 120 and/or the information source 150 through the network 140.
  • the terminal 120 may obtain the estimated arrival time of the service request from the processing device 110 or the storage device 130 via the network 140. The estimated arrival time can be displayed on the interface of the terminal 120 through application software.
  • the network 140 may be any form of wired or wireless network or any combination thereof.
  • the network 140 may include a cable network, a wired network, an optical fiber network, a telecommunication 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), public switched telephone network (PSTN), Bluetooth (TM) network, ZigBee TM network, near field communication (NFC) network, global system for mobile communications (GSM) network, Code division Multiple Access (CDMA) networks, Time division Multiple Access (TDMA) network , General Packet Radio Service (GPRS) network, Enhanced Data Rate GSM Evolution (EDGE) Network, Wideband Code Division Multiple Access (WCDMA) Network, High Speed Downlink Packet Access (HSDPA) Network, Long Term Evolution (LTE) Network, User Datagram Protocol (UDP) network, Transmission Control Protocol/Internet Protocol (TCP/IP) network, Short Message Service (SMS) network
  • LAN local area
  • the O2O service system 100 may include one or more network access points.
  • the O2O service system 100 may include wired or wireless network access points, such as base stations and/or wireless access points 140-1, 140-2, ..., through which one or more components of the O2O service system 100 may be connected To the network 140 to exchange data and/or information.
  • the information source 150 may be used to provide reference information for the O2O service system 100.
  • the reference information may include weather information, traffic information, geographic information, laws and regulations information, news events, life information, life guide information, and the like.
  • the information source 150 may be implemented by a single central server, multiple servers connected to each other (for example, connected through a communication link), or multiple personal devices.
  • a personal device can generate content (e.g., text, voice, image, video) and upload it to a cloud server.
  • the information source 150 may be implemented by multiple personal devices and cloud servers.
  • the storage device 130, the processing device 110, and/or the terminal 120 may also serve as information sources.
  • the real-time feedback speed and/or positioning information of the terminal 120 may be used as reference information for other devices to obtain.
  • the components of the O2O service system 100 may be executed by electrical signals and/or electromagnetic signals.
  • the terminal 120 may operate a logic circuit in its processor to process the task.
  • the processor of the terminal 120 may generate an electrical signal encoding the request.
  • the processor of the terminal 120 may send the electrical signal to the output port. If the terminal 120 communicates with the processing device 110 via a wired network, the output port may be physically connected to a cable, which further transmits electrical signals to the input port of the processing device 110.
  • the output port of the terminal 120 may be one or more antennas, and the antennas may convert electrical signals into electromagnetic signals.
  • the processor of the electronic device processes instructions, sends instructions, and/or performs actions
  • the instructions and/or actions are conducted via electrical signals.
  • the processor retrieves or saves data from a storage medium (for example, the storage device 130), it can send an electrical signal to a read/write device of the storage medium, and the read/write device can read or write in the storage medium.
  • Structured data The structured data can be transmitted to the processor via the bus of the electronic device in the form of electrical signals.
  • the electrical signal may refer to one electrical signal, a series of electrical signals, and/or multiple discontinuous electrical signals.
  • Fig. 2 is a schematic diagram of exemplary hardware components and/or software components of an exemplary computing device according to some embodiments of the present application.
  • the processing device 110 and/or the terminal 120 may be implemented by the computing device 200.
  • the computing device 200 may include a processor 210, a memory 220, an input/output (I/O) 230, and a communication port 240.
  • I/O input/output
  • the processor 210 may execute computer instructions (for example, program code) and may perform the functions of the processing device 110 according to the technology described in this application.
  • Computer instructions can be used to perform specific functions described in this application, and computer instructions can include programs, objects, components, data structures, programs, modules, functions, and so on.
  • the processor 210 may include one or more hardware processors, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), and an application specific integrated circuit.
  • RISC reduced instruction set computer
  • ASIC application-specific instruction-set processor
  • ASIP application-specific instruction-set processor
  • CPU central processing unit
  • GPU graphics processing unit
  • PPU Physical processing unit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • FPGA advanced RISC machine
  • PLD programmable logic device
  • the computing device 200 may also include multiple processors.
  • the operations and/or methods described in this application that are executed by one processor may also be executed jointly or separately by multiple processors.
  • operation A and operation B can also be shared by two or more different processors in the computing device 200. Or separately (for example, the first processor performs operation A and the second processor performs operation B, or the first processor and the second processor jointly perform operations A and B).
  • the memory 220 may store data/information acquired from the processing device 110, the terminal 120, the storage device 130, and/or any other components of the O2O service system 100.
  • the memory 220 may include mass memory, removable memory, volatile read-write memory, read-only memory (ROM), etc., or any combination thereof.
  • Mass storage can include magnetic disks, optical disks, solid state drives, mobile storage, and so on.
  • Removable storage may include flash drives, floppy disks, optical disks, memory cards, ZIP disks, tapes, and so on.
  • Volatile read-write memory may include random access memory (RAM).
  • RAM can include dynamic random access memory (DRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), static random access memory (SRAM), thyristor random access memory (t-ram), zero capacitance random access memory Take memory (Z-RAM) and so on.
  • ROM can include mask read-only memory (MROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), optical disk read-only memory Storage (CD-ROM), digital versatile disc, etc.
  • the memory 220 may store one or more programs and/or instructions for executing the exemplary methods described in this application.
  • the input/output 230 can input and/or output signals, data, information, and the like. In some embodiments, the input/output 230 may implement the interaction between the user and the processing device 110. In some embodiments, the input/output 230 may include an input device and an output device.
  • the input device may include a keyboard, a mouse, a touch screen, a microphone, etc., or any combination thereof.
  • the output device may include a display device, a speaker, a printer, a projector, etc. or any combination thereof.
  • the display device may include a liquid crystal display (LCD), a light emitting diode (LED) display, a flat panel display, a curved screen, a television device, a cathode ray tube (CRT), a touch screen, etc., or any combination thereof.
  • LCD liquid crystal display
  • LED light emitting diode
  • flat panel display a flat panel display
  • curved screen a television device
  • cathode ray tube (CRT) a cathode ray tube
  • touch screen etc., or any combination thereof.
  • the communication port 240 may be connected to a network (for example, the network 140) to facilitate data communication.
  • the communication port 240 may establish a connection between the processing device 110 and the terminal 120, the storage device 130, and/or the information source 150.
  • the connection may be a wired connection, a wireless connection, any connection capable of data transmission and/or reception, etc., or any combination thereof.
  • Wired connections can include cables, optical cables, telephone lines, etc., or any combination thereof.
  • the wireless connection may include a Bluetooth TM link, a Wi-Fi TM link, a WiMAX TM link, a wireless local area network link, a ZigBee TM link, a mobile network link (for example, 3G, 4G, 5G, etc.), etc., or any combination thereof.
  • the communication port 240 may be and/or include a standardized communication port, such as RS232, RS485, and the like.
  • Fig. 3 is a schematic diagram of exemplary hardware components and/or software components of an exemplary mobile device according to some embodiments of the present application.
  • the terminal 120 may be implemented by the mobile device 300.
  • the mobile device 300 may include a communication platform 310, a display 320, a graphics processing unit (GPU) 330, a central processing unit (CPU) 340, an input/output 350, a memory 360, and a storage 390.
  • the mobile device 300 may also include any other suitable components, including but not limited to a system bus or a controller (not shown in the figure).
  • the mobile operating system 370 for example, iOS TM , Android, Windows Phone TM, etc.
  • the application program 380 may include a browser or any other suitable mobile application program for receiving and presenting information related to the estimated time of arrival or other information from the processing device 110.
  • the user interaction of the information flow may be implemented through the input/output 350 and provided to the processing device 110 and/or other components of the O2O service system 100 through the network 140.
  • a computer hardware platform may be used as a hardware platform for one or more elements described in this application.
  • a computer with user interface elements can be used to implement a personal computer (PC) or any other type of workstation or terminal device. If properly programmed, the computer can also act as a server.
  • PC personal computer
  • Fig. 4 is a block diagram of an exemplary processing device according to some embodiments of the present application.
  • the processing device 110 may include an acquisition module 410, a determination module 420, a processing module 430, an estimation module 440, a training module 450, and a transmission module 460.
  • the obtaining module 410 can obtain the service request.
  • the obtaining module 410 may obtain a service request from the terminal 120.
  • the obtaining module 410 may obtain a service request from the storage device 130 or other third-party devices.
  • the service request may include a transportation service request, for example, a taxi service request, a navigation service request, a meal delivery service request, and so on.
  • the service request may be a real-time service request or an appointment service request.
  • the service request may include at least a starting point (for example, a passenger's boarding point) and an ending point (for example, a passenger's getting off point).
  • the determination module 420 may determine the estimated travel path of the service request based on the start point and the end point. In some embodiments, the determination module 420 may determine the road network data related to the service request based on the starting point and the end point, and determine the estimated driving path of the service request based on the road network data related to the service request. In some embodiments, the determination module 420 may obtain road network data from the storage device 130, a map service provider, and/or other third-party devices. After obtaining the road network data related to the service request, the determining module 420 may determine the estimated driving path of the service request based on the starting point, the end point, and the road network data related to the service request using a path planning algorithm.
  • the processing module 430 may obtain an estimated positioning point sequence based on the preset driving path.
  • the estimated positioning point sequence may include a series of virtual positioning points (or can be understood as a virtual trajectory obtained by connecting these virtual positioning points) between the starting point and the end point.
  • the processing module 430 may use the positioning point sequence estimation model to process the estimated driving path. Get the sequence of estimated anchor points.
  • the processing module 430 may input the estimated driving path into the trained positioning point sequence estimation model, and determine the estimated positioning point sequence based on the output of the positioning point sequence estimation model.
  • the positioning point sequence estimation model may include a neural network model.
  • the positioning point sequence estimation model may include a Generative Adversarial Network (GAN).
  • GAN Generative Adversarial Network
  • the processing module 430 may use the trained generative countermeasure network to obtain an estimated positioning point sequence similar to the estimated driving path height. Specifically, the processing module 430 may input the estimated driving path and/or its related feature information into the generator, and the generator may generate the corresponding estimated anchor point sequence, and the discriminator considers that the authenticity probability of the estimated anchor point sequence satisfies Requirement, that is, the discriminator cannot determine the true or false of the estimated positioning point sequence.
  • the estimation module 440 may determine the estimated arrival time of the service request based on the estimated positioning point sequence.
  • the processing device 110 may use the estimated time of arrival model to process the estimated positioning point sequence to determine the estimated time of arrival of the service request. Specifically, the processing device 110 may input the estimated positioning point sequence into the estimated time of arrival model, and determine the estimated time of arrival based on the output of the estimated time of arrival model.
  • the estimated time of arrival model may include a deep learning model.
  • Exemplary deep learning models may include, but are not limited to, deep belief network model, VGG (Visual Geometry Group Network), OverFeat, RNN (Recurrent Neural Network), LSTM (Long Short Term Memory), GUR (Gated Recurrent Unit), R- CNN (Region based Convolutional Neural Network), SPP-Net (Spatial Pyramid Pooling Network), Fast R-CNN (Fast Region based Convolutional Neural Network, Fast R-CNN (Faster Region based on Convolutional Neural Network, R-FCN (Region based Fully Network)) Convolutional Network), DSOD (Deeply Supervised Object Detector), etc.
  • the training module 450 can be used to train the model.
  • the training module 450 may obtain multiple historical orders, and based on the multiple historical orders, determine the generative confrontation network through at least one iteration.
  • the multiple historical orders may include service orders for a period of time in the past (for example, 6 hours, 12 hours, 1 day, 2 days, 7 days, 14 days, 1 month, 3 months, etc.).
  • the training module 450 may use the generator in the current iteration to determine multiple sample positioning point sequences corresponding to multiple historical driving paths. Subsequently, the training module 450 can fix the generator and optimize the discriminator in the current iteration based on multiple sample positioning point sequences and multiple historical positioning point sequences.
  • the training module 450 may determine the classification results of multiple sample positioning point sequences and multiple historical positioning point sequences, and determine the value of the first loss function of the current discriminator based at least on the classification results. Further, the training module 450 may optimize the current discriminator based on the value of the first loss function. After optimizing the current discriminator, the training module 450 may fix the optimized discriminator and optimize the generator based at least on the parameters of the optimized discriminator. The training module 450 may determine the value of the second loss function of the generator based at least on the parameters of the optimized discriminator, multiple sample positioning point sequences, and multiple historical positioning point sequences.
  • the training module 450 may determine the current generator based on the classification result (ie, authenticity determination) of the multiple sample positioning point sequences by the optimized discriminator and the difference between the multiple sample positioning point sequences and the multiple historical positioning point sequences. The value of the second loss function. Further, the training module 450 may optimize the current generator based on the value of the second loss function. Specifically, the training module 450 may reversely adjust the parameters of the current generator for optimization according to the value of the second loss function, so that the sample positioning point sequence generated by the optimized generator is as close as possible to the real historical positioning point sequence. , That is, make the discriminator's judgment of the sample positioning point sequence as close to 1 as possible. In some embodiments, the training module 450 may update the parameters of the generator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
  • the training module 450 may obtain multiple historical orders, and use relevant data of the multiple historical orders to train the initial model to obtain an estimated arrival time model.
  • Each of the multiple historical orders may include a historical starting point, a historical ending point, a historical driving route, a historical positioning point sequence, a historical departure time, a historical arrival time, and the like.
  • the training module 450 may use the historical positioning point sequence and the historical arrival time of the historical order as a sample pair.
  • the training module 450 may use multiple sample pairs corresponding to multiple historical orders to perform model training. For example, the training module 450 may take multiple historical positioning point sequences of multiple historical orders as input, and use the corresponding historical arrival time as a label to train the initial model.
  • the training module 450 can determine multiple historical arrival times (that is, the actual arrival time of historical orders) and multiple estimated arrival times (that is, the initial model determines The estimated time of arrival), and then reversely adjust the model parameters of the initial model. Then continue to train the initial model with the adjusted parameters. After multiple parameter adjustments, when the difference between the multiple historical arrival times and the multiple estimated arrival times of multiple historical orders meets the requirements (for example, the difference is less than the preset value), the training is stopped, and accordingly, The model training is complete.
  • the transmission module 460 may be used to transmit the estimated time of arrival.
  • the transmission module 460 may send the estimated time of arrival to the terminal 120 via the network 140.
  • two or more modules in the processing device 110 may be combined into a single module, and any of the modules may be divided into two or more units.
  • the acquisition module 410 and the transmission module 460 may be combined into a single module for acquiring service requests and sending estimated arrival time.
  • the training module 450 can be integrated into the processing module 430.
  • the processing device 110 may include a storage module (not shown in FIG. 4), which may be configured to store various data involved in the execution of the processing device (for example, service requests, estimated driving paths, estimated positioning points). Sequence, estimated time of arrival).
  • system and its modules shown in FIG. 2 can be implemented in various ways.
  • the system and its modules may be implemented by hardware, software, or a combination of software and hardware.
  • the hardware part can be implemented using dedicated logic;
  • the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware.
  • processor control codes for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware Such codes are provided on a programmable memory or a data carrier such as an optical or electronic signal carrier.
  • the system and its modules of this 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. It may also be implemented by software executed by various types of processors, or may be implemented by a combination of the above-mentioned hardware circuit and software (for example, firmware).
  • Fig. 5 is a flowchart of an exemplary process for determining an estimated arrival time according to some embodiments of the present application.
  • the process 500 may be executed by a processing device (for example, the processing device 110 shown in FIG. 1).
  • the process 500 may be stored in a storage device (for example, the storage device 130 or a storage unit of a processing device) in the form of a program or instruction.
  • the processor 210 or the module shown in FIG. 4 executes the program or instruction, the process may be implemented. 500.
  • the process 500 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below.
  • the order of operations shown in FIG. 5 is not restrictive.
  • the processing device 110 may obtain a service request.
  • the processing device 110 may obtain a service request from the terminal 120.
  • a user for example, a passenger
  • the processing device 110 may obtain the service request from the storage device 130 or other third-party devices.
  • the service request may include a transportation service request, for example, a taxi service request, a navigation service request, a meal delivery service request, and so on.
  • the service request may be a real-time service request or an appointment service request.
  • "real time" or "reservation" can be defined by a preset time threshold. For example, if the user wants to receive the service immediately or at a time within a preset time threshold from the current moment, the service request can be regarded as a real-time service request. If the user wants to receive the service at a time outside the preset time threshold from the current moment, the service request can be regarded as a reservation service request.
  • the preset time threshold can be the system default value, or it can be adjusted under different circumstances.
  • the preset time threshold may be 5 minutes, 10 minutes, 20 minutes, and so on.
  • different preset time thresholds can be set for different cities, different regions, and different time periods.
  • the service request may include at least a starting point (for example, a passenger's boarding point) and an ending point (for example, a passenger's getting off point).
  • the service request may also include the number of the service request, the information of the passenger who initiated the service request, the estimated price of the service request, and time information related to the service request (e.g., service request initiation time, service start time (That is, the time when the user wants to receive the service), etc.
  • the processing device 110 may determine the estimated driving path of the service request based on the starting point and the ending point.
  • the estimated travel path can refer to a drivable path connecting the starting point and the end point.
  • the processing device 110 may determine the road network data related to the service request based on the start point and the end point, and determine the estimated travel path of the service request based on the road network data related to the service request. In some embodiments, the processing device 110 may obtain road network data from the storage device 130, a map service provider, and/or other third-party devices. In some embodiments, the road network data may be road network data updated at preset time intervals (for example, every day, every week), or road network data updated in real time.
  • road network data may refer to data describing road conditions in a certain area, which may include multiple links, multiple nodes connecting multiple links, link information of multiple links, and the like.
  • an actual road may correspond to one or more road segments in the road network data.
  • the node can correspond to the intersection between the actual road and the road or the starting point or end of the actual road.
  • Link information can be used to describe the relevant information of the link, such as link name, link number, link location, link level (for example, highway, urban road, etc.), link speed limit level, link length, link width, link real-time traffic Speed, the degree of congestion of the road section, the number of traffic light sections (for example, the number of left turns on traffic light sections, the number of right turns on traffic light sections, the number of straight traffic such as traffic sections), the number of non-traffic light sections (for example, the number of left turns on non-traffic light sections, the number of non-traffic light sections) The number of right turns, the number of straight road sections other than red and green), etc.
  • the road network data related to the service request may be road network data of a preset area including at least a starting point and an ending point.
  • the road network data related to the service request may be road network data in a circular area with the diameter of the connection line between the start point and the end point.
  • the road network data can be divided by regions (for example, administrative regions). Assuming that both the start point and the end point are located in the region A, the road network data related to the service request can be the road network data of the region A.
  • the road network data related to the service request may include area A, area B, and road networks connecting one or more areas between area A and area B. data.
  • the processing device 110 may use a path planning algorithm to determine the estimated driving path of the service request based on the starting point, the end point, and the road network data related to the service request.
  • exemplary path planning algorithms may include, but are not limited to, breadth first algorithm, Dijkstra algorithm, A* algorithm, LPA* algorithm, D* path search algorithm, D*Lite algorithm, Rapidly exploring random tree (RRT), Random road signs, etc. or any combination thereof.
  • the processing device 110 may start from the starting point and start calculating the length of the path to the end point along the road network. After traversing all the paths, the shortest path can be selected as the estimated driving path.
  • the estimated travel path may include multiple road segments and traffic conditions of multiple road segments.
  • the traffic condition may include the speed limit level of the road section, the length of the road section, the width of the road section, the real-time traffic speed of the road section, the degree of congestion of the road section, the number of traffic light sections, the number of non-traffic light sections, and so on.
  • the processing device 110 may obtain an estimated positioning point sequence based on the preset driving path.
  • the estimated anchor point sequence may include a series of virtual anchor points between the starting point and the end point (or can be understood as a virtual track obtained by connecting these virtual anchor points).
  • the sequence of estimated positioning points may be a series of virtual positioning points roughly along the preset driving path.
  • the processing device 110 may use the positioning point sequence estimation model to process the estimated driving path to obtain the estimated positioning point sequence. Specifically, the processing device 110 may input the estimated driving path into the trained positioning point sequence estimation model, and determine the estimated positioning point sequence based on the output of the positioning point sequence estimation model.
  • the positioning point sequence estimation model may include a neural network model.
  • the positioning point sequence estimation model may include a Generative Adversarial Network (GAN).
  • GAN Generative Adversarial Network
  • the generative confrontation network can include generators and discriminators.
  • the generator may generate virtual data (for example, a virtual positioning point sequence) based on real data (for example, a real historical driving route and/or a real historical positioning point sequence corresponding to a real historical driving route).
  • the discriminator can determine the authenticity of the virtual data generated by the generator (for example, the probability that the virtual data is close to the real data (which may be referred to as the "authenticity probability")).
  • the generator can generate virtual data that is highly similar to the real data and the discriminator cannot distinguish between the two (that is, the discriminator considers the virtual data to be infinitely close to the real data).
  • the generator and the discriminator can each improve their own generation ability and discrimination ability through game-based learning.
  • the generator keeps learning to make the generated virtual positioning point sequence as close as possible to the real historical positioning point sequence (or real historical driving path), and the discriminator continuously improves the discrimination ability to distinguish the virtual positioning point sequence generated by the generator as much as possible.
  • the positioning point sequence and the real historical positioning point sequence (or the real historical driving path) are continuously optimized to improve the generation and discrimination capabilities.
  • the processing device 110 may use the trained generative countermeasure network to obtain an estimated positioning point sequence that is highly similar to the estimated driving path. Specifically, the processing device 110 may input the estimated driving path and/or its related feature information into the generator, and the generator may generate a corresponding estimated anchor point sequence, and the discriminator considers that the authenticity probability of the estimated anchor point sequence satisfies Requirement, that is, the discriminator cannot determine the true or false of the estimated positioning point sequence.
  • different generative confrontation networks can be trained for different requirements. For example, areas can be classified according to traffic conditions, for example, high-traffic areas, medium-traffic areas, and low-traffic areas. Correspondingly, different generative confrontation networks can be trained for different types of regions. For another example, different generative adversarial networks can be trained for different periods of the day (for example, morning peak hours, idle periods, and evening peak periods). Correspondingly, in some embodiments, the processing device 110 may select a corresponding generative confrontation network based on related information of the service request (for example, the area where the service request is located, the departure time of the service request).
  • the processing device 110 may also process the estimated anchor point sequence.
  • the processing device 110 can filter out drift points, deviation points, and the like.
  • the processing device 110 may also perform interpolation processing on adjacent positioning points in the estimated positioning point sequence to increase the number of positioning, so that the processed estimated positioning point sequence is more accurate.
  • the processing device 110 may determine the estimated arrival time of the service request based on the estimated positioning point sequence.
  • the processing device 110 may use the estimated time of arrival model to process the estimated positioning point sequence to determine the estimated time of arrival of the service request. Specifically, the processing device 110 may input the estimated positioning point sequence into the estimated time of arrival model, and determine the estimated time of arrival based on the output of the estimated time of arrival model.
  • the estimated time of arrival model may include a deep learning model.
  • Exemplary deep learning models may include, but are not limited to, deep belief network model, VGG (Visual Geometry Group Network), OverFeat, RNN (Recurrent Neural Network), LSTM (Long Short Term Memory), GUR (Gated Recurrent Unit), R- CNN (Region based Convolutional Neural Network), SPP-Net (Spatial Pyramid Pooling Network), Fast R-CNN (Fast Region based Convolutional Neural Network, Fast R-CNN (Faster Region based on Convolutional Neural Network, R-FCN (Region based Fully Network) Convolutional Network), DSOD (Deeply Supervised Object Detector), etc.
  • the processing device 110 may obtain multiple historical orders, and use relevant data of the multiple historical orders to train the initial model to obtain the estimated arrival time model.
  • the terminal 120 may transmit data related to historical orders to a storage device (for example, the storage device 130) via the network 140.
  • the processing device 110 may obtain relevant data of historical orders from the storage device.
  • the multiple historical orders may include service orders for a period of time in the past (for example, 6 hours, 12 hours, 1 day, 2 days, 7 days, 14 days, 1 month, 3 months, etc.).
  • the plurality of historical orders may include a certain number (eg, 10, 50, 100, 500, 1000, etc.) service orders that have been completed recently.
  • the multiple historical orders may be service orders for a certain area.
  • multiple historical orders may be historical orders with historical starting points or historical ending points in the same area.
  • multiple historical orders may be historical orders with historical driving routes in the same area.
  • multiple historical orders may be historical orders in which part of the historical driving route is in the same area.
  • the same area may include a certain city, a certain area, a certain street, a certain preset area, and so on.
  • each of the multiple historical orders may include a historical starting point, a historical ending point, a historical driving route, a sequence of historical positioning points, a historical departure time, a historical arrival time, and the like.
  • the processing device 110 may use the historical positioning point sequence and the historical arrival time of the historical order as a sample pair.
  • the processing device 110 may use multiple sample pairs corresponding to multiple historical orders to perform model training. For example, the processing device 110 may take multiple historical positioning point sequences of multiple historical orders as input, and use the corresponding historical arrival time as a label to train the initial model.
  • the processing device 110 may determine multiple historical arrival times (that is, the actual arrival time of historical orders) and multiple estimated arrival times (that is, the initial model determines The estimated time of arrival), and then reversely adjust the model parameters of the initial model. Then continue to train the initial model with the adjusted parameters.
  • multiple parameter adjustments when the difference between the multiple historical arrival times and the multiple estimated arrival times of multiple historical orders meets the requirements (for example, the difference is less than the preset value), the training is stopped, and accordingly, The model training is complete.
  • the processing device 110 may send the estimated arrival time to the terminal 120 via the network 140.
  • the terminal 120 may display it. For example, the terminal 120 may display the estimated arrival time through the display unit 320 shown in FIG. 3.
  • the method for determining the estimated time of arrival disclosed in this application uses a trained generative adversarial network to process service requests, determines the estimated positioning point sequence of the service request, and determines the estimated time of arrival of the service request based on the estimated positioning point sequence Estimated.
  • the historical orders used can include the historical driving paths and historical positioning point sequences corresponding to different versions of the road network data. Therefore, the estimated positioning points obtained by the trained generative confrontation network are used The sequence confidence is high, and the estimated time of arrival determined therefrom is also more accurate.
  • the training data used in the training of the generative confrontation network is the historical driving path and/or historical positioning point sequence of historical orders, correspondingly, when determining the estimated arrival time of the current service request, it is only based on the current road network.
  • the data determines the estimated driving path, and then determines the estimated positioning point sequence based on the trained generative confrontation network. Therefore, there is no need to obtain various historical versions of road network data, which can reduce the amount of calculation and reduce system overhead.
  • Fig. 6 is a flowchart of an exemplary process for determining an positioning point sequence estimation model according to some embodiments of the present application.
  • the process 600 may be executed by a processing device (for example, the training module 450 shown in FIG. 4).
  • the process 600 may be stored in a storage device (for example, the storage device 130 or a storage unit of a processing device) in the form of a program or instruction.
  • the processor 210 or the module shown in FIG. 4 executes the program or instruction, the process may be implemented. 600.
  • the process 600 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below.
  • the order of operations shown in FIG. 6 is not restrictive.
  • the processing device 110 may obtain multiple historical orders. As described in conjunction with step 507, the processing device 110 may obtain data related to multiple historical orders from the storage device.
  • the multiple historical orders may include service orders for a period of time in the past (for example, 6 hours, 12 hours, 1 day, 2 days, 7 days, 14 days, 1 month, 3 months, etc.).
  • the plurality of historical orders may include a certain number (eg, 10, 50, 100, 500, 1000, etc.) service orders that have been completed recently.
  • the multiple historical orders may be service orders for a certain area.
  • multiple historical orders may be historical orders with historical starting points or historical ending points in the same area.
  • multiple historical orders may be historical orders with historical driving routes in the same area.
  • multiple historical orders may be historical orders in which part of the historical driving route is in the same area.
  • the same area may include a certain city, a certain area, a certain street, a certain preset area, and so on.
  • multiple historical orders may correspond to multiple historical driving paths and multiple historical positioning point sequences (ie, real historical positioning point sequences).
  • the user terminal for example, the terminal 120
  • the user terminal can obtain the positioning point through a built-in sensor (for example, a positioning device).
  • the sampling of positioning points can be real-time or interval.
  • the sampling interval may be 0.5 seconds.
  • the user terminal can obtain a series of positioning points (referred to as the "historical positioning point sequence" corresponding to the historical order).
  • the path obtained by connecting these positioning points can be called a historical driving path.
  • each of the multiple historical orders may also include a historical starting point, a historical ending point, a historical departure time, a historical arrival time, and the like.
  • the processing device 110 may determine a generative confrontation network through at least one iteration based on multiple historical orders.
  • the processing device 110 may use the generator in this iteration to determine multiple sample positioning point sequences corresponding to multiple historical driving paths in multiple historical orders. Subsequently, the processing device 110 may fix the generator and optimize the discriminator in this iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences. For example, the processing device 110 may assign a label to each historical anchor point sequence, for example, the label is 1, and it is recorded as true. At the same time, the processing device 110 may assign a label to each sample positioning point sequence, for example, the label is 0 and it is recorded as false.
  • the processing device 110 may use multiple historical anchor point sequences and multiple sample anchor point sequences as the input of the discriminator in this iteration, and the discriminator may output classification results for multiple historical anchor point sequences and multiple sample anchor point sequences (That is, the authenticity determination). For example, for each anchor point sequence (ie, historical anchor point sequence or sample anchor point sequence), the discriminator can output a value between 0-1, which represents the authenticity probability of the anchor point sequence. The larger the value, the greater the probability of authenticity, indicating that the anchor sequence is closer to the real anchor sequence.
  • the processing device 110 can update the parameters of the discriminator in this iteration based on the difference between the output value of the discriminator in this iteration and the corresponding label, so that it can more accurately distinguish the input data (that is, multiple The authenticity of a sequence of historical anchor points and a sequence of multiple sample anchor points).
  • the processing device 110 may update the parameters of the discriminator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
  • the processing device 110 may fix the discriminator and optimize the generator based at least on the parameters of the optimized discriminator.
  • the optimized discriminator can still distinguish between the sample anchor point sequence and the historical anchor point sequence to a certain extent (that is, it can still distinguish between true data and fake data).
  • the processing device 110 may optimize the generator to promote the sequence of sample positioning points generated by it to be closer to the real historical positioning point sequence.
  • the processing device 110 may update the parameters of the generator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
  • Fig. 7 is a flowchart of an exemplary iteration of training a generative confrontation network according to some embodiments of the present application.
  • the process 700 may be executed by a processing device (for example, the training module 450 shown in FIG. 4).
  • the process 700 may be stored in a storage device (for example, the storage device 130 or the storage unit of the processing device) in the form of a program or instruction.
  • the processor 210 or the module shown in FIG. 4 executes the program or instruction, the process may be implemented. 700.
  • the process 700 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below.
  • the order of operations shown in FIG. 7 is not restrictive.
  • the processing device 110 may use the generator in the current iteration to determine multiple sample positioning point sequences corresponding to multiple historical driving paths.
  • the current iteration may be one of at least one iteration (for example, the first iteration or an intermediate iteration).
  • the generator in the current iteration can be the initial generator or the optimized generator obtained after several parameter updates.
  • the "generator in the current iteration” may also be referred to as the "current generator”.
  • the processing device 110 may obtain multiple noise samples based on multiple historical driving paths. In some embodiments, the processing device 110 may collect multiple noise samples from prior distributed noise (eg, Gaussian noise distribution). Further, the processing device 110 may sequentially input multiple noise samples into the current generator to obtain multiple sample positioning point sequences.
  • prior distributed noise eg, Gaussian noise distribution
  • the processing device 110 may fix the generator and optimize the discriminator in the current iteration based on multiple sample positioning point sequences and multiple historical positioning point sequences.
  • the discriminator in the current iteration can be the initial discriminator or an optimized discriminator obtained after several parameter updates.
  • the "discriminator in the current iteration” may also be referred to as the "current discriminator”.
  • the processing device 110 may determine the classification results of multiple sample positioning point sequences and multiple historical positioning point sequences, and determine the value of the first loss function of the current discriminator based at least on the classification results. Specifically, the processing device 110 may assign a label to each historical anchor point sequence, for example, the label is 1, and it is recorded as true. At the same time, the processing device 110 may assign a label to each sample positioning point sequence, for example, the label is 0 and it is recorded as false. The processing device 110 may use multiple historical anchor point sequences and multiple sample anchor point sequences as the input of the current discriminator, and the current discriminator may output classification results for multiple historical anchor point sequences and multiple sample anchor point sequences (that is, real Sex determination).
  • the current discriminator can output a value between 0-1, which represents the authenticity probability of the anchor point sequence. The larger the value, the greater the probability of authenticity, indicating that the anchor sequence is closer to the real anchor sequence.
  • the processing device 110 may determine the value of the first loss function of the current discriminator based on the difference between the output value of the current discriminator and the corresponding label.
  • the first loss function may include a mean square error loss function, an exponential loss function, a log-likelihood loss function, a cross entropy loss function, a least square loss function, and the like.
  • the processing device 110 may optimize the current discriminator based on the value of the first loss function.
  • the optimization goal of the discriminator is to make it as correct as possible to distinguish between real data (for example, a sequence of historical anchor points) and fake data (for example, a sequence of sample anchor points).
  • real data for example, a sequence of historical anchor points
  • fake data for example, a sequence of sample anchor points
  • the processing device 110 may reversely adjust the parameters of the current discriminator to optimize according to the value of the first loss function, so that the optimized current discriminator's discrimination for the historical positioning point sequence is as close to 1 as possible for the sample positioning point The sequence discrimination is as close to 0 as possible.
  • the processing device 110 may update the parameters of the discriminator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
  • the processing device 110 may fix the optimized discriminator and optimize the generator based at least on the parameters of the optimized discriminator.
  • the processing device 110 may determine the value of the second loss function of the generator based at least on the parameters of the optimized discriminator, multiple sample positioning point sequences, and multiple historical positioning point sequences. Specifically, the processing device 110 may determine the current generator based on the classification result (ie, authenticity determination) of the multiple sample positioning point sequences by the optimized discriminator and the difference between the multiple sample positioning point sequences and the multiple historical positioning point sequences The value of the second loss function.
  • the second loss function may include a mean square error loss function, an exponential loss function, a log-likelihood loss function, a cross entropy loss function, a least square loss function, and the like.
  • the processing device 110 may optimize the current generator based on the value of the second loss function.
  • the optimization goal of the generator is to make the generated sample positioning point sequence as close as possible to the real historical positioning point sequence. Therefore, the value of the second loss function needs to be minimized.
  • the processing device 110 may reversely adjust the parameters of the current generator for optimization according to the value of the second loss function, so that the sample positioning point sequence generated by the optimized generator is as close as possible to the real historical positioning point sequence. , That is, make the discriminator's judgment of the sample positioning point sequence as close to 1 as possible.
  • the processing device 110 may update the parameters of the generator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
  • Fig. 8 is a block diagram of an exemplary terminal according to some embodiments of the present application.
  • the terminal 120 may include an interaction module 810, a transmission module 820, and a communication module 830.
  • the interaction module 810 can obtain a service request.
  • users for example, passengers
  • Exemplary input methods include, but are not limited to, text input (for example, handwriting input, typing input), selection input, voice input, scan mark input, etc., or any combination thereof.
  • the terminal 120 may display the information (for example, the start point and/or the end point) input by the user in any suitable content form (for example, text, image, video, audio, graphics, etc.).
  • the interaction module 810 may present the information input by the user based on time-related standards, service cost-related standards, distance-related standards, and the like. For example, the information input by the user may be presented through the nearest departure point, the best pick-up point, and the destination among one or more options.
  • the transmission module 830 may send a service request to the server.
  • the transmission module 830 may send the service request to the server (for example, the processing device 110) through the network 140.
  • the processing device 110 may determine the estimated travel path of the service request based on the starting point and the ending point. Subsequently, the processing device 110 may obtain an estimated positioning point sequence based on the preset driving path. Further, the processing device 110 may determine the estimated arrival time of the service request based on the estimated positioning point sequence. In some embodiments, the foregoing operations may also be implemented by the terminal 120.
  • the communication module 830 may receive the estimated arrival time corresponding to the service request sent by the server. In some embodiments, it may be sent and/or via any suitable communication protocol (for example, Hypertext Transfer Protocol (HTTP), Address Resolution Protocol (ARP), Dynamic Host Configuration Protocol (DHCP), File Transfer Protocol (FTP), etc.) Or receive the estimated time of arrival. In some embodiments, after receiving the estimated time of arrival, the terminal 120 may display the estimated time of arrival in a variety of ways (for example, text, image, audio, video, etc.).
  • HTTP Hypertext Transfer Protocol
  • ARP Address Resolution Protocol
  • DHCP Dynamic Host Configuration Protocol
  • FTP File Transfer Protocol
  • the terminal 120 may display the estimated time of arrival in a variety of ways (for example, text, image, audio, video, etc.).
  • two or more modules in the terminal 120 may be combined into a single module, and any of the modules may be divided into two or more units.
  • the transmission module 820 and the communication module 830 can be combined into a single module for sending service requests and receiving estimated arrival time.
  • the terminal 120 may include a storage module (not shown in FIG. 8), which may be configured to store various data (for example, service request, estimated time of arrival) involved in the execution of the terminal.
  • system and its modules shown in FIG. 8 can be implemented in various ways.
  • the system and its modules may be implemented by hardware, software, or a combination of software and hardware.
  • the hardware part can be implemented using dedicated logic;
  • the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware.
  • processor control codes for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware Such codes are provided on a programmable memory or a data carrier such as an optical or electronic signal carrier.
  • the system and its modules of this 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. It may also be implemented by software executed by various types of processors, or may be implemented by a combination of the above-mentioned hardware circuit and software (for example, firmware).
  • Fig. 9 is a flowchart of an exemplary process for determining an estimated arrival time according to some embodiments of the present application.
  • the process 500 may be executed by a mobile device (for example, the terminal 120 shown in FIG. 1).
  • the process 900 may be stored in a storage device (for example, the storage device 130 or a storage unit of a mobile device) in the form of a program or instruction.
  • the processor 340 or the module shown in FIG. 8 executes the program or instruction, the process may be implemented.
  • the process 900 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below.
  • the order of operations shown in FIG. 9 is not restrictive.
  • the terminal 120 may obtain a service request.
  • users can input service requests through different input methods.
  • Exemplary input methods include, but are not limited to, text input (for example, handwriting input, typing input), selection input, voice input, scan mark input, etc., or any combination thereof.
  • the terminal 120 may display the information (for example, the start point and/or the end point) input by the user in any suitable content form (for example, text, image, video, audio, graphics, etc.).
  • the terminal 120 may present information input by the user based on time-related standards, service cost-related standards, distance-related standards, and the like. For example, the information input by the user may be presented through the nearest departure point, the best pick-up point, and the destination among one or more options.
  • the service request may include at least a start point and an end point.
  • the user can input the start point and/or end point by indicating (for example, by clicking, dragging, etc.) on the map displayed on the terminal 120.
  • the terminal 120 may also obtain images, audio, or video of the surrounding environment, and determine the starting point and/or the related information of the ending point based on the image, audio, or video. For more description of the service request, see step 501, which will not be repeated here.
  • the terminal 120 may send a service request to the server.
  • the terminal 120 may send the service request to the server (for example, the processing device 110) through the network 140.
  • the processing device 110 may determine the estimated travel path of the service request based on the start point and the end point. Subsequently, the processing device 110 may obtain an estimated positioning point sequence based on the preset driving path. Further, the processing device 110 may determine the estimated arrival time of the service request based on the estimated positioning point sequence. For more description, see Figures 5-7 and their descriptions, which will not be repeated here. In some embodiments, the foregoing operations may also be implemented by the terminal 120.
  • the terminal 120 may receive the estimated time of arrival corresponding to the service request sent by the server.
  • the terminal 120 may display the estimated time of arrival in a variety of ways (for example, text, image, audio, video, etc.).
  • Fig. 10 is a schematic diagram of interaction between a processing device and a terminal according to some embodiments of the present application.
  • the terminal 120 may send the service request to the processing device 110 (for example, the obtaining module 410).
  • the processing device 110 may determine the estimated time of arrival of the service request based on methods in other locations of this application.
  • the processing device 110 for example, the transmission module 460
  • the terminal 120 may display the estimated time of arrival in various forms.
  • this application uses specific words to describe the embodiments of this application.
  • “one embodiment”, “an embodiment”, and/or “some embodiments” mean a certain feature, structure, or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that “one embodiment” or “one embodiment” or “an alternative embodiment” mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. .
  • some features, structures, or characteristics in one or more embodiments of the present application can be appropriately combined.
  • the computer storage medium may contain a propagated data signal containing a computer program code, for example on a baseband or as part of a carrier wave.
  • the propagated signal may have multiple manifestations, including electromagnetic forms, optical forms, etc., or suitable combinations.
  • the computer storage medium may be any computer readable medium other than the computer readable storage medium, and the medium may be connected to an instruction execution system, device, or device to realize communication, propagation, or transmission of the program for use.
  • the program code located on the computer storage medium can be transmitted through any suitable medium, including radio, cable, fiber optic cable, RF, or similar medium, or any combination of the above medium.
  • the computer program codes required for the operation of each part of this application can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python Etc., conventional 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 can be run entirely on the user's computer, or run as an independent software package on the user's computer, or partly run on the user's computer and partly run on a remote computer, or run entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, via the Internet), or in a cloud computing environment, or as a service Use software as a service (SaaS).
  • LAN local area network
  • WAN wide area network
  • SaaS service Use software as a service
  • numbers describing the number of ingredients and attributes are used. It should be understood that such numbers used in the description of the embodiments use the modifier "about”, “approximately” or “substantially” in some examples. Retouch. Unless otherwise stated, “approximately”, “approximately” or “substantially” indicates that the number is allowed to vary by ⁇ 20%.
  • the numerical parameters used in the description and claims are approximate values, and the approximate values can be changed according to the required characteristics of individual embodiments. In some embodiments, the numerical parameter should consider the prescribed effective digits and adopt the method of general digit retention. Although the numerical ranges and parameters used to confirm the breadth of the ranges in some embodiments of the present application are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

The embodiments of the present application provide a method for determining an estimated time of arrival. Said method can comprise the following operations: acquiring a service request, the service request at least comprising a start point and an end point; determining an estimated travel route for the service request on the basis of the start point and the end point; acquiring an estimated positioning point sequence on the basis of the estimated travel route; and determining an estimated time of arrival of the service request on the basis of the estimated positioning point sequence.

Description

一种确定预估到达时间的方法和系统Method and system for determining estimated arrival time
优先权声明Priority statement
本申请要求2019年9月18日提交的中国专利申请201910879115.5的优先权,所述申请以全文引用的方式并入本文中。This application claims the priority of the Chinese patent application 201910879115.5 filed on September 18, 2019, which is incorporated herein by reference in its entirety.
技术领域Technical field
本申请涉及交通技术领域,特别涉及一种确定预估到达时间的方法和系统。This application relates to the field of transportation technology, and in particular to a method and system for determining an estimated time of arrival.
背景技术Background technique
随着网络技术和通信技术的发展,Online to Offline(O2O)服务变得越来越流行。以在线打车服务为例,在线打车服务为人们的日常生活带来很多便利。对于在线打车服务来说,预估到达时间(Estimated Time of Arrival,ETA)是一个非常重要的技术指标,它用于预估到达指定目的地的时间,能够描述用户的出行所花费的时间和成本。但是由于路网数据的频繁更新,使得ETA预估存在困难。因此,有必要提出一种确定预估到达时间的方法和系统,以对服务请求的到达时间进行有效的预估,提升用户体验。With the development of network technology and communication technology, Online to Offline (O2O) services have become more and more popular. Take online taxi services as an example. Online taxi services bring a lot of convenience to people's daily lives. For online taxi-hailing services, Estimated Time of Arrival (ETA) is a very important technical indicator, which is used to estimate the time to reach a specified destination and can describe the time and cost of the user’s travel . However, due to frequent updates of road network data, ETA estimation is difficult. Therefore, it is necessary to propose a method and system for determining the estimated arrival time, so as to effectively estimate the arrival time of the service request and improve the user experience.
发明内容Summary of the invention
本申请实施例之一提供一种系统。所述系统可以包括至少一个存储介质以及至少一个处理器。所述存储介质可以包括用于确定预估到达时间的指令。所述至少一个处理器可以与所述至少一个存储介质通信。在执行所述指令时,所述至少一个处理器被配置为执行如下操作:获取服务请求,所述服务请求至少包括起点和终点;基于所述起点和所述终点,确定所述服务请求的预估行驶路径;基于所述预估行驶路径,获取预估定位点序列;基于所述预估定位点序列,确定所述服务请求的预估到达时间。One of the embodiments of the present application provides a system. The system may include at least one storage medium and at least one processor. The storage medium may include instructions for determining the estimated time of arrival. The at least one processor may communicate with the at least one storage medium. When executing the instruction, the at least one processor is configured to perform the following operations: obtain a service request, the service request including at least a starting point and an end point; based on the starting point and the end point, determining the pre-determined value of the service request Estimate the driving path; obtain an estimated positioning point sequence based on the estimated driving path; determine the estimated arrival time of the service request based on the estimated positioning point sequence.
在一些实施例中,为确定所述预估行驶路径,所述处理器被配置为执行如下操作:基于所述起点和所述终点,确定与所述服务请求相关的路网数据;基于所述起点、所述终点以及所述路网数据,利用路径规划算法确定所述预估行驶路径。In some embodiments, in order to determine the estimated travel path, the processor is configured to perform the following operations: determine road network data related to the service request based on the start point and the end point; The starting point, the ending point, and the road network data are used to determine the estimated driving path using a path planning algorithm.
在一些实施例中,所述预估行驶路径包括多个路段以及多个路段的交通状况。In some embodiments, the estimated travel path includes multiple road segments and traffic conditions of multiple road segments.
在一些实施例中,为基于所述预估行驶路径,获取预估定位点序列,所述处理器被配置为执行如下操作:利用定位点序列估算模型处理所述预估行驶路径,获取所述预估定位点序列。In some embodiments, in order to obtain an estimated positioning point sequence based on the estimated driving path, the processor is configured to perform the following operations: processing the estimated driving path using an positioning point sequence estimation model to obtain the Estimate the sequence of anchor points.
在一些实施例中,所述定位点序列估算模型包括神经网络模型。In some embodiments, the positioning point sequence estimation model includes a neural network model.
在一些实施例中,所述定位点序列估算模型包括生成式对抗网络,所述生成式对抗网络包括生成器和判别器。In some embodiments, the positioning point sequence estimation model includes a generative countermeasure network, and the generative countermeasure network includes a generator and a discriminator.
在一些实施例中,为获取所述定位点序列估算模型,所述处理器被配置为执行如下操作:获取多个历史订单,所述多个历史订单对应多个历史行驶路径和多个历史定位点序列;基于所述多个历史订单,通过至少一次迭代确定所述生成式对抗网络,其中,所述至少一次迭代中的每一次包括:利用当前次迭代中的生成器,确定与所述多个历史行驶路径对应的多个样本定位点序列;固定所述生成器并基于所述多个样本定位点序列和所述多个历史定位点序列,优化当前次迭代中的判别器;固定优化的判别器并至少基于所述优化的判别器的参数,优化所述生成器。In some embodiments, in order to obtain the positioning point sequence estimation model, the processor is configured to perform the following operations: obtain a plurality of historical orders, the plurality of historical orders corresponding to a plurality of historical driving paths and a plurality of historical positioning Point sequence; based on the multiple historical orders, the generative confrontation network is determined through at least one iteration, wherein each of the at least one iteration includes: using the generator in the current iteration to determine the difference with the multiple Multiple sample positioning point sequences corresponding to a historical driving path; fixing the generator and optimizing the discriminator in the current iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences; fixing the optimized The discriminator optimizes the generator based on at least the parameters of the optimized discriminator.
在一些实施例中,为优化所述判别器,所述处理器被配置为执行如下操作:确定所述多个样本定位点序列和所述多个历史定位点序列的分类结果;至少基于所述分类结果,确定所述判别器的第一损失函数的值;基于所述第一损失函数的值,优化所述判别器。In some embodiments, in order to optimize the discriminator, the processor is configured to perform the following operations: determine the classification results of the plurality of sample positioning point sequences and the plurality of historical positioning point sequences; at least based on the According to the classification result, the value of the first loss function of the discriminator is determined; and the discriminator is optimized based on the value of the first loss function.
在一些实施例中,为优化所述生成器,所述处理器被配置为执行如下操作:至少基于所述优化的判别器的参数、所述多个样本定位点序列和所述多个历史定位点序列,确定所述生成器的第二损失函数的值;基于所述第二损失函数的值,优化所述生成器。In some embodiments, in order to optimize the generator, the processor is configured to perform the following operations: at least based on the parameters of the optimized discriminator, the plurality of sample positioning point sequences, and the plurality of historical positioning Point sequence, determine the value of the second loss function of the generator; optimize the generator based on the value of the second loss function.
在一些实施例中,为基于所述预估定位点序列,确定所述服务请求的预估到达时间,所述处理器被配置为执行如下操作:利用预估到达时间模型处理所述预估定位点序列,确定所述服务请求的预估到达时间。In some embodiments, in order to determine the estimated arrival time of the service request based on the estimated positioning point sequence, the processor is configured to perform the following operations: processing the estimated positioning using an estimated time of arrival model Point sequence to determine the estimated time of arrival of the service request.
本申请实施例之一提供一种用于确定预估到达时间的方法。所述方法可以包括以下操作。获取服务请求,所述服务请求至少包括起点和终点;基于所述起点和所述终点,确定所述服务请求的预估行驶路径;基于所述行驶路径,获取预估定位点序列;基于所述预估定位点序列,确定所述服务请求的预估到达时间。One of the embodiments of the present application provides a method for determining the estimated time of arrival. The method may include the following operations. Obtain a service request, the service request including at least a starting point and an ending point; based on the starting point and the ending point, determining an estimated driving path of the service request; obtaining an estimated positioning point sequence based on the driving path; Estimate the positioning point sequence to determine the estimated time of arrival of the service request.
在一些实施例中,所述确定所述预估行驶路径可以包括如下操作:基于所述起点和所述终点,确定与所述服务请求相关的路网数据;基于所述起点、所述终点以及所述路网数据,利用路径规划算法确定所述预估行驶路径。In some embodiments, the determining the estimated travel path may include the following operations: determining road network data related to the service request based on the starting point and the ending point; based on the starting point, the ending point, and The road network data uses a path planning algorithm to determine the estimated driving path.
在一些实施例中,所述预估行驶路径包括多个路段以及多个路段的交通状况。In some embodiments, the estimated travel path includes multiple road segments and traffic conditions of multiple road segments.
在一些实施例中,所述基于所述预估行驶路径,获取预估定位点序列可以包括如下操作:利用定位点序列估算模型处理所述预估行驶路径,获取所述预估定位点序列。In some embodiments, the obtaining an estimated positioning point sequence based on the estimated driving path may include the following operations: processing the estimated driving path using an positioning point sequence estimation model to obtain the estimated positioning point sequence.
在一些实施例中,所述定位点序列估算模型包括神经网络模型。In some embodiments, the positioning point sequence estimation model includes a neural network model.
在一些实施例中,所述定位点序列估算模型包括生成式对抗网络,所述生成式对抗网络包括生成器和判别器。In some embodiments, the positioning point sequence estimation model includes a generative countermeasure network, and the generative countermeasure network includes a generator and a discriminator.
在一些实施例中,所述获取所述定位点序列估算模型可以包括如下操作:获取多个历史订单,所述多个历史订单对应多个历史行驶路径和多个历史定位点序列;基于所述多个历 史订单,通过至少一次迭代确定所述生成式对抗网络,其中,所述至少一次迭代中的每一次包括:利用当前次迭代中的生成器,确定与所述多个历史行驶路径对应的多个样本定位点序列;固定所述生成器并基于所述多个样本定位点序列和所述多个历史定位点序列,优化当前次迭代中的判别器;固定优化的判别器并至少基于所述优化的判别器的参数,优化所述生成器。In some embodiments, the obtaining the positioning point sequence estimation model may include the following operations: obtaining a plurality of historical orders, the plurality of historical orders corresponding to a plurality of historical driving paths and a plurality of historical positioning point sequences; Multiple historical orders, the generative confrontation network is determined through at least one iteration, wherein each of the at least one iteration includes: using a generator in the current iteration to determine the corresponding to the multiple historical driving paths Multiple sample positioning point sequences; fix the generator and optimize the discriminator in the current iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences; fix the optimized discriminator and at least based on all The parameters of the optimized discriminator are optimized, and the generator is optimized.
在一些实施例中,所述优化所述判别器可以包括如下操作:确定所述多个样本定位点序列和所述多个历史定位点序列的分类结果;至少基于所述分类结果,确定所述判别器的第一损失函数的值;基于所述第一损失函数的值,优化所述判别器。In some embodiments, the optimizing the discriminator may include the following operations: determining the classification results of the plurality of sample positioning point sequences and the plurality of historical positioning point sequences; determining the The value of the first loss function of the discriminator; based on the value of the first loss function, the discriminator is optimized.
在一些实施例中,所述优化所述生成器可以包括如下操作:至少基于所述优化的判别器的参数、所述多个样本定位点序列和所述多个历史定位点序列,确定所述生成器的第二损失函数的值;基于所述第二损失函数的值,优化所述生成器。In some embodiments, the optimization of the generator may include the following operations: determining the sequence based on at least the parameters of the optimized discriminator, the plurality of sample positioning point sequences, and the plurality of historical positioning point sequences The value of the second loss function of the generator; based on the value of the second loss function, the generator is optimized.
在一些实施例中,所述基于所述预估定位点序列,确定所述服务请求的预估到达时间可以包括如下操作:利用预估到达时间模型处理所述预估定位点序列,确定所述服务请求的预估到达时间。In some embodiments, the determining the estimated time of arrival of the service request based on the estimated positioning point sequence may include the following operations: processing the estimated positioning point sequence using an estimated time of arrival model to determine the The estimated time of arrival of the service request.
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如下所述的确定预估到达时间的方法:获取服务请求,所述服务请求至少包括起点和终点;基于所述起点和所述终点,确定所述服务请求的预估行驶路径;基于所述行驶路径,获取预估定位点序列;基于所述预估定位点序列,确定所述服务请求的预估到达时间。One of the embodiments of the present application provides a computer-readable storage medium that stores computer instructions. After the computer reads the computer instructions in the storage medium, the computer executes the method for determining the estimated time of arrival as described below: Get Service request, the service request includes at least a starting point and an ending point; based on the starting point and the ending point, the estimated driving path of the service request is determined; based on the driving path, an estimated positioning point sequence is obtained; based on the prediction Estimate the positioning point sequence and determine the estimated time of arrival of the service request.
附图说明Description of the drawings
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:This application will be further described in the form of exemplary embodiments, and these exemplary embodiments will be described in detail with the accompanying drawings. These embodiments are not restrictive. In these embodiments, the same number represents the same structure, in which:
图1是根据本申请一些实施例所示的示例性O2O服务系统的示意图;Fig. 1 is a schematic diagram of an exemplary O2O service system according to some embodiments of the present application;
图2是根据本申请一些实施例所示的示例性计算设备的示例性硬件组件和/或软件组件的示意图;Fig. 2 is a schematic diagram of exemplary hardware components and/or software components of an exemplary computing device according to some embodiments of the present application;
图3是根据本申请一些实施例所示的示例性移动设备的示例性硬件组件和/或软件组件的示意图;Fig. 3 is a schematic diagram of exemplary hardware components and/or software components of an exemplary mobile device according to some embodiments of the present application;
图4是根据本申请一些实施例所示的示例性处理设备的模块图;Fig. 4 is a block diagram of an exemplary processing device according to some embodiments of the present application;
图5是根据本申请一些实施例所示的用于确定预估到达时间的示例性流程的流程图;Fig. 5 is a flowchart of an exemplary process for determining an estimated arrival time according to some embodiments of the present application;
图6是根据本申请一些实施例所示的用于确定定位点序列估算模型的示例性流程的流程图;Fig. 6 is a flowchart of an exemplary process for determining a positioning point sequence estimation model according to some embodiments of the present application;
图7是根据本申请一些实施例所示的训练生成式对抗网络的一轮示例性迭代的流程图;Fig. 7 is a flowchart of an exemplary iteration of training a generative confrontation network according to some embodiments of the present application;
图8是根据本申请一些实施例所示的示例性终端的模块图;Fig. 8 is a block diagram of an exemplary terminal according to some embodiments of the present application;
图9是根据本申请一些实施例所示的用于确定预估到达时间的示例性流程的流程图;FIG. 9 is a flowchart of an exemplary process for determining an estimated time of arrival according to some embodiments of the present application;
图10是根据本申请一些实施例所示的处理设备与终端之间的交互示意图。Fig. 10 is a schematic diagram of interaction between a processing device and a terminal according to some embodiments of the present application.
具体实施方式detailed description
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。In order to more clearly describe the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings that need to be used in the description of the embodiments. Obviously, the drawings in the following description are only some examples or embodiments of the application. For those of ordinary skill in the art, without creative work, the application can be applied to the application according to these drawings. Other similar scenarios. Unless it is obvious from the language environment or otherwise stated, the same reference numerals in the figures represent the same structure or operation.
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。It should be understood that the “system”, “device”, “unit” and/or “module” used herein is a method for distinguishing different components, elements, parts, parts, or assemblies of different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。As shown in the present application and claims, unless the context clearly suggests exceptional circumstances, the words "a", "an", "an" and/or "the" do not specifically refer to the singular, but may also include the plural. Generally speaking, the terms "include" and "include" only suggest that the clearly identified steps and elements are included, and these steps and elements do not constitute an exclusive list, and the method or device may also include other steps or elements.
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些流程中,或从这些流程移除某一步或数步操作。A flowchart is used in this application to illustrate the operations performed by the system according to the embodiment of the application. It should be understood that the preceding or following operations are not necessarily performed exactly in order. Instead, the individual steps can be processed in reverse order or at the same time. At the same time, you can also add other operations to these processes, or remove a step or several operations from these processes.
本申请的实施例可以应用于不同的运输系统,不同的运输系统包括但不限于陆地、海洋、航空、航天等中的一种或几种的组合。例如,出租车、专车、顺风车、巴士、代驾、火车、动车、高铁、船舶、飞机、热气球、无人驾驶的交通工具、收/送快递等应用了管理和/或分配的运输系统。本申请的不同实施例应用场景包括但不限于网页、浏览器插件、客户端、定制系统、企业内部分析系统、人工智能机器人等中的一种或几种的组合。应当理解的是,本申请的系统及方法的应用场景仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。例如,其他类似的引导用户停车系统。The embodiments of the present application can be applied to different transportation systems, which include, but are not limited to, one or a combination of land, ocean, aviation, and aerospace. For example, taxis, private cars, ride-hailing cars, buses, agent driving, trains, high-speed trains, ships, airplanes, hot air balloons, unmanned vehicles, collection/delivery express delivery, etc. which apply management and/or distribution transportation systems . The application scenarios of the different embodiments of the present application include, but are not limited to, one or a combination of web pages, browser plug-ins, clients, customized systems, internal enterprise analysis systems, artificial intelligence robots, and the like. It should be understood that the application scenarios of the system and method of the present application are only some examples or embodiments of the present application. For those of ordinary skill in the art, they can also be based on these drawings without creative work. Apply this application to other similar scenarios. For example, other similar systems for guiding users to park.
本申请描述的“乘客”、“乘客端”、“用户终端”、“顾客”、“需求者”、“服务需求者”、“消费者”、“消费方”、“使用需求者”等是可以互换的,是指需要或者订 购服务的一方,可以是个人,也可以是工具。同样地,本申请描述的“司机”、“司机端”、“提供者”、“供应者”、“服务提供者”、“服务者”、“服务方”等也是可以互换的,是指提供服务或者协助提供服务的个人、工具或者其他实体等。另外,本申请描述的“用户”可以是需要或者订购服务的一方,也可以是提供服务或者协助提供服务的一方。The "passenger", "passenger terminal", "user terminal", "customer", "demand", "service demander", "consumer", "consumer", "user demander", etc. described in this application are Interchangeable refers to the party that needs or subscribes to the service. It can be an individual or a tool. Similarly, the “driver”, “driver’s end”, “provider”, “provider”, “service provider”, “service provider”, “service provider”, etc. described in this application are also interchangeable and refer to Individuals, tools, or other entities that provide services or assist in providing services. In addition, the "user" described in this application may be a party that needs or subscribes to services, or a party that provides services or assists in providing services.
图1是根据本申请的一些实施例所示的示例性O2O服务系统的示意图。在一些实施例中,O2O服务系统100可以应用于多种应用场景。例如,O2O服务系统100可以是能够提供交通运输服务的线上服务平台,运输服务可以包括出租车服务、快车服务、专车服务、小巴服务、拼车服务、公交服务、代驾服务、快递服务、外卖服务、接送服务等。又例如,O2O服务系统100还可以是提供其他类型服务的线上服务平台,例如家政服务、出行(例如,旅游)服务、线上线下购物服务、教育服务等。Fig. 1 is a schematic diagram of an exemplary O2O service system according to some embodiments of the present application. In some embodiments, the O2O service system 100 can be applied to multiple application scenarios. For example, the O2O service system 100 may be an online service platform that can provide transportation services. Transportation services may include taxi services, express services, private car services, minibus services, car pool services, public transportation services, driving services, courier services, Take-out service, pick-up service, etc. For another example, the O2O service system 100 may also be an online service platform that provides other types of services, such as housekeeping services, travel (for example, travel) services, online and offline shopping services, education services, and so on.
在一些实施例中,O2O服务系统100可以确定行程的预估到达时间。例如,对于打车服务,O2O服务系统100可以确定司机到达乘客上车点的预估时间。又例如,对于打车服务,O2O服务系统100可以确定司机在接载到乘客后从出发点到达目的地的预估时间。又例如,对于导航服务,O2O服务系统100可以确定从用户设定的出发点到达目的地的预估时间。又例如,对于在线送餐服务,O2O服务系统100可以确定从商家到用户设定的取餐点的预估时间。In some embodiments, the O2O service system 100 can determine the estimated time of arrival of the trip. For example, for a taxi service, the O2O service system 100 may determine the estimated time for the driver to arrive at the passenger boarding point. For another example, for a taxi service, the O2O service system 100 can determine the estimated time for the driver to arrive at the destination from the departure point after picking up the passenger. For another example, for navigation services, the O2O service system 100 can determine the estimated time to arrive at the destination from the departure point set by the user. For another example, for an online meal delivery service, the O2O service system 100 can determine the estimated time from the merchant to the meal pick-up point set by the user.
如图1所示,O2O服务系统100可以包括处理设备110、终端120、存储设备130、网络140以及信息源150。As shown in FIG. 1, the O2O service system 100 may include a processing device 110, a terminal 120, a storage device 130, a network 140, and an information source 150.
处理设备110可以处理从终端120、存储设备130和/或信息源150处获取的数据和/或信息。在一些实施例中,处理设备110可以获取多个终端120的定位/轨迹信息和/或与行程相关的参与方(例如,司机和乘客)的特征信息。处理设备110可以处理上述所获取的信息和/或数据以执行本申请描述的一个或多个功能。例如,处理设备120可以从终端120获取服务请求,并基于从信息源150获取的数据确定服务请求的预估行驶路径。进一步地,处理设备120可以确定预估行驶路径对应的预估定位点序列并基于预估定位点序列确定服务请求的预估到达时间。在一些实施例中,处理设备110可以是独立的服务器或者服务器组。服务器组可以是集中式的或者分布式的(例如,处理设备110可以是分布系统)。在一些实施例中,处理设备110可以是本地的或者远程的。例如,处理设备110可通过网络140访问存储于终端120、存储设备130和/或信息源150中的信息和/或数据。在一些实施例中,处理设备110可直接与终端120、存储设备130和/或信息源150连接以访问存储于其中的信息和/或数据。在一些实施例中,处理设备110可在云平台上执行。例如,云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。在一些实施例中,处理设备 110可以集成于终端120中。在一些实施例中,处理设备110可以通过图2所示的计算设备200实现。The processing device 110 may process data and/or information obtained from the terminal 120, the storage device 130, and/or the information source 150. In some embodiments, the processing device 110 may obtain location/trajectory information of multiple terminals 120 and/or characteristic information of participants (for example, drivers and passengers) related to the journey. The processing device 110 may process the information and/or data obtained above to perform one or more functions described in this application. For example, the processing device 120 may obtain the service request from the terminal 120, and determine the estimated travel path of the service request based on the data obtained from the information source 150. Further, the processing device 120 may determine the estimated positioning point sequence corresponding to the estimated driving path and determine the estimated arrival time of the service request based on the estimated positioning point sequence. In some embodiments, the processing device 110 may be an independent server or a server group. The server group may be centralized or distributed (for example, the processing device 110 may be a distributed system). In some embodiments, the processing device 110 may be local or remote. For example, the processing device 110 may access information and/or data stored in the terminal 120, the storage device 130, and/or the information source 150 through the network 140. In some embodiments, the processing device 110 may be directly connected to the terminal 120, the storage device 130, and/or the information source 150 to access the information and/or data stored therein. In some embodiments, the processing device 110 may be executed on a cloud platform. For example, the cloud platform may include one or any combination of private cloud, public cloud, hybrid cloud, community cloud, decentralized cloud, internal cloud, etc. In some embodiments, the processing device 110 may be integrated in the terminal 120. In some embodiments, the processing device 110 may be implemented by the computing device 200 shown in FIG. 2.
在一些实施例中,处理设备110可以包含一个或多个子处理设备(例如,单核处理器或多核处理器)。仅仅作为示例,处理设备110可以包括中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或其任意组合。In some embodiments, the processing device 110 may include one or more sub-processing devices (for example, a single-core processor or a multi-core processor). For example only, the processing device 110 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), an application specific instruction processor (ASIP), a graphics processing unit (GPU), a physical processor (PPU), a digital signal processor ( DSP), Field Programmable Gate Array (FPGA), Editable Logic Circuit (PLD), Controller, Microcontroller Unit, Reduced Instruction Set Computer (RISC), Microprocessor, etc. or any combination thereof.
终端120可以是具有数据获取、存储和/或发送功能的设备。终端120可以包括服务提供者终端、服务请求者终端、车载终端等。服务提供者可以是提供服务的个人、工具或者其他实体。服务请求者可以是需要得到或者正在接受服务的个人、工具或者其他实体。例如,对于打车服务,服务提供者可以是司机或第三方平台,服务请求者可以是乘客或者其它接受类似服务的个人或者设备(例如,物联网设备)。在一些实施例中,终端120可以用于采集各类数据,包括但不限于与服务相关的数据。终端120所采集的数据可以是实时数据也可以是各类历史数据。在一些实施例中,终端120可以通过自身的传感器进行数据采集,可以从外接传感器获取数据,也可以从其自身的存储器中读取数据,还可以通过网络140从存储设备130中读取数据。在一些实施例中,终端120的传感器可以包括定位装置、声音传感器、图像传感器、温湿度传感器、位置传感器、压力传感器、距离传感器、速度传感器、加速度传感器、重力传感器、位移传感器、力矩传感器、陀螺仪等或其任意组合。The terminal 120 may be a device with data acquisition, storage and/or transmission functions. The terminal 120 may include a service provider terminal, a service requester terminal, a vehicle-mounted terminal, and the like. Service providers can be individuals, tools, or other entities that provide services. Service requesters can be individuals, tools, or other entities that need to get or are receiving services. For example, for a taxi-hailing service, the service provider may be a driver or a third-party platform, and the service requester may be a passenger or other individuals or devices (for example, IoT devices) that receive similar services. In some embodiments, the terminal 120 may be used to collect various types of data, including but not limited to service-related data. The data collected by the terminal 120 may be real-time data or various historical data. In some embodiments, the terminal 120 may collect data through its own sensors, acquire data from external sensors, or read data from its own memory, or read data from the storage device 130 through the network 140. In some embodiments, the sensors of the terminal 120 may include positioning devices, sound sensors, image sensors, temperature and humidity sensors, position sensors, pressure sensors, distance sensors, speed sensors, acceleration sensors, gravity sensors, displacement sensors, torque sensors, and gyroscopes.仪, etc. or any combination thereof.
在一些实施例中,终端120可以包括移动设备120-1、车辆内置设备120-2、笔记本电脑120-3、台式电脑120-4等或其任意组合。在一些实施例中,移动设备120-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等或其任意组合。智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等或其任意组合。可穿戴设备可以包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣物、智能背包、智能配饰等或其任意组合。智能移动设备可以包括智能手机、个人数字助理(PDA)、游戏设备、导航设备、POS机等或其任意组合。虚拟现实/增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强实境头盔、增强实境眼镜、增强实境眼罩等或其任意组合。在一些实施例中,车辆内置设备120-2可以包括车载计算机、汽车数据记录器、车载人机交互(HCI)系统、行车记录仪、车载电视等。In some embodiments, the terminal 120 may include a mobile device 120-1, a vehicle built-in device 120-2, a notebook computer 120-3, a desktop computer 120-4, etc., or any combination thereof. In some embodiments, the mobile device 120-1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof. Smart home devices may include smart lighting devices, smart electrical control devices, smart monitoring devices, smart TVs, smart cameras, walkie-talkies, etc., or any combination thereof. Wearable devices may include smart bracelets, smart footwear, smart glasses, smart helmets, smart watches, smart clothes, smart backpacks, smart accessories, etc., or any combination thereof. Smart mobile devices may include smart phones, personal digital assistants (PDAs), game devices, navigation devices, POS machines, etc., or any combination thereof. The virtual reality/augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality goggles, augmented reality helmets, augmented reality glasses, augmented reality goggles, etc., or any combination thereof. In some embodiments, the in-vehicle device 120-2 may include an in-vehicle computer, an in-vehicle data recorder, an in-vehicle human-computer interaction (HCI) system, a driving recorder, an in-vehicle TV, and the like.
在一些实施例中,终端120可以是具有定位功能的设备,其定位功能可以通过多种定位技术实现,例如,全球定位系统(GPS)、全球卫星导航系统(GLONASS)、北斗导航系统(COMPASS)、伽利略定位系统、准天顶卫星系统(QZSS)、无线保真(Wi-Fi)定位技 术等。在一些实施例中,终端120可以将采集到的数据/信息通过网络140传输至处理设备110进行后续步骤。终端120还可以将采集到的数据/信息存储至自身的存储器中,或通过网络140传输至存储设备130进行存储。终端120还可以接收和/或显示由处理设备110生成的信息(例如,与预估到达时间相关的通知)。在一些实施例中,O2O系统100可以包括多个相互连接的终端,共同采集各类数据,并由其中的一个或者多个终端对这些数据进行预处理。In some embodiments, the terminal 120 may be a device with a positioning function, and its positioning function may be realized by a variety of positioning technologies, for example, the global positioning system (GPS), the global satellite navigation system (GLONASS), and the Beidou navigation system (COMPASS) , Galileo positioning system, quasi-zenith satellite system (QZSS), wireless fidelity (Wi-Fi) positioning technology, etc. In some embodiments, the terminal 120 may transmit the collected data/information to the processing device 110 via the network 140 for subsequent steps. The terminal 120 may also store the collected data/information in its own memory, or transmit it to the storage device 130 via the network 140 for storage. The terminal 120 may also receive and/or display information generated by the processing device 110 (for example, a notification related to the estimated time of arrival). In some embodiments, the O2O system 100 may include multiple terminals connected to each other to collect various types of data, and one or more of the terminals may preprocess the data.
存储设备130可以存储数据和/或指令。在一些实施例中,存储设备130可以存储终端120和/或处理设备110获取的数据/信息。例如,存储设备130可以存储历史运输服务数据(例如,历史服务订单数据、历史服务参与方数据、历史车辆相关数据、历史行程数据、历史订单评价数据等)。在一些实施例中,存储设备130可以存储处理设备110用于执行或使用以完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备130可以是处理设备110或者终端120的一部分。The storage device 130 may store data and/or instructions. In some embodiments, the storage device 130 may store data/information acquired by the terminal 120 and/or the processing device 110. For example, the storage device 130 may store historical transportation service data (for example, historical service order data, historical service participant data, historical vehicle-related data, historical travel data, historical order evaluation data, etc.). In some embodiments, the storage device 130 may store data and/or instructions used by the processing device 110 to execute or use to complete the exemplary methods described in this application. In some embodiments, the storage device 130 may be a part of the processing device 110 or the terminal 120.
在一些实施例中,存储设备130可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性的挥发性只读存储器可以包括随机存取内存(RAM)。示例性的RAM可包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、闸流体RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性的ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电子可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用磁盘ROM等。在一些实施例中,存储设备130可以在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,特定类型的历史数据可以统一存储在一个云平台上,以便多个处理设备110或者终端120访问或者更新,且保证数据的实时性和跨平台使用。In some embodiments, the storage device 130 may include mass memory, removable memory, volatile read-write memory, read-only memory (ROM), etc., or any combination thereof. Exemplary mass storage devices 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. An exemplary volatile read-only memory may include random access memory (RAM). Exemplary RAM 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 (EPROM), electronically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM), and digital General-purpose disk ROM, etc. In some embodiments, the storage device 130 may be implemented on a cloud platform. For example only, the cloud platform may include private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, internal cloud, multi-layer cloud, etc., or any combination thereof. In some embodiments, specific types of historical data can be uniformly stored on a cloud platform, so that multiple processing devices 110 or terminals 120 can access or update, and ensure the real-time and cross-platform use of the data.
在一些实施例中,存储设备130可以连接到网络140以与O2O服务系统100中的一个或以上组件(例如,处理设备110、终端120、信息源150)通信。O2O服务系统100中的一个或以上组件可以通过网络140访问存储设备130中存储的数据或指令。在一些实施例中,存储设备130可以与O2O服务系统100中的一个或以上组件(例如,处理设备110、终端120、信息源150)直接连接或通信。In some embodiments, the storage device 130 may be connected to the network 140 to communicate with one or more components in the O2O service system 100 (for example, the processing device 110, the terminal 120, and the information source 150). One or more components in the O2O service system 100 can access data or instructions stored in the storage device 130 through the network 140. In some embodiments, the storage device 130 may directly connect or communicate with one or more components in the O2O service system 100 (for example, the processing device 110, the terminal 120, and the information source 150).
网络140可以促进信息和/或数据的交换。在一些实施例中,O2O服务系统100中的一个或以上组件(例如,处理设备110、终端120、存储设备130、信息源150)可以通过网络140向/从O2O服务系统100中的其他组件发送和/或接收信息和/或数据。例如,处理设备 110可以通过网络140从终端120和/或信息源150获取与运输服务相关的数据/信息。又例如,终端120可以通过网络140从处理设备110或存储设备130处获取服务请求的预估到达时间。预估到达时间可以在终端120的界面上通过应用软件显示。The network 140 may facilitate the exchange of information and/or data. In some embodiments, one or more components in the O2O service system 100 (for example, the processing device 110, the terminal 120, the storage device 130, and the information source 150) can send to/from other components in the O2O service system 100 via the network 140 And/or receive information and/or data. For example, the processing device 110 may obtain data/information related to transportation services from the terminal 120 and/or the information source 150 through the network 140. For another example, the terminal 120 may obtain the estimated arrival time of the service request from the processing device 110 or the storage device 130 via the network 140. The estimated arrival time can be displayed on the interface of the terminal 120 through application software.
在一些实施例中,网络140可以为任意形式的有线或无线网络或其任意组合。仅作为示例,网络140可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙 TM网络、紫蜂 TM网络、近场通讯(NFC)网络、全球移动通讯系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线服务(GPRS)网络、增强数据速率GSM演进(EDGE)网络、宽带码分多址接入(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短讯息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、移动通信(1G、2G、3G、4G、5G)网络、Wi-Fi、Li-Fi、窄带物联网(NB-IoT)等或其任意组合。在一些实施例中,O2O服务系统100可以包括一个或以上网络接入点。例如,O2O服务系统100可以包括有线或无线网络接入点,例如基站和/或无线接入点140-1、140-2、...,O2O服务系统100的一个或以上组件可以通过其连接到网络140以交换数据和/或信息。 In some embodiments, the network 140 may be any form of wired or wireless network or any combination thereof. For example only, the network 140 may include a cable network, a wired network, an optical fiber network, a telecommunication 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), public switched telephone network (PSTN), Bluetooth (TM) network, ZigBee TM network, near field communication (NFC) network, global system for mobile communications (GSM) network, Code division Multiple Access (CDMA) networks, Time division Multiple Access (TDMA) network , General Packet Radio Service (GPRS) network, Enhanced Data Rate GSM Evolution (EDGE) Network, Wideband Code Division Multiple Access (WCDMA) Network, High Speed Downlink Packet Access (HSDPA) Network, 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 Wide Band (UWB) network, mobile communication (1G, 2G) , 3G, 4G, 5G) networks, Wi-Fi, Li-Fi, Narrowband Internet of Things (NB-IoT), etc. or any combination thereof. In some embodiments, the O2O service system 100 may include one or more network access points. For example, the O2O service system 100 may include wired or wireless network access points, such as base stations and/or wireless access points 140-1, 140-2, ..., through which one or more components of the O2O service system 100 may be connected To the network 140 to exchange data and/or information.
信息源150可以用于为O2O服务系统100提供参考信息。在一些实施例中,参考信息可以包括天气信息、交通信息、地理信息、法律法规信息、新闻事件、生活资讯、生活指南信息等。信息源150可以通过单个中央服务器、彼此连接(例如,通过通信链路连接)的多个服务器或多个个人设备实现。例如,个人设备可以生成内容(例如,文本、语音、图像、视频)并上载到云服务器。相应地,信息源150可以由多个个人设备和云服务器实现。在一些实施例中,存储设备130、处理设备110和/或终端120也可以作为信息源。例如,终端120实时反馈的速度和/或定位信息可以作为参考信息以供其他设备获取。The information source 150 may be used to provide reference information for the O2O service system 100. In some embodiments, the reference information may include weather information, traffic information, geographic information, laws and regulations information, news events, life information, life guide information, and the like. The information source 150 may be implemented by a single central server, multiple servers connected to each other (for example, connected through a communication link), or multiple personal devices. For example, a personal device can generate content (e.g., text, voice, image, video) and upload it to a cloud server. Correspondingly, the information source 150 may be implemented by multiple personal devices and cloud servers. In some embodiments, the storage device 130, the processing device 110, and/or the terminal 120 may also serve as information sources. For example, the real-time feedback speed and/or positioning information of the terminal 120 may be used as reference information for other devices to obtain.
本领域普通技术人员应当理解,当O2O服务系统100的组件执行时,该组件可以通过电信号和/或电磁信号执行。例如,当终端120处理任务时,例如确定、识别或选择对象时,终端120可在其处理器中操作逻辑电路来处理该任务。当终端120向处理设备110发送服务请求时,终端120的处理器可产生编码该请求的电信号。然后,终端120的处理器可以将电信号发送到输出端口。若终端120经由有线网络与处理设备110通信,则输出端口可物理连接至电缆,其进一步将电信号传输至处理设备110的输入端口。如果终端120通过无线网络与处理设备110通信,终端120的输出端口可以是一个或以上天线,天线可以将电信号转换为电磁信号。在电子设备中,当电子设备的处理器处理指令、发送指令和/或执行动作时,指 令和/或动作经由电信号传导。例如,当处理器从储存介质(例如,存储设备130)检索或保存数据时,可以将电信号发送到储存介质的读/写设备,该读/写设备可在储存介质中读取或写入结构化数据。结构化数据可以电信号的形式经由电子设备的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或多个不连续的电信号。Those of ordinary skill in the art should understand that when the components of the O2O service system 100 are executed, the components may be executed by electrical signals and/or electromagnetic signals. For example, when the terminal 120 processes a task, such as determining, identifying, or selecting an object, the terminal 120 may operate a logic circuit in its processor to process the task. When the terminal 120 sends a service request to the processing device 110, the processor of the terminal 120 may generate an electrical signal encoding the request. Then, the processor of the terminal 120 may send the electrical signal to the output port. If the terminal 120 communicates with the processing device 110 via a wired network, the output port may be physically connected to a cable, which further transmits electrical signals to the input port of the processing device 110. If the terminal 120 communicates with the processing device 110 through a wireless network, the output port of the terminal 120 may be one or more antennas, and the antennas may convert electrical signals into electromagnetic signals. In an electronic device, when the processor of the electronic device processes instructions, sends instructions, and/or performs actions, the instructions and/or actions are conducted via electrical signals. For example, when the processor retrieves or saves data from a storage medium (for example, the storage device 130), it can send an electrical signal to a read/write device of the storage medium, and the read/write device can read or write in the storage medium. Structured data. The structured data can be transmitted to the processor via the bus of the electronic device in the form of electrical signals. Here, the electrical signal may refer to one electrical signal, a series of electrical signals, and/or multiple discontinuous electrical signals.
图2是根据本申请一些实施例所示的的示例性计算设备的示例性硬件组件和/或软件组件的示意图。在一些实施例中,处理设备110和/或终端120可以通过计算设备200实现。如图2所示,计算设备200可包括处理器210、存储器220、输入/输出(I/O)230和通信端口240。Fig. 2 is a schematic diagram of exemplary hardware components and/or software components of an exemplary computing device according to some embodiments of the present application. In some embodiments, the processing device 110 and/or the terminal 120 may be implemented by the computing device 200. As shown in FIG. 2, the computing device 200 may include a processor 210, a memory 220, an input/output (I/O) 230, and a communication port 240.
处理器210可以执行计算机指令(例如,程序代码)并可以根据本申请中描述的技术执行处理设备110的功能。计算机指令可以用于执行本申请中描述的特定功能,计算机指令可以包括程序、对象、组件、数据结构、程序、模块、功能等。在一些实施例中,处理器210可以包括一个或多个硬件处理器,例如微控制器、微处理器、精简指令集计算机(reduced instruction set computer(RISC))、特定应用集成电路(application specific integrated circuit(ASIC))、应用程序特定的指令集处理器(application-specific instruction-set processor(ASIP))、中央处理单元(central processing unit(CPU))、图形处理单元(graphics processing unit(GPU))、物理处理单元(physics processing unit(PPU))、数字信号处理器(digital signal processor(DSP))、现场可编程门阵列(field programmable gate array(FPGA))、先进的RISC机器(advanced RISC machine(ARM))、可编程逻辑器件(programmable logic device(PLD))、能够执行一个或多个功能的任何电路或处理器等其中一种或几种的组合。The processor 210 may execute computer instructions (for example, program code) and may perform the functions of the processing device 110 according to the technology described in this application. Computer instructions can be used to perform specific functions described in this application, and computer instructions can include programs, objects, components, data structures, programs, modules, functions, and so on. In some embodiments, the processor 210 may include one or more hardware processors, such as a microcontroller, a microprocessor, a reduced instruction set computer (RISC), and an application specific integrated circuit. circuit (ASIC)), application-specific instruction-set processor (ASIP), central processing unit (CPU), graphics processing unit (GPU)) , Physical processing unit (physics processing unit (PPU)), digital signal processor (digital signal processor (DSP)), field programmable gate array (FPGA)), advanced RISC machine (advanced RISC machine( ARM)), programmable logic device (PLD), any circuit or processor capable of performing one or more functions, or a combination of several of them.
仅用于说明,在计算设备200中仅描述一个处理器。然而,需要说明的是,计算设备200也可以包括多个处理器。本申请中描述的由一个处理器执行的操作和/或方法也可以由多个处理器共同或分别执行。例如,如果本申请中描述的计算设备200的处理器执行操作A和操作B,应当理解的是,操作A和操作B也可以由计算设备中200中的两个或两个以上不同处理器共同或分别执行(例如,第一处理器执行操作A和第二处理器执行操作B,或第一处理器和第二处理器共同执行操作A和B)。For illustration only, only one processor is described in the computing device 200. However, it should be noted that the computing device 200 may also include multiple processors. The operations and/or methods described in this application that are executed by one processor may also be executed jointly or separately by multiple processors. For example, if the processor of the computing device 200 described in this application performs operation A and operation B, it should be understood that operation A and operation B can also be shared by two or more different processors in the computing device 200. Or separately (for example, the first processor performs operation A and the second processor performs operation B, or the first processor and the second processor jointly perform operations A and B).
存储器220可以存储从处理设备110、终端120、存储设备130和/或O2O服务系统100的任何其它组件获取的数据/信息。在一些实施例中,存储器220可包括大容量存储器、可移除存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。大容量存储可以包括磁盘、光盘、固态硬盘、移动存储等。可移除存储器可以包括闪存驱动器、软盘、光盘、存储卡、ZIP磁盘、磁带等。易失性读写存储器可以包括随机存取存储器(RAM)。RAM可以包括动态随机存储器(DRAM)、双数据率同步动态随机存取存储器(DDR SDRAM)、静 态随机存取存储器(SRAM)、可控硅随机存取存储器(t-ram)、零电容随机存取存储器(Z-RAM)等。ROM可以包括掩模只读存储器(MROM)、可编程的只读存储器(PROM)、可擦除可编程只读存储器(EPROM),电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)、数字多功能光盘的光盘等。在一些实施例中,存储器220可以存储一个或多个程序和/或指令,用于执行本申请中描述的示例性方法。The memory 220 may store data/information acquired from the processing device 110, the terminal 120, the storage device 130, and/or any other components of the O2O service system 100. In some embodiments, the memory 220 may include mass memory, removable memory, volatile read-write memory, read-only memory (ROM), etc., or any combination thereof. Mass storage can include magnetic disks, optical disks, solid state drives, mobile storage, and so on. Removable storage may include flash drives, floppy disks, optical disks, memory cards, ZIP disks, tapes, and so on. Volatile read-write memory may include random access memory (RAM). RAM can include dynamic random access memory (DRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), static random access memory (SRAM), thyristor random access memory (t-ram), zero capacitance random access memory Take memory (Z-RAM) and so on. ROM can include mask read-only memory (MROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), optical disk read-only memory Storage (CD-ROM), digital versatile disc, etc. In some embodiments, the memory 220 may store one or more programs and/or instructions for executing the exemplary methods described in this application.
输入/输出230可以输入和/或输出信号、数据、信息等。在一些实施例中,输入/输出230可以实现用户与处理设备110之间的交互。在一些实施例中,输入/输出230可以包括输入设备和输出设备。输入设备可以包括键盘、鼠标、触摸屏、麦克风等或其任意组合。输出装置可以包括显示装置、扬声器、打印机、投影仪等或其任意组合。显示装置可以包括液晶显示器(LCD)、发光二极管(LED)显示器、平板显示器、弧形屏幕、电视装置、阴极射线管(CRT)、触摸屏等或其任意组合。The input/output 230 can input and/or output signals, data, information, and the like. In some embodiments, the input/output 230 may implement the interaction between the user and the processing device 110. In some embodiments, the input/output 230 may include an input device and an output device. The input device may include a keyboard, a mouse, a touch screen, a microphone, etc., or any combination thereof. The output device may include a display device, a speaker, a printer, a projector, etc. or any combination thereof. The display device may include a liquid crystal display (LCD), a light emitting diode (LED) display, a flat panel display, a curved screen, a television device, a cathode ray tube (CRT), a touch screen, etc., or any combination thereof.
通信端口240可以连接网络(例如,网络140),以便于数据通信。通信端口240可以在处理设备110和终端120、存储设备130和/或信息源150之间建立连接。连接可以是有线连接、无线连接、任何能够实现数据传输和/或接收的连接等或其任意组合。有线连接可以包括电缆、光缆、电话线等或其任意组合。无线连接可以包括蓝牙 TM链接、Wi-Fi TM链接、WiMAX TM链路、无线局域网链接、ZigBee TM链接、移动网络链接(例如,3G、4G、5G等)等或其任意组合。在一些实施例中,通信端口240可以是和/或包括标准化通信端口,如RS232、RS485等。 The communication port 240 may be connected to a network (for example, the network 140) to facilitate data communication. The communication port 240 may establish a connection between the processing device 110 and the terminal 120, the storage device 130, and/or the information source 150. The connection may be a wired connection, a wireless connection, any connection capable of data transmission and/or reception, etc., or any combination thereof. Wired connections can include cables, optical cables, telephone lines, etc., or any combination thereof. The wireless connection may include a Bluetooth link, a Wi-Fi link, a WiMAX link, a wireless local area network link, a ZigBee link, a mobile network link (for example, 3G, 4G, 5G, etc.), etc., or any combination thereof. In some embodiments, the communication port 240 may be and/or include a standardized communication port, such as RS232, RS485, and the like.
图3是根据本申请一些实施例所示的示例性移动设备的示例性硬件组件和/或软件组件的示意图。在一些实施例中,终端120可以通过移动设备300实现。如图3所示,移动设备300可包括通信平台310、显示器320、图形处理器(GPU)330、中央处理器(CPU)340、输入/输出350、内存360和存储器390。在一些实施例中,移动设备300也可以包括任何其它合适的组件,包括但不限于系统总线或控制器(图中未显示)。在一些实施例中,移动操作系统370(例如,iOS TM,Android,Windows Phone TM等)和一个或多个应用程序380可以从存储器390装载入内存360,以便能够由中央处理器340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从处理设备110接收和呈现与预估到达时间或其他信息相关的信息。信息流的用户交互可以通过输入/输出350实现,并且通过网络140提供给处理设备110和/或O2O服务系统100的其他组件。 Fig. 3 is a schematic diagram of exemplary hardware components and/or software components of an exemplary mobile device according to some embodiments of the present application. In some embodiments, the terminal 120 may be implemented by the mobile device 300. As shown in FIG. 3, the mobile device 300 may include a communication platform 310, a display 320, a graphics processing unit (GPU) 330, a central processing unit (CPU) 340, an input/output 350, a memory 360, and a storage 390. In some embodiments, the mobile device 300 may also include any other suitable components, including but not limited to a system bus or a controller (not shown in the figure). In some embodiments, the mobile operating system 370 (for example, iOS , Android, Windows Phone ™, etc.) and one or more application programs 380 may be loaded from the memory 390 into the memory 360 so as to be executed by the central processing unit 340. The application program 380 may include a browser or any other suitable mobile application program for receiving and presenting information related to the estimated time of arrival or other information from the processing device 110. The user interaction of the information flow may be implemented through the input/output 350 and provided to the processing device 110 and/or other components of the O2O service system 100 through the network 140.
为了实现本申请中描述的各种模块、单元及其功能,计算机硬件平台可以用作本申请中描述的一个或多个元素的硬件平台。具有用户界面元素的计算机可用于实现个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算机也可以充当服务器。In order to realize the various modules, units and functions described in this application, a computer hardware platform may be used as a hardware platform for one or more elements described in this application. A computer with user interface elements can be used to implement a personal computer (PC) or any other type of workstation or terminal device. If properly programmed, the computer can also act as a server.
图4是根据本申请一些实施例所示的示例性处理设备的模块图。如图4所示,处理设备110可以包括获取模块410、确定模块420、处理模块430、预估模块440、训练模块450以及传输模块460。Fig. 4 is a block diagram of an exemplary processing device according to some embodiments of the present application. As shown in FIG. 4, the processing device 110 may include an acquisition module 410, a determination module 420, a processing module 430, an estimation module 440, a training module 450, and a transmission module 460.
获取模块410可以获取服务请求。例如,获取模块410可以从终端120获取服务请求。又例如,获取模块410可以从存储设备130或其他第三方设备获取服务请求。服务请求可以包括交通服务请求,例如,打车服务请求、导航服务请求、送餐服务请求等。在一些实施例中,服务请求可以是实时服务请求或预约服务请求。在一些实施例中,服务请求可以至少包括起点(例如,乘客的上车点)和终点(例如,乘客的下车点)。The obtaining module 410 can obtain the service request. For example, the obtaining module 410 may obtain a service request from the terminal 120. For another example, the obtaining module 410 may obtain a service request from the storage device 130 or other third-party devices. The service request may include a transportation service request, for example, a taxi service request, a navigation service request, a meal delivery service request, and so on. In some embodiments, the service request may be a real-time service request or an appointment service request. In some embodiments, the service request may include at least a starting point (for example, a passenger's boarding point) and an ending point (for example, a passenger's getting off point).
确定模块420可以基于起点和终点,确定服务请求的预估行驶路径。在一些实施例中,确定模块420可以基于起点和终点,确定与服务请求相关的路网数据,并基于与服务请求相关的路网数据,确定服务请求的预估行驶路径。在一些实施例中,确定模块420可以从存储设备130、地图服务提供商和/或其他第三方设备获取路网数据。获取与服务请求相关的路网数据后,确定模块420可以基于起点、终点以及与服务请求相关的路网数据,利用路径规划算法确定服务请求的预估行驶路径。The determination module 420 may determine the estimated travel path of the service request based on the start point and the end point. In some embodiments, the determination module 420 may determine the road network data related to the service request based on the starting point and the end point, and determine the estimated driving path of the service request based on the road network data related to the service request. In some embodiments, the determination module 420 may obtain road network data from the storage device 130, a map service provider, and/or other third-party devices. After obtaining the road network data related to the service request, the determining module 420 may determine the estimated driving path of the service request based on the starting point, the end point, and the road network data related to the service request using a path planning algorithm.
处理模块430可以基于预设行驶路径,获取预估定位点序列。预估定位点序列可以包括起点和终点之间的一系列虚拟定位点(或可以理解为由这些虚拟定位点连接得到的虚拟轨迹)处理模块430可以利用定位点序列估算模型处理预估行驶路径,获取预估定位点序列。具体地,处理模块430可以将预估行驶路径输入训练完成的定位点序列估算模型,并基于定位点序列估算模型的输出确定预估定位点序列。在一些实施例中,定位点序列估算模型可以包括神经网络模型。在一些实施例中,定位点序列估算模型可以包括生成式对抗式网络(Generative Adversarial Network,GAN)。处理模块430可以利用训练完成的生成式对抗网络,得到与预估行驶路径高度相似的预估定位点序列。具体地,处理模块430可以将预估行驶路径和/或其相关特征信息输入生成器,生成器可以生成相应的预估定位点序列,此时判别器认为预估定位点序列的真实性概率满足要求,即判别器无法判定预估定位点序列的真假。The processing module 430 may obtain an estimated positioning point sequence based on the preset driving path. The estimated positioning point sequence may include a series of virtual positioning points (or can be understood as a virtual trajectory obtained by connecting these virtual positioning points) between the starting point and the end point. The processing module 430 may use the positioning point sequence estimation model to process the estimated driving path. Get the sequence of estimated anchor points. Specifically, the processing module 430 may input the estimated driving path into the trained positioning point sequence estimation model, and determine the estimated positioning point sequence based on the output of the positioning point sequence estimation model. In some embodiments, the positioning point sequence estimation model may include a neural network model. In some embodiments, the positioning point sequence estimation model may include a Generative Adversarial Network (GAN). The processing module 430 may use the trained generative countermeasure network to obtain an estimated positioning point sequence similar to the estimated driving path height. Specifically, the processing module 430 may input the estimated driving path and/or its related feature information into the generator, and the generator may generate the corresponding estimated anchor point sequence, and the discriminator considers that the authenticity probability of the estimated anchor point sequence satisfies Requirement, that is, the discriminator cannot determine the true or false of the estimated positioning point sequence.
预估模块440可以基于预估定位点序列,确定服务请求的预估到达时间。处理设备110可以利用预估到达时间模型处理预估定位点序列,确定服务请求的预估到达时间。具体地,处理设备110可以将预估定位点序列输入预估到达时间模型,并基于预估到达时间模型的输出确定预估到达时间。在一些实施例中,预估到达时间模型可以包括深度学习模型。示例性的深度学习模型可以包括但不限于深度信念网络模型、VGG(Visual Geometry Group Network)、OverFeat、RNN(Recurrent Neural Network)、LSTM(Long Short Term Memory)、GUR(Gated Recurrent Unit)、R-CNN(Region based Convolutional Neural Network)、SPP- Net(Spatial Pyramid Pooling Network)、Fast R-CNN(Fast Region based Convolutional Neural Network、Faster R-CNN(Faster Region based Convolutional Neural Network、R-FCN(Region based Fully Convolutional Network)、DSOD(Deeply Supervised Object Detector)等。The estimation module 440 may determine the estimated arrival time of the service request based on the estimated positioning point sequence. The processing device 110 may use the estimated time of arrival model to process the estimated positioning point sequence to determine the estimated time of arrival of the service request. Specifically, the processing device 110 may input the estimated positioning point sequence into the estimated time of arrival model, and determine the estimated time of arrival based on the output of the estimated time of arrival model. In some embodiments, the estimated time of arrival model may include a deep learning model. Exemplary deep learning models may include, but are not limited to, deep belief network model, VGG (Visual Geometry Group Network), OverFeat, RNN (Recurrent Neural Network), LSTM (Long Short Term Memory), GUR (Gated Recurrent Unit), R- CNN (Region based Convolutional Neural Network), SPP-Net (Spatial Pyramid Pooling Network), Fast R-CNN (Fast Region based Convolutional Neural Network, Fast R-CNN (Faster Region based on Convolutional Neural Network, R-FCN (Region based Fully Network)) Convolutional Network), DSOD (Deeply Supervised Object Detector), etc.
训练模块450可以用于训练模型。在一些实施例中,训练模块450可以获取多个历史订单,并基于多个历史订单,通过至少一次迭代确定生成式对抗网络。多个历史订单可以包括过去一段时间(例如,6小时、12小时、1天、2天、7天、14天、1个月、3个月等)的服务订单。在一次迭代中,训练模块450可以利用当前次迭代中的生成器,确定与多个历史行驶路径对应的多个样本定位点序列。随后,训练模块450可以固定生成器并基于多个样本定位点序列和多个历史定位点序列,优化当前次迭代中的判别器。例如,训练模块450可以确定多个样本定位点序列和多个历史定位点序列的分类结果,并至少基于分类结果,确定当前判别器的第一损失函数的值。进一步地,训练模块450可以基于第一损失函数的值,优化当前判别器。在优化当前判别器后,训练模块450可以固定优化的判别器并至少基于优化的判别器的参数,优化生成器。训练模块450可以至少基于优化的判别器的参数、多个样本定位点序列和多个历史定位点序列,确定生成器的第二损失函数的值。具体地,训练模块450可以基于优化后的判别器对多个样本定位点序列的分类结果(即真实性判定)以及多个样本定位点序列和多个历史定位点序列的差异,确定当前生成器的第二损失函数的值。进一步地,训练模块450可以基于第二损失函数的值,优化当前生成器。具体地,训练模块450可以根据第二损失函数的值,反向调整当前生成器的参数以进行优化,以使得优化后的生成器所生成的样本定位点序列尽可能接近真实的历史定位点序列,即使得判别器对于样本定位点序列的判别尽量接近1。在一些实施例中,训练模块450可以对生成器的参数进行循环多轮更新。循环更新的次数可以是系统默认值,也可以根据不同情况调整。The training module 450 can be used to train the model. In some embodiments, the training module 450 may obtain multiple historical orders, and based on the multiple historical orders, determine the generative confrontation network through at least one iteration. The multiple historical orders may include service orders for a period of time in the past (for example, 6 hours, 12 hours, 1 day, 2 days, 7 days, 14 days, 1 month, 3 months, etc.). In one iteration, the training module 450 may use the generator in the current iteration to determine multiple sample positioning point sequences corresponding to multiple historical driving paths. Subsequently, the training module 450 can fix the generator and optimize the discriminator in the current iteration based on multiple sample positioning point sequences and multiple historical positioning point sequences. For example, the training module 450 may determine the classification results of multiple sample positioning point sequences and multiple historical positioning point sequences, and determine the value of the first loss function of the current discriminator based at least on the classification results. Further, the training module 450 may optimize the current discriminator based on the value of the first loss function. After optimizing the current discriminator, the training module 450 may fix the optimized discriminator and optimize the generator based at least on the parameters of the optimized discriminator. The training module 450 may determine the value of the second loss function of the generator based at least on the parameters of the optimized discriminator, multiple sample positioning point sequences, and multiple historical positioning point sequences. Specifically, the training module 450 may determine the current generator based on the classification result (ie, authenticity determination) of the multiple sample positioning point sequences by the optimized discriminator and the difference between the multiple sample positioning point sequences and the multiple historical positioning point sequences. The value of the second loss function. Further, the training module 450 may optimize the current generator based on the value of the second loss function. Specifically, the training module 450 may reversely adjust the parameters of the current generator for optimization according to the value of the second loss function, so that the sample positioning point sequence generated by the optimized generator is as close as possible to the real historical positioning point sequence. , That is, make the discriminator's judgment of the sample positioning point sequence as close to 1 as possible. In some embodiments, the training module 450 may update the parameters of the generator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
在一些实施例中,训练模块450可以获取多个历史订单,并利用多个历史订单的相关数据对初始模型进行训练,得到预估到达时间模型。多个历史订单中的每一个可以包括历史起点、历史终点、历史行驶路径、历史定位点序列、历史出发时间、历史到达时间等。以一个特定历史订单为例,训练模块450可以将该历史订单的历史定位点序列以及历史到达时间作为一个样本对。相应地,训练模块450可以利用多个历史订单对应的多个样本对进行模型训练。例如,训练模块450可以将多个历史订单的多个历史定位点序列作为输入,将对应的历史到达时间作为标签,训练初始模型。在得到初始模型输出的多个历史订单的多个预估到达时间后,训练模块450可以确定多个历史到达时间(即历史订单的实际到达时间)与多个预估到达时间(即初始模型确定的预估到达时间)之间的差异,随后反向调整初始模型的模型参数。继而继续训练参数调整后的初始模型。在经过多次参数调整后,当多个历史订单的 多个历史到达时间与多个预估到达时间之间的差异满足要求时(例如,差异小于预设值),则停止训练,相应地,模型训练完成。In some embodiments, the training module 450 may obtain multiple historical orders, and use relevant data of the multiple historical orders to train the initial model to obtain an estimated arrival time model. Each of the multiple historical orders may include a historical starting point, a historical ending point, a historical driving route, a historical positioning point sequence, a historical departure time, a historical arrival time, and the like. Taking a specific historical order as an example, the training module 450 may use the historical positioning point sequence and the historical arrival time of the historical order as a sample pair. Correspondingly, the training module 450 may use multiple sample pairs corresponding to multiple historical orders to perform model training. For example, the training module 450 may take multiple historical positioning point sequences of multiple historical orders as input, and use the corresponding historical arrival time as a label to train the initial model. After obtaining multiple estimated arrival times of multiple historical orders output by the initial model, the training module 450 can determine multiple historical arrival times (that is, the actual arrival time of historical orders) and multiple estimated arrival times (that is, the initial model determines The estimated time of arrival), and then reversely adjust the model parameters of the initial model. Then continue to train the initial model with the adjusted parameters. After multiple parameter adjustments, when the difference between the multiple historical arrival times and the multiple estimated arrival times of multiple historical orders meets the requirements (for example, the difference is less than the preset value), the training is stopped, and accordingly, The model training is complete.
传输模块460可以用于传输预估到达时间。传输模块460可以通过网络140将预估到达时间发送至终端120。The transmission module 460 may be used to transmit the estimated time of arrival. The transmission module 460 may send the estimated time of arrival to the terminal 120 via the network 140.
在一些实施例中,处理设备110中的两个或以上模块可以组合为单个模块,模块中的任一个可以被分成两个或以上单元。例如,获取模块410和传输模块460可以组合为单个模块,用于获取服务请求和发送预估到达时间。又例如,训练模块450可以集成为处理模块430中。进一步例如,处理设备110可以包括存储模块(图4中未示出),其可以被配置为存储处理设备执行过程中涉及的多种数据(例如,服务请求、预估行驶路径、预估定位点序列、预估到达时间)。In some embodiments, two or more modules in the processing device 110 may be combined into a single module, and any of the modules may be divided into two or more units. For example, the acquisition module 410 and the transmission module 460 may be combined into a single module for acquiring service requests and sending estimated arrival time. For another example, the training module 450 can be integrated into the processing module 430. Further, for example, the processing device 110 may include a storage module (not shown in FIG. 4), which may be configured to store various data involved in the execution of the processing device (for example, service requests, estimated driving paths, estimated positioning points). Sequence, estimated time of arrival).
应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。It should be understood that the system and its modules shown in FIG. 2 can be implemented in various ways. For example, in some embodiments, the system and its modules may be implemented by hardware, software, or a combination of software and hardware. Among them, the hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. Those skilled in the art can understand that the above-mentioned methods and systems can be implemented using computer-executable instructions and/or included in processor control codes, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware Such codes are provided on a programmable memory or a data carrier such as an optical or electronic signal carrier. The system and its modules of this 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. It may also be implemented by software executed by various types of processors, or may be implemented by a combination of the above-mentioned hardware circuit and software (for example, firmware).
图5是根据本申请一些实施例所示的用于确定预估到达时间的示例性流程的流程图。在一些实施例中,流程500可以由处理设备(例如,图1所示的处理设备110)执行。例如,流程500可以以程序或指令的形式存储在存储设备(例如,存储设备130或处理设备的存储单元)中,当处理器210或图4所示的模块执行程序或指令时,可以实现流程500。在一些实施例中,流程500可以利用以下未描述的一个或以上附加操作,和/或不通过以下所讨论的一个或以上操作完成。另外,如图5所示的操作的顺序并非限制性的。Fig. 5 is a flowchart of an exemplary process for determining an estimated arrival time according to some embodiments of the present application. In some embodiments, the process 500 may be executed by a processing device (for example, the processing device 110 shown in FIG. 1). For example, the process 500 may be stored in a storage device (for example, the storage device 130 or a storage unit of a processing device) in the form of a program or instruction. When the processor 210 or the module shown in FIG. 4 executes the program or instruction, the process may be implemented. 500. In some embodiments, the process 500 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below. In addition, the order of operations shown in FIG. 5 is not restrictive.
步骤501,处理设备110(例如,获取模块410)可以获取服务请求。In step 501, the processing device 110 (for example, the obtaining module 410) may obtain a service request.
在一些实施例中,处理设备110可以从终端120获取服务请求。例如,用户(例如,乘客)可以通过终端120发起服务请求并通过网络140将服务请求发送至处理设备110。在一些实施例中,处理设备110可以从存储设备130或其他第三方设备获取服务请求。In some embodiments, the processing device 110 may obtain a service request from the terminal 120. For example, a user (for example, a passenger) may initiate a service request through the terminal 120 and send the service request to the processing device 110 through the network 140. In some embodiments, the processing device 110 may obtain the service request from the storage device 130 or other third-party devices.
在一些实施例中,服务请求可以包括交通服务请求,例如,打车服务请求、导航服务 请求、送餐服务请求等。在一些实施例中,服务请求可以是实时服务请求或预约服务请求。在一些实施例中,可以通过预设时间阈值定义“实时”或“预约”。例如,如果用户希望立刻或在距离当前时刻预设时间阈值内的时刻接受服务,则服务请求可以认为是实时服务请求。如果用户希望在距离当前时刻预设时间阈值外的时刻接受服务,则服务请求可以认为是预约服务请求。预设时间阈值可以是系统默认值,也可以在不同情况下调整。例如,预设时间阈值可以是5分钟、10分钟、20分钟等。又例如,可以针对不同的城市、不同的地区、不同的时段等设定不同的预设时间阈值。In some embodiments, the service request may include a transportation service request, for example, a taxi service request, a navigation service request, a meal delivery service request, and so on. In some embodiments, the service request may be a real-time service request or an appointment service request. In some embodiments, "real time" or "reservation" can be defined by a preset time threshold. For example, if the user wants to receive the service immediately or at a time within a preset time threshold from the current moment, the service request can be regarded as a real-time service request. If the user wants to receive the service at a time outside the preset time threshold from the current moment, the service request can be regarded as a reservation service request. The preset time threshold can be the system default value, or it can be adjusted under different circumstances. For example, the preset time threshold may be 5 minutes, 10 minutes, 20 minutes, and so on. For another example, different preset time thresholds can be set for different cities, different regions, and different time periods.
在一些实施例中,服务请求可以至少包括起点(例如,乘客的上车点)和终点(例如,乘客的下车点)。在一些实施例中,服务请求还可以包括服务请求的编号、发起服务请求的乘客的信息、服务请求的预估价格、与服务请求相关的时间信息(例如,服务请求发起时间、服务开始时间(即用户希望接受服务的时间)等。In some embodiments, the service request may include at least a starting point (for example, a passenger's boarding point) and an ending point (for example, a passenger's getting off point). In some embodiments, the service request may also include the number of the service request, the information of the passenger who initiated the service request, the estimated price of the service request, and time information related to the service request (e.g., service request initiation time, service start time ( That is, the time when the user wants to receive the service), etc.
步骤503,处理设备110(例如,确定模块420)可以基于起点和终点,确定服务请求的预估行驶路径。在本文中,预估行驶路径可以指连接起点和终点的可行驶的路径。In step 503, the processing device 110 (for example, the determining module 420) may determine the estimated driving path of the service request based on the starting point and the ending point. In this article, the estimated travel path can refer to a drivable path connecting the starting point and the end point.
在一些实施例中,处理设备110可以基于起点和终点,确定与服务请求相关的路网数据,并基于与服务请求相关的路网数据,确定服务请求的预估行驶路径。在一些实施例中,处理设备110可以从存储设备130、地图服务提供商和/或其他第三方设备获取路网数据。在一些实施例中,路网数据可以是按预设时间间隔(例如,每天、每周)更新的路网数据,也可以是实时更新的路网数据。In some embodiments, the processing device 110 may determine the road network data related to the service request based on the start point and the end point, and determine the estimated travel path of the service request based on the road network data related to the service request. In some embodiments, the processing device 110 may obtain road network data from the storage device 130, a map service provider, and/or other third-party devices. In some embodiments, the road network data may be road network data updated at preset time intervals (for example, every day, every week), or road network data updated in real time.
在本文中,路网数据可以指描述某一区域内的道路情况的数据,其可以包括多个路段(link)、连接多个路段的多个节点、多个路段的路段信息等。在一些实施例中,一条实际道路可以对应路网数据中的一个或多个路段。节点可以对应实际的道路与道路之间的交点或实际道路的起点或终点。路段信息可以用于描述路段的相关信息,例如,路段名称、路段编号、路段位置、路段级别(例如,高速道路、市区道路等)、路段限速等级、路段长度、路段宽度、路段实时通行速度、路段的拥堵程度、红绿灯路段数量(例如,红绿灯路段左转数量、红绿灯路段右转数量、红绿等路段直行数量)、非红绿灯路段数量(例如,非红绿灯路段左转数量、非红绿灯路段右转数量、非红绿等路段直行数量)等。In this article, road network data may refer to data describing road conditions in a certain area, which may include multiple links, multiple nodes connecting multiple links, link information of multiple links, and the like. In some embodiments, an actual road may correspond to one or more road segments in the road network data. The node can correspond to the intersection between the actual road and the road or the starting point or end of the actual road. Link information can be used to describe the relevant information of the link, such as link name, link number, link location, link level (for example, highway, urban road, etc.), link speed limit level, link length, link width, link real-time traffic Speed, the degree of congestion of the road section, the number of traffic light sections (for example, the number of left turns on traffic light sections, the number of right turns on traffic light sections, the number of straight traffic such as traffic sections), the number of non-traffic light sections (for example, the number of left turns on non-traffic light sections, the number of non-traffic light sections) The number of right turns, the number of straight road sections other than red and green), etc.
在一些实施例中,与服务请求相关的路网数据可以是至少包括起点和终点的预设区域的路网数据。例如,与服务请求相关的路网数据可以是以起点和终点间的连线为直径的圆形区域的路网数据。又例如,可以以区域(例如,行政区域)划分路网数据,假设起点和终点都位于区域A中,则与服务请求相关的路网数据可以是区域A的路网数据。又例如,假设起点位于区域A中,终点位于区域B中,则与服务请求相关的路网数据可以包括区域A、区域 B以及连接区域A和区域B之间的一个或多个区域的路网数据。In some embodiments, the road network data related to the service request may be road network data of a preset area including at least a starting point and an ending point. For example, the road network data related to the service request may be road network data in a circular area with the diameter of the connection line between the start point and the end point. For another example, the road network data can be divided by regions (for example, administrative regions). Assuming that both the start point and the end point are located in the region A, the road network data related to the service request can be the road network data of the region A. For another example, assuming that the starting point is located in area A and the end point is located in area B, the road network data related to the service request may include area A, area B, and road networks connecting one or more areas between area A and area B. data.
在一些实施例中,获取与服务请求相关的路网数据后,处理设备110可以基于起点、终点以及与服务请求相关的路网数据,利用路径规划算法确定服务请求的预估行驶路径。示例性的路径规划算法可以包括但不限于广度优先算法、Dijkstra算法、A*算法、LPA*算法、D*路径搜索算法、D*Lite算法、快速搜索随机树(Rapidly exploring random tree,RRT)、随机路标图等或其任意组合。以Dijkstra算法为例,处理设备110可以从起点开始,沿路网开始计算到达终点的路径的长度。当遍历所有的路径后,可以选择长度最短的一条路径作为预估行驶路径。In some embodiments, after obtaining the road network data related to the service request, the processing device 110 may use a path planning algorithm to determine the estimated driving path of the service request based on the starting point, the end point, and the road network data related to the service request. Exemplary path planning algorithms may include, but are not limited to, breadth first algorithm, Dijkstra algorithm, A* algorithm, LPA* algorithm, D* path search algorithm, D*Lite algorithm, Rapidly exploring random tree (RRT), Random road signs, etc. or any combination thereof. Taking the Dijkstra algorithm as an example, the processing device 110 may start from the starting point and start calculating the length of the path to the end point along the road network. After traversing all the paths, the shortest path can be selected as the estimated driving path.
在一些实施例中,预估行驶路径可以包括多个路段以及多个路段的交通状况。如上文所述,交通状况可以包括路段限速等级、路段长度、路段宽度、路段实时通行速度、路段的拥堵程度、红绿灯路段数量、非红绿灯路段数量等。In some embodiments, the estimated travel path may include multiple road segments and traffic conditions of multiple road segments. As mentioned above, the traffic condition may include the speed limit level of the road section, the length of the road section, the width of the road section, the real-time traffic speed of the road section, the degree of congestion of the road section, the number of traffic light sections, the number of non-traffic light sections, and so on.
步骤505,处理设备110(例如,处理模块430)可以基于预设行驶路径,获取预估定位点序列。In step 505, the processing device 110 (for example, the processing module 430) may obtain an estimated positioning point sequence based on the preset driving path.
在一些实施例中,预估定位点序列可以包括起点和终点之间的一系列虚拟定位点(或可以理解为由这些虚拟定位点连接得到的虚拟轨迹)。例如,预估定位点序列可以是大致沿预设行驶路径的一系列虚拟定位点。在一些实施例中,处理设备110可以利用定位点序列估算模型处理预估行驶路径,获取预估定位点序列。具体地,处理设备110可以将预估行驶路径输入训练完成的定位点序列估算模型,并基于定位点序列估算模型的输出确定预估定位点序列。In some embodiments, the estimated anchor point sequence may include a series of virtual anchor points between the starting point and the end point (or can be understood as a virtual track obtained by connecting these virtual anchor points). For example, the sequence of estimated positioning points may be a series of virtual positioning points roughly along the preset driving path. In some embodiments, the processing device 110 may use the positioning point sequence estimation model to process the estimated driving path to obtain the estimated positioning point sequence. Specifically, the processing device 110 may input the estimated driving path into the trained positioning point sequence estimation model, and determine the estimated positioning point sequence based on the output of the positioning point sequence estimation model.
在一些实施例中,定位点序列估算模型可以包括神经网络模型。在一些实施例中,定位点序列估算模型可以包括生成式对抗式网络(Generative Adversarial Network,GAN)。生成式对抗网络可以包括生成器和判别器。生成器可以基于真实数据(例如,真实的历史行驶路径和/或真实的历史行驶路径对应的真实的历史定位点序列)生成虚拟数据(例如,虚拟的定位点序列)。判别器可以对生成器所生成的虚拟数据的真实性(例如,虚拟数据接近真实数据的概率(可以称之为“真实性概率”))进行判定。生成式对抗式网络训练完成后,生成器可以生成与真实数据高度相似的虚拟数据且判别器无法区分二者(即判别器认为虚拟数据无限接近真实数据)。In some embodiments, the positioning point sequence estimation model may include a neural network model. In some embodiments, the positioning point sequence estimation model may include a Generative Adversarial Network (GAN). The generative confrontation network can include generators and discriminators. The generator may generate virtual data (for example, a virtual positioning point sequence) based on real data (for example, a real historical driving route and/or a real historical positioning point sequence corresponding to a real historical driving route). The discriminator can determine the authenticity of the virtual data generated by the generator (for example, the probability that the virtual data is close to the real data (which may be referred to as the "authenticity probability")). After the generative adversarial network training is completed, the generator can generate virtual data that is highly similar to the real data and the discriminator cannot distinguish between the two (that is, the discriminator considers the virtual data to be infinitely close to the real data).
在一些实施例中,在生成式对抗网络的训练过程中,生成器与判别器可以通过博弈式的学习,各自提高自己的生成能力与判别能力。例如,生成器不断学习以使其生成的虚拟定位点序列尽可能地接近真实的历史定位点序列(或真实的历史行驶路径),判别器不断提升判别能力以尽可能地区分生成器生成的虚拟定位点序列和真实的历史定位点序列(或真实的 历史行驶路径),以此各自不断优化,提升生成与判别能力。关于生成式对抗网络的训练的描述可以参考本申请图6部分,在此不再赘述。In some embodiments, during the training process of the generative confrontation network, the generator and the discriminator can each improve their own generation ability and discrimination ability through game-based learning. For example, the generator keeps learning to make the generated virtual positioning point sequence as close as possible to the real historical positioning point sequence (or real historical driving path), and the discriminator continuously improves the discrimination ability to distinguish the virtual positioning point sequence generated by the generator as much as possible. The positioning point sequence and the real historical positioning point sequence (or the real historical driving path) are continuously optimized to improve the generation and discrimination capabilities. For the description of the training of the generative confrontation network, please refer to the Figure 6 part of this application, which will not be repeated here.
在一些实施例中,处理设备110可以利用训练完成的生成式对抗网络,得到与预估行驶路径高度相似的预估定位点序列。具体地,处理设备110可以将预估行驶路径和/或其相关特征信息输入生成器,生成器可以生成相应的预估定位点序列,此时判别器认为预估定位点序列的真实性概率满足要求,即判别器无法判定预估定位点序列的真假。In some embodiments, the processing device 110 may use the trained generative countermeasure network to obtain an estimated positioning point sequence that is highly similar to the estimated driving path. Specifically, the processing device 110 may input the estimated driving path and/or its related feature information into the generator, and the generator may generate a corresponding estimated anchor point sequence, and the discriminator considers that the authenticity probability of the estimated anchor point sequence satisfies Requirement, that is, the discriminator cannot determine the true or false of the estimated positioning point sequence.
在一些实施例中,可以针对不同的需求训练不同的生成式对抗网络。例如,可以根据交通状况进行区域分类,例如,高流量区域、中流量区域、低流量区域。相应地,可以针对不同类别的区域训练不同的生成式对抗网络。又例如,可以针对一天中不同的时段(例如,早高峰时段、空闲时段、晚高峰时段),训练不同的生成式对抗网络。相应地,在一些实施例中,处理设备110可以基于服务请求的相关信息(例如,服务请求所在的区域、服务请求的出发时间),选择相应的生成式对抗网络。In some embodiments, different generative confrontation networks can be trained for different requirements. For example, areas can be classified according to traffic conditions, for example, high-traffic areas, medium-traffic areas, and low-traffic areas. Correspondingly, different generative confrontation networks can be trained for different types of regions. For another example, different generative adversarial networks can be trained for different periods of the day (for example, morning peak hours, idle periods, and evening peak periods). Correspondingly, in some embodiments, the processing device 110 may select a corresponding generative confrontation network based on related information of the service request (for example, the area where the service request is located, the departure time of the service request).
在一些实施例中,获取预估定位点序列后,处理设备110还可以对预估定位点序列进行处理。例如,处理设备110可以滤除其中的漂移点、偏差点等。又例如,处理设备110还可以对预估定位点序列中的相邻定位点进行插值处理,以增加定位的数量从而使处理后的预估定位点序列更准确。In some embodiments, after obtaining the estimated anchor point sequence, the processing device 110 may also process the estimated anchor point sequence. For example, the processing device 110 can filter out drift points, deviation points, and the like. For another example, the processing device 110 may also perform interpolation processing on adjacent positioning points in the estimated positioning point sequence to increase the number of positioning, so that the processed estimated positioning point sequence is more accurate.
步骤507,处理设备110(例如,预估模块440)可以基于预估定位点序列,确定服务请求的预估到达时间。In step 507, the processing device 110 (for example, the estimation module 440) may determine the estimated arrival time of the service request based on the estimated positioning point sequence.
在一些实施例中,处理设备110可以利用预估到达时间模型处理预估定位点序列,确定服务请求的预估到达时间。具体地,处理设备110可以将预估定位点序列输入预估到达时间模型,并基于预估到达时间模型的输出确定预估到达时间。在一些实施例中,预估到达时间模型可以包括深度学习模型。示例性的深度学习模型可以包括但不限于深度信念网络模型、VGG(Visual Geometry Group Network)、OverFeat、RNN(Recurrent Neural Network)、LSTM(Long Short Term Memory)、GUR(Gated Recurrent Unit)、R-CNN(Region based Convolutional Neural Network)、SPP-Net(Spatial Pyramid Pooling Network)、Fast R-CNN(Fast Region based Convolutional Neural Network、Faster R-CNN(Faster Region based Convolutional Neural Network、R-FCN(Region based Fully Convolutional Network)、DSOD(Deeply Supervised Object Detector)等。In some embodiments, the processing device 110 may use the estimated time of arrival model to process the estimated positioning point sequence to determine the estimated time of arrival of the service request. Specifically, the processing device 110 may input the estimated positioning point sequence into the estimated time of arrival model, and determine the estimated time of arrival based on the output of the estimated time of arrival model. In some embodiments, the estimated time of arrival model may include a deep learning model. Exemplary deep learning models may include, but are not limited to, deep belief network model, VGG (Visual Geometry Group Network), OverFeat, RNN (Recurrent Neural Network), LSTM (Long Short Term Memory), GUR (Gated Recurrent Unit), R- CNN (Region based Convolutional Neural Network), SPP-Net (Spatial Pyramid Pooling Network), Fast R-CNN (Fast Region based Convolutional Neural Network, Fast R-CNN (Faster Region based on Convolutional Neural Network, R-FCN (Region based Fully Network) Convolutional Network), DSOD (Deeply Supervised Object Detector), etc.
在一些实施例中,处理设备110(例如,训练模块450)可以获取多个历史订单,并利用多个历史订单的相关数据对初始模型进行训练,得到预估到达时间模型。在一些实施例中,终端120可以通过网络140将历史订单的相关数据传输到存储设备(例如,存储设备130) 中。相应地,处理设备110可以从存储设备中获取历史订单的相关数据。In some embodiments, the processing device 110 (for example, the training module 450) may obtain multiple historical orders, and use relevant data of the multiple historical orders to train the initial model to obtain the estimated arrival time model. In some embodiments, the terminal 120 may transmit data related to historical orders to a storage device (for example, the storage device 130) via the network 140. Correspondingly, the processing device 110 may obtain relevant data of historical orders from the storage device.
在一些实施例中,多个历史订单可以包括过去一段时间(例如,6小时、12小时、1天、2天、7天、14天、1个月、3个月等)的服务订单。在一些实施例中,多个历史订单可以包括最近完成的一定数量(例如,10个、50个、100个、500个、1000个等)的服务订单。在一些实施例中,多个历史订单可以是某一区域的服务订单。例如,多个历史订单可以是历史起点或历史终点在同一区域内的历史订单。又例如,多个历史订单可以是历史行驶路线在同一区域内的历史订单。又例如,多个历史订单可以是历史行驶路线的一部分在同一区域内的历史订单。在一些实施例中,同一区域可以包括某个城市、某个地区、某个街道、某个预先设定的区域等。In some embodiments, the multiple historical orders may include service orders for a period of time in the past (for example, 6 hours, 12 hours, 1 day, 2 days, 7 days, 14 days, 1 month, 3 months, etc.). In some embodiments, the plurality of historical orders may include a certain number (eg, 10, 50, 100, 500, 1000, etc.) service orders that have been completed recently. In some embodiments, the multiple historical orders may be service orders for a certain area. For example, multiple historical orders may be historical orders with historical starting points or historical ending points in the same area. For another example, multiple historical orders may be historical orders with historical driving routes in the same area. For another example, multiple historical orders may be historical orders in which part of the historical driving route is in the same area. In some embodiments, the same area may include a certain city, a certain area, a certain street, a certain preset area, and so on.
在一些实施例中,多个历史订单中的每一个可以包括历史起点、历史终点、历史行驶路径、历史定位点序列、历史出发时间、历史到达时间等。以一个特定历史订单为例,处理设备110可以将该历史订单的历史定位点序列以及历史到达时间作为一个样本对。相应地,处理设备110可以利用多个历史订单对应的多个样本对进行模型训练。例如,处理设备110可以将多个历史订单的多个历史定位点序列作为输入,将对应的历史到达时间作为标签,训练初始模型。在得到初始模型输出的多个历史订单的多个预估到达时间后,处理设备110可以确定多个历史到达时间(即历史订单的实际到达时间)与多个预估到达时间(即初始模型确定的预估到达时间)之间的差异,随后反向调整初始模型的模型参数。继而继续训练参数调整后的初始模型。在经过多次参数调整后,当多个历史订单的多个历史到达时间与多个预估到达时间之间的差异满足要求时(例如,差异小于预设值),则停止训练,相应地,模型训练完成。In some embodiments, each of the multiple historical orders may include a historical starting point, a historical ending point, a historical driving route, a sequence of historical positioning points, a historical departure time, a historical arrival time, and the like. Taking a specific historical order as an example, the processing device 110 may use the historical positioning point sequence and the historical arrival time of the historical order as a sample pair. Correspondingly, the processing device 110 may use multiple sample pairs corresponding to multiple historical orders to perform model training. For example, the processing device 110 may take multiple historical positioning point sequences of multiple historical orders as input, and use the corresponding historical arrival time as a label to train the initial model. After obtaining multiple estimated arrival times of multiple historical orders output by the initial model, the processing device 110 may determine multiple historical arrival times (that is, the actual arrival time of historical orders) and multiple estimated arrival times (that is, the initial model determines The estimated time of arrival), and then reversely adjust the model parameters of the initial model. Then continue to train the initial model with the adjusted parameters. After multiple parameter adjustments, when the difference between the multiple historical arrival times and the multiple estimated arrival times of multiple historical orders meets the requirements (for example, the difference is less than the preset value), the training is stopped, and accordingly, The model training is complete.
在一些实施例中,当确定预估到达时间后,处理设备110(例如,传输模块460)可以将预估到达时间通过网络140发送至终端120。终端120在接收到预估到达时间后,可以将其显示。例如,终端120可以通过图3所示的显示单元320显示预估到达时间。In some embodiments, after the estimated arrival time is determined, the processing device 110 (for example, the transmission module 460) may send the estimated arrival time to the terminal 120 via the network 140. After receiving the estimated time of arrival, the terminal 120 may display it. For example, the terminal 120 may display the estimated arrival time through the display unit 320 shown in FIG. 3.
本申请所披露的确定预估到达时间的方法,利用训练好的生成式对抗网络处理服务请求,确定服务请求的预估定位点序列,并基于预估定位点序列确定服务请求的预估到达时间预估。由于生成式对抗网络在训练过程中,所采用的历史订单可以包括不同版本的路网数据对应的历史行驶路径和历史定位点序列,因此,利用训练好的生成式对抗网络得到的预估定位点序列置信度较高,由此确定的预估到达时间准确度也较高。此外,由于在生成式对抗网络的训练时所使用的训练数据为历史订单的历史行驶路径和/或历史定位点序列,相应地在确定当前服务请求的预估到达时间时,只是基于当前路网数据确定预估行驶路径,进而基于训练好的生成式对抗网络确定预估定位点序列,因此,无需获取各种历史版本的路网数据,从 而可以减少运算量,降低系统开销。The method for determining the estimated time of arrival disclosed in this application uses a trained generative adversarial network to process service requests, determines the estimated positioning point sequence of the service request, and determines the estimated time of arrival of the service request based on the estimated positioning point sequence Estimated. In the training process of the generative confrontation network, the historical orders used can include the historical driving paths and historical positioning point sequences corresponding to different versions of the road network data. Therefore, the estimated positioning points obtained by the trained generative confrontation network are used The sequence confidence is high, and the estimated time of arrival determined therefrom is also more accurate. In addition, since the training data used in the training of the generative confrontation network is the historical driving path and/or historical positioning point sequence of historical orders, correspondingly, when determining the estimated arrival time of the current service request, it is only based on the current road network. The data determines the estimated driving path, and then determines the estimated positioning point sequence based on the trained generative confrontation network. Therefore, there is no need to obtain various historical versions of road network data, which can reduce the amount of calculation and reduce system overhead.
应当注意的是,上述有关流程500的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程500进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。It should be noted that the foregoing description of the process 500 is only for example and description, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to the process 500 under the guidance of this application. However, these amendments and changes are still within the scope of this application.
图6是根据本申请一些实施例所示的用于确定定位点序列估算模型的示例性流程的流程图。在一些实施例中,流程600可以由处理设备(例如,图4所示的训练模块450)执行。例如,流程600可以以程序或指令的形式存储在存储设备(例如,存储设备130或处理设备的存储单元)中,当处理器210或图4所示的模块执行程序或指令时,可以实现流程600。在一些实施例中,流程600可以利用以下未描述的一个或以上附加操作,和/或不通过以下所讨论的一个或以上操作完成。另外,如图6所示的操作的顺序并非限制性的。Fig. 6 is a flowchart of an exemplary process for determining an positioning point sequence estimation model according to some embodiments of the present application. In some embodiments, the process 600 may be executed by a processing device (for example, the training module 450 shown in FIG. 4). For example, the process 600 may be stored in a storage device (for example, the storage device 130 or a storage unit of a processing device) in the form of a program or instruction. When the processor 210 or the module shown in FIG. 4 executes the program or instruction, the process may be implemented. 600. In some embodiments, the process 600 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below. In addition, the order of operations shown in FIG. 6 is not restrictive.
步骤601,处理设备110(例如,训练模块450)可以获取多个历史订单。如结合步骤507所述,处理设备110可以从存储设备中获取多个历史订单的相关数据。In step 601, the processing device 110 (for example, the training module 450) may obtain multiple historical orders. As described in conjunction with step 507, the processing device 110 may obtain data related to multiple historical orders from the storage device.
在一些实施例中,多个历史订单可以包括过去一段时间(例如,6小时、12小时、1天、2天、7天、14天、1个月、3个月等)的服务订单。在一些实施例中,多个历史订单可以包括最近完成的一定数量(例如,10个、50个、100个、500个、1000个等)的服务订单。在一些实施例中,多个历史订单可以是某一区域的服务订单。例如,多个历史订单可以是历史起点或历史终点在同一区域内的历史订单。又例如,多个历史订单可以是历史行驶路线在同一区域内的历史订单。又例如,多个历史订单可以是历史行驶路线的一部分在同一区域内的历史订单。在一些实施例中,同一区域可以包括某个城市、某个地区、某个街道、某个预先设定的区域等。In some embodiments, the multiple historical orders may include service orders for a period of time in the past (for example, 6 hours, 12 hours, 1 day, 2 days, 7 days, 14 days, 1 month, 3 months, etc.). In some embodiments, the plurality of historical orders may include a certain number (eg, 10, 50, 100, 500, 1000, etc.) service orders that have been completed recently. In some embodiments, the multiple historical orders may be service orders for a certain area. For example, multiple historical orders may be historical orders with historical starting points or historical ending points in the same area. For another example, multiple historical orders may be historical orders with historical driving routes in the same area. For another example, multiple historical orders may be historical orders in which part of the historical driving route is in the same area. In some embodiments, the same area may include a certain city, a certain area, a certain street, a certain preset area, and so on.
在一些实施例中,多个历史订单可以对应多个历史行驶路径和多个历史定位点序列(即真实的历史定位点序列)。在一个特定历史订单为例,在该历史订单的执行过程中,用户终端(例如,终端120)可以通过自带的传感器(例如,定位装置)得到定位点。在整个历史订单的执行过程中,定位点的采样可以是实时的,也可以间隔的。例如,采样间隔可以是0.5秒。在历史订单完成后,用户终端(例如,终端120)可以得到一系列的定位点(称之为该历史订单对应的“历史定位点序列”)。相应地,由这些定位点连接所得到的路径可以被称之为历史行驶路径。In some embodiments, multiple historical orders may correspond to multiple historical driving paths and multiple historical positioning point sequences (ie, real historical positioning point sequences). Taking a specific historical order as an example, during the execution of the historical order, the user terminal (for example, the terminal 120) can obtain the positioning point through a built-in sensor (for example, a positioning device). During the execution of the entire historical order, the sampling of positioning points can be real-time or interval. For example, the sampling interval may be 0.5 seconds. After the historical order is completed, the user terminal (for example, the terminal 120) can obtain a series of positioning points (referred to as the "historical positioning point sequence" corresponding to the historical order). Correspondingly, the path obtained by connecting these positioning points can be called a historical driving path.
在一些实施例中,多个历史订单中的每一个还可以包括历史起点、历史终点、历史出发时间、历史到达时间等。In some embodiments, each of the multiple historical orders may also include a historical starting point, a historical ending point, a historical departure time, a historical arrival time, and the like.
步骤603,处理设备110(例如,训练模块450)可以基于多个历史订单,通过至少一次迭代确定生成式对抗网络。In step 603, the processing device 110 (for example, the training module 450) may determine a generative confrontation network through at least one iteration based on multiple historical orders.
作为示例,在一次迭代中,处理设备110可以利用在该次迭代中的生成器确定与多个历史订单中的多个历史行驶路径对应的多个样本定位点序列。随后,处理设备110可以固定生成器并基于该多个样本定位点序列以及多个历史定位点序列优化该次迭代中的判别器。例如,处理设备110可以为每个历史定位点序列赋予标签,例如,标记为1,记为真。同时处理设备110可以为每个样本定位点序列赋予标签,例如,标记为0,记为假。处理设备110可以将多个历史定位点序列以及多个样本定位点序列作为该次迭代中的判别器的输入,判别器可以输出对于多个历史定位点序列以及多个样本定位点序列的分类结果(即真实性判定)。例如,对于每一个定位点序列(即历史定位点序列或样本定位点序列),判别器可以输出一个0-1之间的值,表示该定位点序列的真实性概率。值越大,表示真实性概率越大,说明该定位点序列越接近真实定位点序列。进一步地,处理设备110可以基于该次迭代中的判别器的输出值与对应的标签之间的差异,更新该次迭代中的判别器的参数,使其能够更加准确的分辨输入数据(即多个历史定位点序列以及多个样本定位点序列)的真实性。在一些实施例中,处理设备110可以对判别器的参数进行循环多轮更新。循环更新的次数可以是系统默认值,也可以根据不同情况调整。As an example, in one iteration, the processing device 110 may use the generator in this iteration to determine multiple sample positioning point sequences corresponding to multiple historical driving paths in multiple historical orders. Subsequently, the processing device 110 may fix the generator and optimize the discriminator in this iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences. For example, the processing device 110 may assign a label to each historical anchor point sequence, for example, the label is 1, and it is recorded as true. At the same time, the processing device 110 may assign a label to each sample positioning point sequence, for example, the label is 0 and it is recorded as false. The processing device 110 may use multiple historical anchor point sequences and multiple sample anchor point sequences as the input of the discriminator in this iteration, and the discriminator may output classification results for multiple historical anchor point sequences and multiple sample anchor point sequences (That is, the authenticity determination). For example, for each anchor point sequence (ie, historical anchor point sequence or sample anchor point sequence), the discriminator can output a value between 0-1, which represents the authenticity probability of the anchor point sequence. The larger the value, the greater the probability of authenticity, indicating that the anchor sequence is closer to the real anchor sequence. Further, the processing device 110 can update the parameters of the discriminator in this iteration based on the difference between the output value of the discriminator in this iteration and the corresponding label, so that it can more accurately distinguish the input data (that is, multiple The authenticity of a sequence of historical anchor points and a sequence of multiple sample anchor points). In some embodiments, the processing device 110 may update the parameters of the discriminator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
完成对该次迭代中的判别器的优化后,处理设备110可以固定判别器并至少基于优化的判别器的参数,优化生成器。此时优化后的判别器一定程度上仍可以区分样本定位点序列和历史定位点序列(即,仍可以区分真数据和假数据)。相应地,处理设备110可以优化生成器,以促使其生成的样本定位点序列进一步接近真实的历史定位点序列。在一些实施例中,处理设备110可以对生成器的参数进行循环多轮更新。循环更新的次数可以是系统默认值,也可以根据不同情况调整。After completing the optimization of the discriminator in this iteration, the processing device 110 may fix the discriminator and optimize the generator based at least on the parameters of the optimized discriminator. At this time, the optimized discriminator can still distinguish between the sample anchor point sequence and the historical anchor point sequence to a certain extent (that is, it can still distinguish between true data and fake data). Correspondingly, the processing device 110 may optimize the generator to promote the sequence of sample positioning points generated by it to be closer to the real historical positioning point sequence. In some embodiments, the processing device 110 may update the parameters of the generator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
关于生成式对抗网络的训练的其他描述可以参考本申请其他部分(例如,图7及其描述),在此不再赘述。For other descriptions of the training of the generative confrontation network, please refer to other parts of this application (for example, FIG. 7 and its description), which will not be repeated here.
应当注意的是,上述有关流程600的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程600进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。It should be noted that the foregoing description of the process 600 is only for example and description, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to the process 600 under the guidance of this application. However, these amendments and changes are still within the scope of this application.
图7是根据本申请一些实施例所示的训练生成式对抗网络的一轮示例性迭代的流程图。在一些实施例中,流程700可以由处理设备(例如,图4所示的训练模块450)执行。例如,流程700可以以程序或指令的形式存储在存储设备(例如,存储设备130或处理设备的存储单元)中,当处理器210或图4所示的模块执行程序或指令时,可以实现流程700。在一些实施例中,流程700可以利用以下未描述的一个或以上附加操作,和/或不通过以下所讨论的一个或以上操作完成。另外,如图7所示的操作的顺序并非限制性的。Fig. 7 is a flowchart of an exemplary iteration of training a generative confrontation network according to some embodiments of the present application. In some embodiments, the process 700 may be executed by a processing device (for example, the training module 450 shown in FIG. 4). For example, the process 700 may be stored in a storage device (for example, the storage device 130 or the storage unit of the processing device) in the form of a program or instruction. When the processor 210 or the module shown in FIG. 4 executes the program or instruction, the process may be implemented. 700. In some embodiments, the process 700 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below. In addition, the order of operations shown in FIG. 7 is not restrictive.
步骤701,处理设备110(例如,训练模块450)可以利用当前次迭代中的生成器,确定与多个历史行驶路径对应的多个样本定位点序列。In step 701, the processing device 110 (for example, the training module 450) may use the generator in the current iteration to determine multiple sample positioning point sequences corresponding to multiple historical driving paths.
在一些实施例中,当前次迭代可以是至少一次迭代中的某一次(例如,第一次迭代或中间的一次迭代)。相应地,当前次迭代中的生成器可以是初始生成器或经过了几次参数更新后得到的优化的生成器。在本申请中,“当前次迭代中的生成器”也可以被称为“当前生成器”。In some embodiments, the current iteration may be one of at least one iteration (for example, the first iteration or an intermediate iteration). Correspondingly, the generator in the current iteration can be the initial generator or the optimized generator obtained after several parameter updates. In this application, the "generator in the current iteration" may also be referred to as the "current generator".
在一些实施例中,处理设备110可以基于多个历史行驶路径,获取多个噪声样本。在一些实施例中,处理设备110可以是从先验分布噪声(例如,高斯噪声分布)中采集多个噪声样本。进一步地,处理设备110可以将多个噪声样本依次输入至当前生成器中,得到多个样本定位点序列。In some embodiments, the processing device 110 may obtain multiple noise samples based on multiple historical driving paths. In some embodiments, the processing device 110 may collect multiple noise samples from prior distributed noise (eg, Gaussian noise distribution). Further, the processing device 110 may sequentially input multiple noise samples into the current generator to obtain multiple sample positioning point sequences.
步骤703,处理设备110(例如,训练模块450)可以固定生成器并基于多个样本定位点序列和多个历史定位点序列,优化当前次迭代中的判别器。In step 703, the processing device 110 (for example, the training module 450) may fix the generator and optimize the discriminator in the current iteration based on multiple sample positioning point sequences and multiple historical positioning point sequences.
类似地,当前次迭代中的判别器可以是初始判别器或经过了几次参数更新后得到的优化的判别器。在本申请中,“当前次迭代中的判别器”也可以被称为“当前判别器”。Similarly, the discriminator in the current iteration can be the initial discriminator or an optimized discriminator obtained after several parameter updates. In this application, the "discriminator in the current iteration" may also be referred to as the "current discriminator".
在一些实施例中,处理设备110可以确定多个样本定位点序列和多个历史定位点序列的分类结果,并至少基于分类结果,确定当前判别器的第一损失函数的值。具体地,处理设备110可以为每个历史定位点序列赋予标签,例如,标记为1,记为真。同时处理设备110可以为每个样本定位点序列赋予标签,例如,标记为0,记为假。处理设备110可以将多个历史定位点序列以及多个样本定位点序列作为当前判别器的输入,当前判别器可以输出对于多个历史定位点序列以及多个样本定位点序列的分类结果(即真实性判定)。例如,对于每一个定位点序列(即历史定位点序列或样本定位点序列),当前判别器可以输出一个0-1之间的值,表示该定位点序列的真实性概率。值越大,表示真实性概率越大,说明该定位点序列越接近真实定位点序列。随后,处理设备110可以基于当前判别器的输出值与对应的标签之间的差异,确定当前判别器的第一损失函数的值。在一些实施例中,第一损失函数可以包括均方差损失函数、指数损失函数、对数似然损失函数、交叉熵损失函数、最小二乘损失函数等。In some embodiments, the processing device 110 may determine the classification results of multiple sample positioning point sequences and multiple historical positioning point sequences, and determine the value of the first loss function of the current discriminator based at least on the classification results. Specifically, the processing device 110 may assign a label to each historical anchor point sequence, for example, the label is 1, and it is recorded as true. At the same time, the processing device 110 may assign a label to each sample positioning point sequence, for example, the label is 0 and it is recorded as false. The processing device 110 may use multiple historical anchor point sequences and multiple sample anchor point sequences as the input of the current discriminator, and the current discriminator may output classification results for multiple historical anchor point sequences and multiple sample anchor point sequences (that is, real Sex determination). For example, for each anchor point sequence (ie, historical anchor point sequence or sample anchor point sequence), the current discriminator can output a value between 0-1, which represents the authenticity probability of the anchor point sequence. The larger the value, the greater the probability of authenticity, indicating that the anchor sequence is closer to the real anchor sequence. Subsequently, the processing device 110 may determine the value of the first loss function of the current discriminator based on the difference between the output value of the current discriminator and the corresponding label. In some embodiments, the first loss function may include a mean square error loss function, an exponential loss function, a log-likelihood loss function, a cross entropy loss function, a least square loss function, and the like.
进一步地,处理设备110可以基于第一损失函数的值,优化当前判别器。在生成式对抗网络中,判别器的优化目标是使其尽可能正确区分真实数据(例如,历史定位点序列)和假数据(例如,样本定位点序列)。也就是说,需要让当前判别器对于历史定位点序列的判别尽量接近1,对于样本定位点序列的判别尽量接近0。具体地,处理设备110可以根据第一损失函数的值,反向调整当前判别器的参数以进行优化,以使得优化后的当前判别器对于历史定位点序列的判别尽量接近1,对于样本定位点序列的判别尽量接近0。在一些实施例中, 处理设备110可以对判别器的参数进行循环多轮更新。循环更新的次数可以是系统默认值,也可以根据不同情况调整。Further, the processing device 110 may optimize the current discriminator based on the value of the first loss function. In the generative confrontation network, the optimization goal of the discriminator is to make it as correct as possible to distinguish between real data (for example, a sequence of historical anchor points) and fake data (for example, a sequence of sample anchor points). In other words, it is necessary to make the current discriminator's judgment of the historical positioning point sequence as close to 1 as possible, and the judgment of the sample positioning point sequence as close to 0 as possible. Specifically, the processing device 110 may reversely adjust the parameters of the current discriminator to optimize according to the value of the first loss function, so that the optimized current discriminator's discrimination for the historical positioning point sequence is as close to 1 as possible for the sample positioning point The sequence discrimination is as close to 0 as possible. In some embodiments, the processing device 110 may update the parameters of the discriminator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
步骤705,处理设备110(例如,训练模块450)可以固定优化的判别器并至少基于优化的判别器的参数,优化生成器。In step 705, the processing device 110 (for example, the training module 450) may fix the optimized discriminator and optimize the generator based at least on the parameters of the optimized discriminator.
在一些实施例中,处理设备110可以至少基于优化的判别器的参数、多个样本定位点序列和多个历史定位点序列,确定生成器的第二损失函数的值。具体地,处理设备110可以基于优化后的判别器对多个样本定位点序列的分类结果(即真实性判定)以及多个样本定位点序列和多个历史定位点序列的差异,确定当前生成器的第二损失函数的值。在一些实施例中,第二损失函数可以包括均方差损失函数、指数损失函数、对数似然损失函数、交叉熵损失函数、最小二乘损失函数等。In some embodiments, the processing device 110 may determine the value of the second loss function of the generator based at least on the parameters of the optimized discriminator, multiple sample positioning point sequences, and multiple historical positioning point sequences. Specifically, the processing device 110 may determine the current generator based on the classification result (ie, authenticity determination) of the multiple sample positioning point sequences by the optimized discriminator and the difference between the multiple sample positioning point sequences and the multiple historical positioning point sequences The value of the second loss function. In some embodiments, the second loss function may include a mean square error loss function, an exponential loss function, a log-likelihood loss function, a cross entropy loss function, a least square loss function, and the like.
进一步地,处理设备110可以基于第二损失函数的值,优化当前生成器。在生成式对抗网络中,生成器的优化目标是使其生成的样本定位点序列尽可能接近真实的历史定位点序列。因此,需要最小化第二损失函数的值。具体地,处理设备110可以根据第二损失函数的值,反向调整当前生成器的参数以进行优化,以使得优化后的生成器所生成的样本定位点序列尽可能接近真实的历史定位点序列,即使得判别器对于样本定位点序列的判别尽量接近1。在一些实施例中,处理设备110可以对生成器的参数进行循环多轮更新。循环更新的次数可以是系统默认值,也可以根据不同情况调整。Further, the processing device 110 may optimize the current generator based on the value of the second loss function. In the generative confrontation network, the optimization goal of the generator is to make the generated sample positioning point sequence as close as possible to the real historical positioning point sequence. Therefore, the value of the second loss function needs to be minimized. Specifically, the processing device 110 may reversely adjust the parameters of the current generator for optimization according to the value of the second loss function, so that the sample positioning point sequence generated by the optimized generator is as close as possible to the real historical positioning point sequence. , That is, make the discriminator's judgment of the sample positioning point sequence as close to 1 as possible. In some embodiments, the processing device 110 may update the parameters of the generator in multiple rounds. The number of cyclic updates can be the system default value, or it can be adjusted according to different situations.
应当注意的是,上述有关流程700的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程700进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。It should be noted that the foregoing description of the process 700 is only for example and description, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to the process 700 under the guidance of this application. However, these amendments and changes are still within the scope of this application.
图8是根据本申请一些实施例所示的示例性终端的模块图。如图8所示,终端120可以包括交互模块810、传输模块820以及通讯模块830。Fig. 8 is a block diagram of an exemplary terminal according to some embodiments of the present application. As shown in FIG. 8, the terminal 120 may include an interaction module 810, a transmission module 820, and a communication module 830.
交互模块810可以获取服务请求。在一些实施例中,用户(例如,乘客)可以通过不同的输入方式输入服务请求。示例性的输入方式包括但不限于文字输入(例如,手写输入、打字输入)、选择输入、语音输入、扫描标记输入等或其任意组合。在一些实施例中,终端120可以通过任意适当的内容形式(例如,文本、图像、视频、音频、图形等)显示用户输入的信息(例如,起点和/或终点)。在一些实施例中,交互模块810可以基于时间相关标准、服务成本相关标准、距离远近相关标准等呈现用户输入的信息。例如,用户输入的信息可以通过一个或多个选项中的最近出发点、最佳上车点、目的地等呈现。The interaction module 810 can obtain a service request. In some embodiments, users (for example, passengers) can input service requests through different input methods. Exemplary input methods include, but are not limited to, text input (for example, handwriting input, typing input), selection input, voice input, scan mark input, etc., or any combination thereof. In some embodiments, the terminal 120 may display the information (for example, the start point and/or the end point) input by the user in any suitable content form (for example, text, image, video, audio, graphics, etc.). In some embodiments, the interaction module 810 may present the information input by the user based on time-related standards, service cost-related standards, distance-related standards, and the like. For example, the information input by the user may be presented through the nearest departure point, the best pick-up point, and the destination among one or more options.
传输模块830可以发送服务请求至服务器。传输模块830可以通过网络140将服务请求发送至服务器(例如,处理设备110)。在一些实施例中,处理设备110可以基于起点和终 点,确定服务请求的预估行驶路径。随后,处理设备110可以基于预设行驶路径,获取预估定位点序列。进一步地,处理设备110可以基于预估定位点序列,确定服务请求的预估到达时间。在一些实施例中,上述操作也可以通过终端120实现。The transmission module 830 may send a service request to the server. The transmission module 830 may send the service request to the server (for example, the processing device 110) through the network 140. In some embodiments, the processing device 110 may determine the estimated travel path of the service request based on the starting point and the ending point. Subsequently, the processing device 110 may obtain an estimated positioning point sequence based on the preset driving path. Further, the processing device 110 may determine the estimated arrival time of the service request based on the estimated positioning point sequence. In some embodiments, the foregoing operations may also be implemented by the terminal 120.
通讯模块830可以接收由服务器发送的服务请求对应的预估到达时间。在一些实施例中,可以通过任何合适的通信协议(例如,超文本传输协议(HTTP)、地址解析协议(ARP)、动态主机配置协议(DHCP)、文件传输协议(FTP)等)发送和/或接收预估到达时间。在一些实施例中,接收到预估到达时间后,终端120可以通过多种方式(例如,文本、图像、音频、视频等)显示预估到达时间。The communication module 830 may receive the estimated arrival time corresponding to the service request sent by the server. In some embodiments, it may be sent and/or via any suitable communication protocol (for example, Hypertext Transfer Protocol (HTTP), Address Resolution Protocol (ARP), Dynamic Host Configuration Protocol (DHCP), File Transfer Protocol (FTP), etc.) Or receive the estimated time of arrival. In some embodiments, after receiving the estimated time of arrival, the terminal 120 may display the estimated time of arrival in a variety of ways (for example, text, image, audio, video, etc.).
在一些实施例中,终端120中的两个或以上模块可以组合为单个模块,模块中的任一个可以被分成两个或以上单元。例如,传输模块820和通讯模块830可以组合为单个模块,用于发送服务请求和接收预估到达时间。又例如,终端120可以包括存储模块(图8中未示出),其可以被配置为存储终端执行过程中涉及的多种数据(例如,服务请求、预估到达时间)。In some embodiments, two or more modules in the terminal 120 may be combined into a single module, and any of the modules may be divided into two or more units. For example, the transmission module 820 and the communication module 830 can be combined into a single module for sending service requests and receiving estimated arrival time. For another example, the terminal 120 may include a storage module (not shown in FIG. 8), which may be configured to store various data (for example, service request, estimated time of arrival) involved in the execution of the terminal.
应当理解,图8所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。It should be understood that the system and its modules shown in FIG. 8 can be implemented in various ways. For example, in some embodiments, the system and its modules may be implemented by hardware, software, or a combination of software and hardware. Among them, the hardware part can be implemented using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. Those skilled in the art can understand that the above-mentioned methods and systems can be implemented using computer-executable instructions and/or included in processor control codes, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory (firmware Such codes are provided on a programmable memory or a data carrier such as an optical or electronic signal carrier. The system and its modules of this 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. It may also be implemented by software executed by various types of processors, or may be implemented by a combination of the above-mentioned hardware circuit and software (for example, firmware).
图9是根据本申请一些实施例所示的用于确定预估到达时间的示例性流程的流程图。在一些实施例中,流程500可以由移动设备(例如,图1所示的终端120)执行。例如,流程900可以以程序或指令的形式存储在存储设备(例如,存储设备130或移动设备的存储单元)中,当处理器340或图8所示的模块执行程序或指令时,可以实现流程900。在一些实施例中,流程900可以利用以下未描述的一个或以上附加操作,和/或不通过以下所讨论的一个或以上操作完成。另外,如图9所示的操作的顺序并非限制性的。Fig. 9 is a flowchart of an exemplary process for determining an estimated arrival time according to some embodiments of the present application. In some embodiments, the process 500 may be executed by a mobile device (for example, the terminal 120 shown in FIG. 1). For example, the process 900 may be stored in a storage device (for example, the storage device 130 or a storage unit of a mobile device) in the form of a program or instruction. When the processor 340 or the module shown in FIG. 8 executes the program or instruction, the process may be implemented. 900. In some embodiments, the process 900 may utilize one or more additional operations not described below, and/or not be completed by one or more operations discussed below. In addition, the order of operations shown in FIG. 9 is not restrictive.
步骤901,终端120(例如,交互模块810)可以获取服务请求。In step 901, the terminal 120 (for example, the interaction module 810) may obtain a service request.
在一些实施例中,用户(例如,乘客)可以通过不同的输入方式输入服务请求。示例 性的输入方式包括但不限于文字输入(例如,手写输入、打字输入)、选择输入、语音输入、扫描标记输入等或其任意组合。在一些实施例中,终端120可以通过任意适当的内容形式(例如,文本、图像、视频、音频、图形等)显示用户输入的信息(例如,起点和/或终点)。在一些实施例中,终端120可以基于时间相关标准、服务成本相关标准、距离远近相关标准等呈现用户输入的信息。例如,用户输入的信息可以通过一个或多个选项中的最近出发点、最佳上车点、目的地等呈现。In some embodiments, users (for example, passengers) can input service requests through different input methods. Exemplary input methods include, but are not limited to, text input (for example, handwriting input, typing input), selection input, voice input, scan mark input, etc., or any combination thereof. In some embodiments, the terminal 120 may display the information (for example, the start point and/or the end point) input by the user in any suitable content form (for example, text, image, video, audio, graphics, etc.). In some embodiments, the terminal 120 may present information input by the user based on time-related standards, service cost-related standards, distance-related standards, and the like. For example, the information input by the user may be presented through the nearest departure point, the best pick-up point, and the destination among one or more options.
在一些实施例中,服务请求可以至少包括起点和终点。用户可以通过在终端120显示的地图上指示(例如,通过点击、拖曳等)的方式输入起点和/或终点。在一些实施例中,终端120还可以获取周围环境的图像、音频或视频,并基于图像、音频或视频确定起点和/或终点的相关信息。关于服务请求的更多描述可见步骤501,在此不再赘述。In some embodiments, the service request may include at least a start point and an end point. The user can input the start point and/or end point by indicating (for example, by clicking, dragging, etc.) on the map displayed on the terminal 120. In some embodiments, the terminal 120 may also obtain images, audio, or video of the surrounding environment, and determine the starting point and/or the related information of the ending point based on the image, audio, or video. For more description of the service request, see step 501, which will not be repeated here.
步骤903,终端120(例如,传输模块820)可以发送服务请求至服务器。In step 903, the terminal 120 (for example, the transmission module 820) may send a service request to the server.
在一些实施例中,终端120可以通过网络140将服务请求发送至服务器(例如,处理设备110)。在一些实施例中,处理设备110可以基于起点和终点,确定服务请求的预估行驶路径。随后,处理设备110可以基于预设行驶路径,获取预估定位点序列。进一步地,处理设备110可以基于预估定位点序列,确定服务请求的预估到达时间。更多描述可见图5-7及其描述,在此不再赘述。在一些实施例中,上述操作也可以通过终端120实现。In some embodiments, the terminal 120 may send the service request to the server (for example, the processing device 110) through the network 140. In some embodiments, the processing device 110 may determine the estimated travel path of the service request based on the start point and the end point. Subsequently, the processing device 110 may obtain an estimated positioning point sequence based on the preset driving path. Further, the processing device 110 may determine the estimated arrival time of the service request based on the estimated positioning point sequence. For more description, see Figures 5-7 and their descriptions, which will not be repeated here. In some embodiments, the foregoing operations may also be implemented by the terminal 120.
步骤905,终端120(例如,通讯模块830)可以接收由服务器发送的服务请求对应的预估到达时间。In step 905, the terminal 120 (for example, the communication module 830) may receive the estimated time of arrival corresponding to the service request sent by the server.
在一些实施例中,可以通过任何合适的通信协议(例如,超文本传输协议(HTTP)、地址解析协议(ARP)、动态主机配置协议(DHCP)、文件传输协议(FTP)等)发送和/或接收预估到达时间。在一些实施例中,接收到预估到达时间后,终端120可以通过多种方式(例如,文本、图像、音频、视频等)显示预估到达时间。In some embodiments, it may be sent and/or via any suitable communication protocol (for example, Hypertext Transfer Protocol (HTTP), Address Resolution Protocol (ARP), Dynamic Host Configuration Protocol (DHCP), File Transfer Protocol (FTP), etc.) Or receive the estimated time of arrival. In some embodiments, after receiving the estimated time of arrival, the terminal 120 may display the estimated time of arrival in a variety of ways (for example, text, image, audio, video, etc.).
应当注意的是,上述有关流程900的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程900进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。It should be noted that the foregoing description of the process 900 is only for example and description, and does not limit the scope of application of the present application. For those skilled in the art, various modifications and changes can be made to the process 900 under the guidance of this application. However, these amendments and changes are still within the scope of this application.
图10是根据本申请一些实施例所示的处理设备与终端之间的交互示意图。如图10所示,在获取到服务请求后,终端120(例如,传输模块820)可以将服务请求发送至处理设备110(例如,获取模块410)。接收到服务请求后,处理设备110可以基于本申请其他位置的方法,确定服务请求的预估到达时间。之后,处理设备110(例如,传输模块460)可以将预估到达时间发送至终端120(例如,通讯模块830)。接收到预估到达时间后,终端120可以通过各种形式显示预估到达时间。Fig. 10 is a schematic diagram of interaction between a processing device and a terminal according to some embodiments of the present application. As shown in FIG. 10, after obtaining the service request, the terminal 120 (for example, the transmission module 820) may send the service request to the processing device 110 (for example, the obtaining module 410). After receiving the service request, the processing device 110 may determine the estimated time of arrival of the service request based on methods in other locations of this application. After that, the processing device 110 (for example, the transmission module 460) may send the estimated arrival time to the terminal 120 (for example, the communication module 830). After receiving the estimated time of arrival, the terminal 120 may display the estimated time of arrival in various forms.
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only an example, and does not constitute a limitation to the application. Although it is not explicitly stated here, those skilled in the art may make various modifications, improvements and amendments to this application. Such modifications, improvements, and corrections are suggested in this application, so such modifications, improvements, and corrections still belong to the spirit and scope of the exemplary embodiments of this application.
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。At the same time, this application uses specific words to describe the embodiments of this application. For example, "one embodiment", "an embodiment", and/or "some embodiments" mean a certain feature, structure, or characteristic related to at least one embodiment of the present application. Therefore, it should be emphasized and noted that “one embodiment” or “one embodiment” or “an alternative embodiment” mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. . In addition, some features, structures, or characteristics in one or more embodiments of the present application can be appropriately combined.
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。In addition, those skilled in the art can understand that various aspects of this application can be explained and described through a number of patentable categories or situations, including any new and useful process, machine, product, or combination of substances, or a combination of them. Any new and useful improvements. Correspondingly, various aspects of the present application can be completely executed by hardware, can be completely executed by software (including firmware, resident software, microcode, etc.), or can be executed by a combination of hardware and software. The above hardware or software can be called "data block", "module", "engine", "unit", "component" or "system". In addition, various aspects of this application may be embodied as a computer product located in one or more computer-readable media, and the product includes computer-readable program codes.
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。The computer storage medium may contain a propagated data signal containing a computer program code, for example on a baseband or as part of a carrier wave. The propagated signal may have multiple manifestations, including electromagnetic forms, optical forms, etc., or suitable combinations. The computer storage medium may be any computer readable medium other than the computer readable storage medium, and the medium may be connected to an instruction execution system, device, or device to realize communication, propagation, or transmission of the program for use. The program code located on the computer storage medium can be transmitted through any suitable medium, including radio, cable, fiber optic cable, RF, or similar medium, or any combination of the above medium.
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如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)。The computer program codes required for the operation of each part of this application can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python Etc., conventional 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 can be run entirely on the user's computer, or run as an independent software package on the user's computer, or partly run on the user's computer and partly run on a remote computer, or run entirely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any network form, such as a local area network (LAN) or a wide area network (WAN), or connected to an external computer (for example, via the Internet), or in a cloud computing environment, or as a service Use software as a service (SaaS).
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。In addition, unless explicitly stated in the claims, the order of processing elements and sequences, the use of numbers and letters, or the use of other names in this application are not used to limit the order of the procedures and methods of this application. Although the foregoing disclosure uses various examples to discuss some embodiments of the invention that are currently considered useful, it should be understood that such details are only for illustrative purposes, and the appended claims are not limited to the disclosed embodiments. On the contrary, the rights are The requirements are intended to cover all modifications and equivalent combinations that conform to the essence and scope of the embodiments of the present application. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。For the same reason, it should be noted that, in order to simplify the expressions disclosed in this application and thus help the understanding of one or more embodiments of the invention, in the foregoing description of the embodiments of this application, multiple features are sometimes combined into one embodiment. In the drawings or its description. However, this method of disclosure does not mean that the subject of the application requires more features than those mentioned in the claims. In fact, the features of the embodiment are less than all the features of the single embodiment disclosed above.
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。In some embodiments, numbers describing the number of ingredients and attributes are used. It should be understood that such numbers used in the description of the embodiments use the modifier "about", "approximately" or "substantially" in some examples. Retouch. Unless otherwise stated, "approximately", "approximately" or "substantially" indicates that the number is allowed to vary by ±20%. Correspondingly, in some embodiments, the numerical parameters used in the description and claims are approximate values, and the approximate values can be changed according to the required characteristics of individual embodiments. In some embodiments, the numerical parameter should consider the prescribed effective digits and adopt the method of general digit retention. Although the numerical ranges and parameters used to confirm the breadth of the ranges in some embodiments of the present application are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。For each patent, patent application, patent application publication and other materials cited in this application, such as articles, books, specifications, publications, documents, etc., the entire contents are hereby incorporated into this application as a reference. The application history documents that are inconsistent or conflicting with the content of this application are excluded, and documents that restrict the broadest scope of the claims of this application (currently or later attached to this application) are also excluded. It should be noted that if there is any inconsistency or conflict between the description, definition, and/or term usage in the attached materials of this application and the content described in this application, the description, definition and/or term usage of this application shall prevail .
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。Finally, it should be understood that the embodiments described in this application are only used to illustrate the principles of the embodiments of this application. Other variations may also fall within the scope of this application. Therefore, as an example and not a limitation, the alternative configuration of the embodiment of the present application can be regarded as consistent with the teaching of the present application. Accordingly, the embodiments of the present application are not limited to the embodiments explicitly introduced and described in the present application.

Claims (21)

  1. 一种系统,包括:A system including:
    至少一个存储介质,所述存储介质包括用于确定预估到达时间的指令;At least one storage medium, the storage medium including an instruction for determining an estimated time of arrival;
    至少一个处理器,所述至少一个处理器与所述至少一个存储介质通信,其中,在执行所述指令时,所述至少一个处理器被配置为:At least one processor, the at least one processor is in communication with the at least one storage medium, wherein, when the instruction is executed, the at least one processor is configured to:
    获取服务请求,所述服务请求至少包括起点和终点;Obtaining a service request, the service request including at least a starting point and an ending point;
    基于所述起点和所述终点,确定所述服务请求的预估行驶路径;Determining the estimated driving path of the service request based on the starting point and the ending point;
    基于所述预估行驶路径,获取预估定位点序列;Obtaining an estimated positioning point sequence based on the estimated driving path;
    基于所述预估定位点序列,确定所述服务请求的预估到达时间。Based on the estimated positioning point sequence, the estimated time of arrival of the service request is determined.
  2. 根据权利要求1所述的系统,其中,为确定所述预估行驶路径,所述处理器被配置为:The system according to claim 1, wherein, in order to determine the estimated travel path, the processor is configured to:
    基于所述起点和所述终点,确定与所述服务请求相关的路网数据;Determine road network data related to the service request based on the start point and the end point;
    基于所述起点、所述终点以及所述路网数据,利用路径规划算法确定所述预估行驶路径。Based on the starting point, the ending point, and the road network data, the estimated driving path is determined by using a path planning algorithm.
  3. 根据权利要求1所述的系统,其中,所述预估行驶路径包括多个路段以及多个路段的交通状况。The system according to claim 1, wherein the estimated travel path includes multiple road segments and traffic conditions of multiple road segments.
  4. 根据权利要求1所述的系统,其中,为基于所述预估行驶路径,获取预估定位点序列,所述处理器被配置为:The system according to claim 1, wherein, to obtain an estimated positioning point sequence based on the estimated driving path, the processor is configured to:
    利用定位点序列估算模型处理所述预估行驶路径,获取所述预估定位点序列。The estimated driving path is processed by using the positioning point sequence estimation model to obtain the estimated positioning point sequence.
  5. 根据权利要求4所述的系统,其中,所述定位点序列估算模型包括神经网络模型。The system according to claim 4, wherein the positioning point sequence estimation model includes a neural network model.
  6. 根据权利要求4所述的系统,其中,所述定位点序列估算模型包括生成式对抗网络,所述生成式对抗网络包括生成器和判别器。The system according to claim 4, wherein the positioning point sequence estimation model includes a generative countermeasure network, and the generative countermeasure network includes a generator and a discriminator.
  7. 根据权利要求6所述的系统,其中,为获取所述定位点序列估算模型,所述处理器被配置为:The system according to claim 6, wherein, in order to obtain the positioning point sequence estimation model, the processor is configured to:
    获取多个历史订单,所述多个历史订单对应多个历史行驶路径和多个历史定位点序列;Acquiring multiple historical orders, the multiple historical orders corresponding to multiple historical driving paths and multiple historical positioning point sequences;
    基于所述多个历史订单,通过至少一次迭代确定所述生成式对抗网络,其中,所述至少一次迭代中的每一次包括:Based on the multiple historical orders, the generative confrontation network is determined through at least one iteration, wherein each of the at least one iteration includes:
    利用当前次迭代中的生成器,确定与所述多个历史行驶路径对应的多个样本定位点序列;Using the generator in the current iteration to determine multiple sample positioning point sequences corresponding to the multiple historical driving paths;
    固定所述生成器并基于所述多个样本定位点序列和所述多个历史定位点序列,优化当前次迭代中的判别器;Fixing the generator and optimizing the discriminator in the current iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences;
    固定优化的判别器并至少基于所述优化的判别器的参数,优化所述生成器。Fix the optimized discriminator and optimize the generator based on at least the parameters of the optimized discriminator.
  8. 根据权利要求7所述的系统,其中,为优化所述判别器,所述处理器进一步配置为:The system according to claim 7, wherein, in order to optimize the discriminator, the processor is further configured to:
    确定所述多个样本定位点序列和所述多个历史定位点序列的分类结果;Determining the classification results of the multiple sample positioning point sequences and the multiple historical positioning point sequences;
    至少基于所述分类结果,确定所述判别器的第一损失函数的值;Determine the value of the first loss function of the discriminator based at least on the classification result;
    基于所述第一损失函数的值,优化所述判别器。Based on the value of the first loss function, the discriminator is optimized.
  9. 根据权利要求7所述的系统,其中,为优化所述生成器,所述处理器进一步配置为:The system according to claim 7, wherein, in order to optimize the generator, the processor is further configured to:
    至少基于所述优化的判别器的参数、所述多个样本定位点序列和所述多个历史定位点序列,确定所述生成器的第二损失函数的值;Determining the value of the second loss function of the generator based at least on the parameters of the optimized discriminator, the multiple sample positioning point sequences, and the multiple historical positioning point sequences;
    基于所述第二损失函数的值,优化所述生成器。Based on the value of the second loss function, the generator is optimized.
  10. 根据权利要求1所述的系统,其中,为基于所述预估定位点序列,确定所述服务请求的预估到达时间,所述处理器被配置为:The system according to claim 1, wherein, to determine the estimated time of arrival of the service request based on the estimated positioning point sequence, the processor is configured to:
    利用预估到达时间模型处理所述预估定位点序列,确定所述服务请求的预估到达时间。The estimated time of arrival model is used to process the estimated positioning point sequence to determine the estimated time of arrival of the service request.
  11. 一种用于确定预估到达时间的方法,其中,所述方法包括:A method for determining estimated time of arrival, wherein the method includes:
    获取服务请求,所述服务请求至少包括起点和终点;Obtaining a service request, the service request including at least a starting point and an ending point;
    基于所述起点和所述终点,确定所述服务请求的预估行驶路径;Determining the estimated driving path of the service request based on the starting point and the ending point;
    基于所述行驶路径,获取预估定位点序列;Obtaining an estimated positioning point sequence based on the driving path;
    基于所述预估定位点序列,确定所述服务请求的预估到达时间。Based on the estimated positioning point sequence, the estimated time of arrival of the service request is determined.
  12. 根据权利要求11所述的方法,其中,所述确定所述预估行驶路径,包括:The method according to claim 11, wherein said determining said estimated driving path comprises:
    基于所述起点和所述终点,确定与所述服务请求相关的路网数据;Determine road network data related to the service request based on the start point and the end point;
    基于所述起点、所述终点以及所述路网数据,利用路径规划算法确定所述预估行驶路径。Based on the starting point, the ending point, and the road network data, the estimated driving path is determined by using a path planning algorithm.
  13. 根据权利要求11所述的方法,其中,所述预估行驶路径包括多个路段以及多个路段的交通状况。The method according to claim 11, wherein the estimated travel path includes multiple road sections and traffic conditions of multiple road sections.
  14. 根据权利要求11所述的方法,其中,所述基于所述预估行驶路径,获取预估定位点序列,包括:The method according to claim 11, wherein the obtaining an estimated positioning point sequence based on the estimated driving path comprises:
    利用定位点序列估算模型处理所述预估行驶路径,获取所述预估定位点序列。The estimated driving path is processed by using the positioning point sequence estimation model to obtain the estimated positioning point sequence.
  15. 根据权利要求14所述的方法,其中,所述定位点序列估算模型包括神经网络模型。The method according to claim 14, wherein the positioning point sequence estimation model comprises a neural network model.
  16. 根据权利要求14所述的方法,其中,所述定位点序列估算模型包括生成式对抗网络,所述生成式对抗网络包括生成器和判别器。The method according to claim 14, wherein the positioning point sequence estimation model includes a generative confrontation network, and the generative confrontation network includes a generator and a discriminator.
  17. 根据权利要求16所述的方法,其中,所述获取所述定位点序列估算模型,包括:The method according to claim 16, wherein said obtaining said positioning point sequence estimation model comprises:
    获取多个历史订单,所述多个历史订单对应多个历史行驶路径和多个历史定位点序列;Acquiring multiple historical orders, the multiple historical orders corresponding to multiple historical driving paths and multiple historical positioning point sequences;
    基于所述多个历史订单,通过至少一次迭代确定所述生成式对抗网络,其中,所述至少一次迭代中的每一次包括:Based on the multiple historical orders, the generative confrontation network is determined through at least one iteration, wherein each of the at least one iteration includes:
    利用当前次迭代中的生成器,确定与所述多个历史行驶路径对应的多个样本定位点序列;Using the generator in the current iteration to determine multiple sample positioning point sequences corresponding to the multiple historical driving paths;
    固定所述生成器并基于所述多个样本定位点序列和所述多个历史定位点序列,优化当前次迭代中的判别器;Fixing the generator and optimizing the discriminator in the current iteration based on the multiple sample positioning point sequences and the multiple historical positioning point sequences;
    固定优化的判别器并至少基于所述优化的判别器的参数,优化所述生成器。Fix the optimized discriminator and optimize the generator based on at least the parameters of the optimized discriminator.
  18. 根据权利要求17所述的方法,其中,所述优化所述判别器,包括:The method according to claim 17, wherein said optimizing said discriminator comprises:
    至少基于所述多个样本定位点序列和所述多个历史定位点序列,确定所述判别器的第一损失函数的值;Determining the value of the first loss function of the discriminator based at least on the plurality of sample positioning point sequences and the plurality of historical positioning point sequences;
    基于所述第一损失函数的值,优化所述判别器。Based on the value of the first loss function, the discriminator is optimized.
  19. 根据权利要求17所述的方法,其中,所述优化所述生成器,包括:The method according to claim 17, wherein said optimizing said generator comprises:
    至少基于所述优化的判别器的参数、所述多个样本定位点序列和所述多个历史定位点序列,确定所述生成器的第二损失函数的值;Determining the value of the second loss function of the generator based at least on the parameters of the optimized discriminator, the multiple sample positioning point sequences, and the multiple historical positioning point sequences;
    基于所述第二损失函数的值,优化所述生成器。Based on the value of the second loss function, the generator is optimized.
  20. 根据权利要求11所述的方法,其中,所述基于所述预估定位点序列,确定所述服务请求的预估到达时间,包括:The method according to claim 11, wherein the determining the estimated time of arrival of the service request based on the estimated positioning point sequence comprises:
    利用预估到达时间模型处理所述预估定位点序列,确定所述服务请求的预估到达时间。The estimated time of arrival model is used to process the estimated positioning point sequence to determine the estimated time of arrival of the service request.
  21. 一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如下用于确定预估到达时间的方法;A computer-readable storage medium that stores computer instructions. After the computer reads the computer instructions in the storage medium, the computer executes the following method for determining the estimated time of arrival;
    获取服务请求,所述服务请求至少包括起点和终点;Obtaining a service request, the service request including at least a starting point and an ending point;
    基于所述起点和所述终点,确定所述服务请求的预估行驶路径;Determining the estimated driving path of the service request based on the starting point and the ending point;
    基于所述行驶路径,获取预估定位点序列;Obtaining an estimated positioning point sequence based on the driving path;
    基于所述预估定位点序列,确定所述服务请求的预估到达时间。Based on the estimated positioning point sequence, the estimated time of arrival of the service request is determined.
PCT/CN2020/116081 2019-09-18 2020-09-18 Method and system for determining estimated time of arrival WO2021052451A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910879115.5 2019-09-18
CN201910879115.5A CN111860903A (en) 2019-09-18 2019-09-18 Method and system for determining estimated arrival time

Publications (1)

Publication Number Publication Date
WO2021052451A1 true WO2021052451A1 (en) 2021-03-25

Family

ID=72970591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/116081 WO2021052451A1 (en) 2019-09-18 2020-09-18 Method and system for determining estimated time of arrival

Country Status (2)

Country Link
CN (1) CN111860903A (en)
WO (1) WO2021052451A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113847923A (en) * 2021-08-18 2021-12-28 北京百度网讯科技有限公司 Calculation method and device of estimated arrival time, electronic equipment and readable storage medium
CN115907591A (en) * 2022-12-15 2023-04-04 浙江蓝景科技有限公司杭州分公司 Early warning method and system for abnormal behaviors of ocean cloud bin pollutant transport vehicle

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111784475A (en) * 2020-07-06 2020-10-16 北京嘀嘀无限科技发展有限公司 Order information processing method, system, device and storage medium
CN114822061B (en) * 2022-03-30 2023-11-28 阿里巴巴(中国)有限公司 Arrival time estimation method, arrival time estimation device, electronic equipment and computer program product

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101971181A (en) * 2008-06-24 2011-02-09 电子地图北美公司 Methods and systems for dynamically adaptive road network hierarchy and routing
CN105551244A (en) * 2015-12-08 2016-05-04 重庆云途交通科技有限公司 Dynamic path planning method
US20160356617A1 (en) * 2015-06-07 2016-12-08 Apple Inc. Transit Incidents
CN107111794A (en) * 2015-01-11 2017-08-29 微软技术许可有限责任公司 Prediction and the changeability using the travel time in Map Services

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117790A (en) * 2015-07-29 2015-12-02 北京嘀嘀无限科技发展有限公司 Fare estimating method and apparatus
AU2017411519B2 (en) * 2017-04-27 2020-06-25 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for determining an estimated time of arrival
CN109313742A (en) * 2017-05-16 2019-02-05 北京嘀嘀无限科技发展有限公司 Determine the method and system for estimating arrival time
CN114944059B (en) * 2017-05-22 2023-11-03 北京嘀嘀无限科技发展有限公司 Method and system for determining estimated arrival time
WO2018227368A1 (en) * 2017-06-13 2018-12-20 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for recommending an estimated time of arrival
EP3635706B1 (en) * 2017-06-22 2021-11-17 Beijing Didi Infinity Technology And Development Co., Ltd. Methods and systems for estimating time of arrival
CN108647827B (en) * 2018-05-15 2020-03-17 北京三快在线科技有限公司 Merchant queuing time prediction method and device, electronic equipment and storage medium
CN109002905B (en) * 2018-06-25 2019-07-23 北京嘀嘀无限科技发展有限公司 Estimate the method and system of arrival time
CN109858763A (en) * 2018-12-29 2019-06-07 中国电力科学研究院有限公司 A kind of building method and device of the electric power industrial control data message based on GAN
CN109657156B (en) * 2019-01-22 2021-06-01 杭州师范大学 Individualized recommendation method based on loop generation countermeasure network
CN110097185B (en) * 2019-03-29 2021-03-23 北京大学 Optimization model method based on generation of countermeasure network and application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101971181A (en) * 2008-06-24 2011-02-09 电子地图北美公司 Methods and systems for dynamically adaptive road network hierarchy and routing
CN107111794A (en) * 2015-01-11 2017-08-29 微软技术许可有限责任公司 Prediction and the changeability using the travel time in Map Services
US20160356617A1 (en) * 2015-06-07 2016-12-08 Apple Inc. Transit Incidents
CN105551244A (en) * 2015-12-08 2016-05-04 重庆云途交通科技有限公司 Dynamic path planning method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113847923A (en) * 2021-08-18 2021-12-28 北京百度网讯科技有限公司 Calculation method and device of estimated arrival time, electronic equipment and readable storage medium
CN115907591A (en) * 2022-12-15 2023-04-04 浙江蓝景科技有限公司杭州分公司 Early warning method and system for abnormal behaviors of ocean cloud bin pollutant transport vehicle

Also Published As

Publication number Publication date
CN111860903A (en) 2020-10-30

Similar Documents

Publication Publication Date Title
WO2021052451A1 (en) Method and system for determining estimated time of arrival
TWI734941B (en) Systems and methods for monitoring traffic congestion
CN109313846B (en) System and method for recommending pick-up points
US20230075585A1 (en) Determining matches using dynamic provider eligibility model
CN108713326B (en) System and method for distributing on-demand service requests
US9301099B2 (en) Method of analyzing points of interest with probe data
US10838420B2 (en) Vehicular PSM-based estimation of pedestrian density data
WO2016127917A1 (en) Order pushing method and system
US10876847B2 (en) Systems and methods for route planning
CN108701403A (en) For showing and the system and method for the relevant mark of service request
US20200158522A1 (en) Systems and methods for determining a new route in a map
CN112590813A (en) Method, apparatus, electronic device, and medium for generating information of autonomous vehicle
US20200244744A1 (en) Systems and methods for determining an optimal transportation service type in an online to offline service
CN112055867A (en) System and method for recommending personalized boarding location
Zhang et al. Eco-driving for public transit in cyber-physical systems using V2I communication
CN111881368A (en) Method and system for determining recommended boarding point
CN111260092A (en) System and method for predicting object arrival times
US11346683B2 (en) Method and apparatus for providing argumentative navigation routing
US10250701B2 (en) Method and system for determining an actual point-of-interest based on user activity and environment contexts
CN111859177A (en) Positioning method and system
WO2021129585A1 (en) Method and system for providing location point recommendation for user
CN116508013A (en) System and method for recommending points of interest
WO2021136147A1 (en) Method and system for positioning preset region of shared device
CN111881369A (en) Method and system for detecting accuracy of recommended boarding point name

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: 20866268

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: 20866268

Country of ref document: EP

Kind code of ref document: A1