System and method for digital path planning

文档序号:1676770 发布日期:2019-12-31 浏览:10次 中文

阅读说明:本技术 用于数字路径规划的系统和方法 (System and method for digital path planning ) 是由 潘睿 王征 于 2017-05-16 设计创作,主要内容包括:用于推荐路径的方法包括获取与道路网络相关的第一起点和第一终点。该方法还包括获取路径推荐模型。该方法还包括基于路径推荐模型确定从第一起点到第一终点的推荐路径。(A method for recommending a route includes obtaining a first start point and a first end point associated with a road network. The method also includes obtaining a path recommendation model. The method also includes determining a recommended path from the first starting point to the first ending point based on the path recommendation model.)

1. A method implemented on at least one device having at least one processor and a storage device, the method comprising:

obtaining, by the at least one processor, a first start point and a first end point associated with a road network;

obtaining, by the at least one processor, a path recommendation model; and

determining, by the at least one processor, a recommended path from the first starting point to the first ending point based on the path recommendation model.

2. The method of claim 1, wherein the path recommendation model is generated based on a method of generating a recommended path, the method of generating a recommended path comprising:

acquiring a second starting point and a second terminal point related to the road network;

obtaining a plurality of historical paths from a storage device, each historical path of the plurality of historical paths comprising the second starting point and the second ending point;

determining a plurality of road segments between the second starting point and the second ending point;

determining initial weights for the plurality of road segments;

determining one or more ordinary paths from the second start point to the second end point based at least in part on the initial weights for the plurality of road segments;

adjusting initial weights of road segments on the one or more common paths;

adjusting the initial weight of the road section on the historical path; and

determining the route recommendation model based on the adjusted initial weights for the one or more ordinary on-path segments and the adjusted initial weights for the historical on-path segments.

3. The method of claim 2, wherein determining the initial weights for the plurality of road segments comprises:

obtaining road network data relating to the road network, the road network data comprising one or more road features in the plurality of road segments between the second start point and the second end point; and

determining the initial weights for the plurality of road segments based on the one or more road characteristics for the plurality of road segments.

4. The method of claim 2, wherein the one or more normal paths are determined according to a maximum margin planning algorithm MMP or a maximum entropy inverse reinforcement learning algorithm IRL.

5. The method of claim 2, characterized in that the one or more normal paths are determined according to the maximum margin planning algorithm MMP, the one or more normal paths being the shortest paths from the second starting point to the second end point.

6. The method of claim 2, wherein adjusting the initial weights for segments on the one or more ordinary paths and the initial weights on the historical paths comprises:

increasing the initial weight of a road segment on the historical path; and

reducing the initial weight of segments on the one or more common paths.

7. The method of claim 6,

the weight of a segment on the historic path is increased by a first value,

the weight of the road segments on the one or more ordinary paths is reduced by a second value, an

Determining the first value and the second value based on one or more hyper-parameters and an optimization algorithm.

8. The method of claim 6,

the weight of a segment on the historic path is increased by a third value,

the weight of the road segments on the one or more ordinary paths is reduced by a fourth value, an

Determining the third value and the fourth value based on a Softmax algorithm.

9. The method of claim 2, further comprising:

acquiring verification data;

determining a hit rate of the recommended path based on the validation data, the recommended path determined based on the path recommendation model;

determining whether the hit rate is less than a threshold; and

adjusting the adjusted weights for the one or more common road segments and the adjusted weights for the road segments on the historical path in response to the hit rate being less than the threshold.

10. The method of claim 9, further comprising:

in response to the hit rate being greater than the threshold, outputting the path recommendation model to a server.

11. A system for recommending a path, comprising:

an acquisition unit configured to:

acquiring a first starting point and a first terminal point related to a road network; and

a generating unit configured to:

acquiring a path recommendation model; and

determining a recommended path from the first starting point to the first ending point based on the path recommendation model.

12. The system of claim 11, further comprising a training unit to:

acquiring a second starting point and a second terminal point related to the road network;

obtaining a plurality of history paths from a storage device, each history path of the plurality of history paths comprising the second starting point and the second ending point;

determining a plurality of road segments between the second starting point and the second ending point;

determining initial weights for the plurality of road segments;

determining one or more ordinary paths from the second start point to the second end point based at least in part on the initial weights for the plurality of road segments;

adjusting the initial weight of the road segments on the one or more ordinary paths;

adjusting the initial weight of a road segment on the historical path; and

determining the path recommendation model according to the adjusted initial weights of the road segments on the one or more common paths and the adjusted initial weights of the road segments on the historical path.

13. The system of claim 12, wherein to determine the initial weights for the plurality of road segments, the training unit is further to:

obtaining road network data relating to the road network, the road network data comprising one or more road features in the plurality of road segments between the second start point and the second end point; and

determining the initial weights for the plurality of road segments based on the one or more road characteristics for the plurality of road segments.

14. The system of claim 12, wherein the one or more common paths are determined according to a maximum margin planning algorithm MMP or a maximum entropy inverse reinforcement learning algorithm IRL.

15. The system of claim 12, characterized in that the one or more normal paths are determined according to the headroom planning algorithm MMP, the one or more normal paths being the shortest paths from the second starting point to the second end point.

16. The system of claim 12, wherein to adjust the initial weights for segments on the one or more common paths and to adjust the initial weights for the historical paths, the training unit is further to:

increasing the initial weight of a road segment on the historical path; and

reducing the initial weight of road segments on the one or more common paths.

17. The system of claim 16,

the weight of a segment on the historic path is increased by a first value,

the weight of the road segments on the one or more ordinary paths is reduced by a second value, an

Determining the first value and the second value based on one or more hyper-parameters and an optimization algorithm.

18. The system of claim 16,

the weight of a segment on the historic path is increased by a third value,

the weight of the road segments on the one or more ordinary paths is reduced by a fourth value, an

Determining the third value and the fourth value based on a Softmax algorithm.

19. The system of claim 11, further comprising a verification unit to:

acquiring verification data;

determining a hit rate of the recommended path based on the validation data, the recommended path determined based on the path recommendation model;

determining whether the hit rate is less than a threshold; and

adjusting the adjusted weights for the one or more common on-path segments and the adjusted weights for the historical on-path segments in response to the hit rate being less than the threshold.

20. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to:

acquiring a first starting point and a first terminal point related to a road network;

obtaining a path recommendation model, wherein the path recommendation model is related to initial weights of the plurality of road segments, and the plurality of road segments are located between the first starting point and the first ending point; and

determining a recommended path from the first starting point to the first ending point based on the path recommendation model.

Technical Field

The present application relates to digital path planning, and more particularly to systems and methods for digital path planning using path recommendation models trained by machine learning.

Background

Map-based digital navigation is becoming more and more popular. Current map-based navigation applications typically recommend a user's path from his/her current location to a destination based on certain predetermined factors and rules (e.g., elapsed time, path length, traffic conditions) specified by the application. However, the user may not select the recommended path because the recommended path may not be the better path the user thinks. For example, a user may prefer a path that most people may select when planning a path from an origin to a destination. Therefore, a path recommendation model that recommends a better path may be needed.

Disclosure of Invention

In one aspect of the application, a method implemented on at least one device, each device having at least one processor and a memory device, is provided. The method may include one or more of the following operations. The at least one processor may obtain a first starting point and a first ending point, which may be associated with a road network. The at least one processor may obtain a path recommendation model. The at least one processor may determine a recommended path from the first starting point to the first ending point based on the path recommendation model.

In another aspect of the present application, a system for recommending a path is provided. The system may include an acquisition unit and a generation unit. The acquisition unit may be configured to acquire a first start point and a first end point related to the road network. The generating unit may be configured to obtain a path recommendation model; the generating unit may be further configured to determine a recommended path from the first starting point to the first ending point based on the path recommendation model.

In yet another aspect of the present application, a non-transitory computer-readable medium storing instructions is provided. The instructions, when executed by a computing device, may cause the computing device to perform one or more of the following operations. A first start point and a first end point may be obtained, which may be associated with a road network. The at least one processor may obtain a path recommendation model. The at least one processor may determine a recommended path from the first starting point to the first ending point based on the path recommendation model.

In some embodiments, the path recommendation model may be generated based on a method of generating a recommended path, which may include: acquiring a second starting point and a second terminal point related to the road network; obtaining a plurality of history paths from a storage device, each of the plurality of history paths comprising the second starting point and the second ending point; determining a plurality of road segments between the second starting point and the second ending point; determining initial weights for the plurality of road segments; determining one or more ordinary paths from the second start point to the second end point based at least in part on the initial weights for a plurality of road segments; adjusting initial weights of road segments on the one or more common paths; adjusting the initial weight of the road section on the historical path; determining a path recommendation model based on the adjusted initial weights of the road segments on the one or more common paths and the adjusted initial weights of the road segments on the historical path.

In some embodiments, determining the initial weight of the plurality of road segments may comprise: obtaining road network data relating to the road network, the road network data comprising one or more road characteristics of the plurality of road segments between the second start point and the second end point; and determining initial weights for the plurality of road segments based on one or more road characteristics of the plurality of road segments.

In some embodiments, the one or more common paths may be determined according to a maximum margin planning algorithm or a maximum entropy inverse reinforcement learning algorithm.

In some embodiments, one or more common paths may be determined according to a MMP algorithm, the one or more common paths being the shortest paths from the second starting point to the second ending point.

In some embodiments, adjusting the initial weights of the segments on the one or more ordinary paths and the initial weights of the historical paths may include increasing the initial weights of the segments on the historical paths and decreasing the initial weights of the segments on the one or more ordinary paths.

In some embodiments, the weight of a road segment on a historical path may be increased by a first value, the weight of a road segment on one or more ordinary paths may be decreased by a second value, and the first and second values may be determined based on one or more hyper-parameters and an optimization algorithm.

In some embodiments, the weight of the road segments on the historical path may be increased by a third value, the weight of the road segments on the one or more ordinary paths may be decreased by a fourth value, and the third and fourth values may be determined based on a Softmax algorithm.

In some embodiments, the method may further include obtaining verification data; determining a hit rate of the recommended path based on the validation data, the recommended path determined based on the path recommendation model; determining whether the hit rate is less than a threshold; and adjusting the adjustment weight of the one or more segments on the ordinary path and the adjustment weight of the segments on the historical path in response to the hit rate being less than the threshold.

In some embodiments, the method may further include outputting the path recommendation model to a server in response to the hit rate being greater than the threshold.

Additional features of the present application will be set forth in part in the description which follows. Additional features of some aspects of the present application will be apparent to those of ordinary skill in the art in view of the following description and accompanying drawings, or in view of the production or operation of the embodiments. The features of the present application may be achieved by practice or use of various aspects of the methods, instrumentalities and combinations discussed in detail in the following examples.

Drawings

The present application will be further described in conjunction with the exemplary embodiments. These exemplary embodiments will be described in detail with reference to the drawings. The drawings are not to scale. These embodiments are non-limiting exemplary embodiments, in which like numerals represent like structures throughout the several views, and in which:

FIG. 1 is an exemplary schematic diagram of a network environment including a path planning system, shown in accordance with some embodiments of the present application;

FIG. 2A is an exemplary block diagram of a path planning system according to some embodiments of the present application;

FIG. 2B is an exemplary schematic diagram of a computing device shown in accordance with some embodiments of the present application;

FIG. 3 is an exemplary schematic diagram illustrating a mobile device configured to implement the particular systems disclosed herein, according to some embodiments of the present application;

FIG. 4A is an exemplary block diagram of a processing module shown in accordance with some embodiments of the present application;

FIG. 4B is an exemplary flow diagram for determining a recommended path, shown in accordance with some embodiments of the present application;

FIG. 5 is an exemplary block diagram of a training unit shown in accordance with some embodiments of the present application;

FIG. 6 is an exemplary flow diagram for training a path recommendation model, shown in accordance with some embodiments of the present application;

FIG. 7 is an exemplary flow diagram illustrating a process for adjusting weights of road segments on ordinary and historical paths according to some implementations of the application; and

FIG. 8 is an exemplary flow diagram for validating a path recommendation model, shown in accordance with some embodiments of the present application.

Detailed Description

In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings used in the description of the embodiments will be briefly introduced below. It is to be understood that the drawings in the following description are merely exemplary or exemplary of the application. It will be clear to a person skilled in the art that the present application can also be applied to other similar scenarios according to these figures without inventive effort. It is understood that these exemplary embodiments are given solely to enable those skilled in the relevant art to better understand and implement the present invention, and are not intended to limit the scope of the invention in any way. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.

As used in this application and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.

Although various references are made herein to certain modules in a system according to embodiments of the present application, any number of different modules may be used and run on a client and/or server. These modules are intended to be illustrative, and are not intended to limit the scope of the present application. Different modules may be used in different aspects of the systems and methods.

Flow charts are used herein to illustrate operations performed by systems according to embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes. Embodiments of the present application may be applied to different on-demand service systems, such as one or more of a traffic service system, a catering service system, a home service system, a medical service system, and the like. The following description takes a traffic service system as an example.

This application is not intended to be limited in scope by the embodiments shown, but is to be construed in breadth and scope only as set forth in the appended claims. The transportation service system may include one or a combination of land, sea, aviation, aerospace, and the like. The following description takes a traffic service system as an example. The transportation service system may include one or a combination of land, sea, aviation, aerospace, and the like. For example, horses, rickshaws (bicycles, tricycles, etc.), taxis, special cars, windmills, buses, trains, motor cars, high-speed rails, subways, ships, airplanes, spaceships, hot air balloons, unmanned vehicles, receiving/sending couriers, etc. have employed managed and/or distributed transportation systems. The application scenarios of the different embodiments of the present application may include one or a combination of several of a web page, a browser plug-in, a client, a customization system, an enterprise internal analysis system, an artificial intelligence robot, and the like. It is to be understood that the application scenarios for the systems and methods disclosed herein are merely examples or embodiments. Those of ordinary skill in the art may apply these figures to other application scenarios without further inventive effort. Such as other similar on-demand service systems.

The terms "passenger," "customer," "demander," "service demander," "consumer party," and the like are used interchangeably herein to refer to a party that needs or orders a service, either individually or as a tool. Likewise, "driver," "provider," "supplier," "service provider," "server," "facilitator," and the like, as described herein, are interchangeable and refer to an individual, tool, or other entity, etc., that provides a service or assists in providing a service. In addition, a "user" as described herein may be a party that needs or subscribes to a service, or a party that provides or assists in providing a service.

The present application relates to systems and methods for training a path recommendation model. The path recommendation model may be trained by optimizing parameters of the path recommendation model in an iterative training process. During the iterative training process, the weights of the segments on the historical path (i.e., the actual path) may be decreased, and the weights of the segments on the ordinary path (i.e., the path determined based on the segment weights) may be increased. When the weight of the road segment on the historical path is small enough, the recommended path generated by the path recommendation model is basically actually selected by the user, and the iterative training process may be terminated. The path recommendation model may be used to recommend paths for the user when planning the paths.

Fig. 1 is an exemplary schematic diagram of a network environment including a path planning system, shown in accordance with some embodiments of the present application. The network environment 100 may include a path planning system 110, a terminal 120, a memory 130, a positioning device 140, a network 150, and an information source 160. The path planning system 110 may be configured to analyze and process the collected information to train a path recommendation model. The path recommendation model may be used to predict paths that a user may select when planning a path. The path planning system 110 may generate a recommended path for a user (e.g., a driver) based on a training path recommendation model. The path recommendation system 110 may be implemented on a computing device, such as a computer, server, or group of servers connected via a wired or wireless network. The server groups may be centralized or distributed.

The terminal 120 may be in communication with the path planning system 110, the memory 130, and the information source 160. In some embodiments, the user may input data/information via the terminal 120 to control the training process of the path recommendation model. For example, a user may enter a machine learning model, one or more hyper-parameters associated with the model, and so on.

The terminal 120 may include a desktop computer 120-1, a laptop computer 120-2, a built-in device 120-3 of a vehicle, a mobile device 120-4, and the like, or any combination thereof. The built-in device 120-3 may be a computer or the like. Mobile device 120-4 may be a smartphone, Personal Digital Assistant (PDA), tablet, handheld game player, smart glasses, smart watch, wearable device, virtual reality device, augmented reality device (e.g., Google Glass, Oculus Rift, holographic lens, and/or GearVR), and the like, or any combination thereof. In some embodiments, the terminal 120 may be used by a user (e.g., a passenger) to obtain a recommended path from an origin to a destination from the path planning system 110.

The memory 130 may store data related to a path recommendation model. In some embodiments, the memory 130 may collect data from the terminal 120, the positioning device 140, the information source 160, and/or the path planning system 110. The memory 130 may be a hierarchical database, a network database, a relational database, the like, or any combination thereof. In some embodiments, memory 130 may be implemented in any device capable of storing data, such as Random Access Memory (RAM), CD-ROM, flash memory, a hard disk, Read Only Memory (ROM), etc., or any combination thereof. In some embodiments, the memory 130 may be directly connected to the path planning system 110 or a portion of the path planning system 110 via one or more wired and/or wireless communication links. In some embodiments, the memory 130 may be implemented in a remote device (e.g., cloud storage) and connected to the path planning system 110 via a network 150. The terminal 120 and/or the positioning device 140 may access the memory 130 via the network 150.

The positioning device 140 may collect data related to a historical path of a user (e.g., a driver). The path planning system 110 may obtain data related to historical paths from the positioning device 140 for training the path recommendation model. In some embodiments, the pointing device 140 may receive an origin and a destination entered by a user via an input device. The positioning device 140 may also send the received origin and destination to the path planning system 110 via the network 150, and the path planning system 110 may determine a recommended path using a trained path recommendation model as described elsewhere in this application. The path planning system 110 may also send the determined recommended path to the positioning device 140 via the network 150, and the positioning device 140 may output the recommended path to the user (e.g., via a user interface).

The positioning device 140 may be any device or system that collects or records a user's historical path that incorporates positioning technology (e.g., Global Positioning System (GPS) technology). In some embodiments, the positioning device 140 may be integrated with the terminal 120. For example, the mobile device 120-4, which may include a GPS module, may facilitate communication between the path planning system 110 and the user and collect historical paths for the user.

The network 150 may be a single network or a combination of networks. For example, network 150 may include a Local Area Network (LAN), a Wide Area Network (WAN), a public network, a private network, a Public Switched Telephone Network (PSTN), the Internet, a wireless network, a virtual network, or any combination thereof. Network 150 may include a plurality of network access points, e.g., wired or wireless access points, including base station 150-1, base station 150-2, network switching points (not shown), and so forth. Any data source may be connected to network 150 through a network access point and communicate information through network 150. The network 150 may also include a wireless network (e.g., a bluetooth network, a Wireless Local Area Network (WLAN), and/or Wi-Fi), a mobile network (e.g., 2G, 3G, or 4G signals), or other communication methods (e.g., a Virtual Private Network (VPN), a shared network, Near Field Communication (NFC), and/or ZigBee).

The information source 160 may provide reference information to the path planning system 110. The reference information may include various types of information related to the path recommendation model including, for example, traffic information (real-time or historical), weather conditions, municipal service information, legal and/or legal information, and/or news events. The information source 160 may be implemented in a single central server, multiple servers connected via a communication link, or multiple personal devices. When information source 160 is implemented in multiple personal devices, the personal devices may generate content, such as text, voice, images, and/or video. The reference information may be used by the path planning system 110 during the training process of the path recommendation model.

It should be noted that the above description of the network environment 100 including the path planning system 110 is provided for purposes of illustration and is not intended to limit the scope of the present disclosure. It will be apparent to one of ordinary skill in the art that the components included in network environment 100 may be combined in various ways or connected as subsystems with other components, and that various changes and modifications may be made under the teachings of the present disclosure. Such modifications and variations are within the scope of the foregoing description. For example, the memory 130 may be a cloud computing platform with data storage capabilities, including but not limited to public clouds, private clouds, community clouds, hybrid clouds, and the like. For example, such variations are within the scope of the present application.

Fig. 2A is an exemplary schematic diagram of a path planning system, shown in accordance with some embodiments of the present application. The path planning system 110 may include a processing module 205, a storage module 210, an input/output 215, and a communication module 220. The modules of the path planning system 110 may be centralized or distributed. One or more modules of the path planning system 110 may be local or remote.

The processing module 205 may be configured to train a path recommendation model. The processing module 205 may receive information from the terminal 120, the memory 130, the locating device 140, and/or the information source 160. In some embodiments, the processing module 205 may execute computer instructions (e.g., program code) to process the received information in accordance with the techniques described herein. For example, the processing module 205 may determine one or more ordinary paths based on a maximum margin planning algorithm. And one or more common paths may be used to adjust parameters of the path recommendation model. As another example, the processing module 205 may optimize the path recommendation model using an optimization algorithm (e.g., gradient descent) to satisfy the condition.

In some embodiments, the processing module 205 may include a hardware processor, such as a microcontroller, microprocessor, Reduced Instruction Set Computer (RISC), Application Specific Integrated Circuit (ASIC), application specific instruction set processor (ASIP), Central Processing Unit (CPU), Graphics Processing Unit (GPU), Physical Processing Unit (PPU), microcontroller unit, Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA), Advanced RISC Machine (ARM), programmable logic device, any circuit and processor capable of performing one or more functions, and the like, or any combination thereof.

The storage module 210 may store data related to the path recommendation model. The data may be obtained from the processing module 205, the terminal 120, the memory 130, the positioning device 140, the information source 160, and/or any component of the path planning system 110. The storage module 210 may store various data including, for example, programs, code, algorithms, reference information, historical data, validation data, machine learning models, and/or hyper-parameters of machine learning models. The storage module 210 may also store computer instructions that are executed by the processing module 205 to perform one or more of the functions disclosed herein.

The storage module 210 may include any device capable of storing data. By way of example only, the storage module 210 may include volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, non-removable, or other types of storage devices or tangible (i.e., non-transitory) computer-readable media, including but not limited to ROM, flash memory, dynamic RAM, and static RAM.

Input/output 215 may input and/or output data. In some embodiments, the input/output 215 may enable a user to interact with the path planning system 110. For example, a user may set hyper-parameters including, for example, a learning rate and/or a small batch size to train the path recommendation model. For another example, the input/output 215 may output information (e.g., a recommended path, a request message for determining preset conditions) to the user.

Input/output 215 may also include input devices and output devices. Exemplary input devices may include a control panel, keyboard, mouse, touch screen, microphone, etc., or any combination thereof. Exemplary output devices may include a display device, speakers, printer, projector, etc., or any combination thereof. Exemplary display devices may include Liquid Crystal Displays (LCDs), Light Emitting Diode (LED) based displays, flat panel displays, curved screens, television devices, Cathode Ray Tubes (CRTs), touch screens, and the like, or any combination thereof.

The communication module 220 may connect the path planning system 110 to a network (e.g., the network 150) to facilitate data communication. The communication module 220 may establish a connection between the path planning system 110 and the terminal 120, the memory 130, the positioning device 140, and/or the information source 160. The connection may be a wired connection, a wireless connection, any other communication connection capable of data transmission and/or reception, and/or any combination of these connections. The wired connection may include, for example, an electrical cable, an optical cable, a telephone line, etc., or any combination thereof. The wireless connection may include, for example, a bluetooth link, a Wi-Fi link, a WiMax link, a WLAN link, a ZigBee link, a mobile network link (e.g., 3G, 4G, 5G, etc.), or any combination thereof. In some embodiments, the communication module 220 may be and/or include a standardized communication port, e.g., RS232, RS485, etc. In some embodiments, the communication module 220 may be a specially designed communication port.

It should be noted that the above description of the path planning system 110 is provided for illustrative purposes only and is not intended to limit the scope of the present application. Many variations and modifications may be made by one of ordinary skill in the art in light of the teachings herein. For example, only one processing module is depicted in the path planning system 110. The path planning system 110 may also include multiple processing modules, and thus operations and/or method steps performed by one processing module described herein may also be performed by multiple processing modules, either in combination or separately. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Fig. 2B is an exemplary schematic diagram of a computing device shown in accordance with some embodiments of the present application. The particular system in this embodiment utilizes a functional block diagram to illustrate a hardware platform that contains a user interface. The computer may be a general purpose computer or may be a specific purpose computer. Both computers may be used to implement the particular system in this embodiment. Computing device 250 may be configured to implement any components that perform one or more of the functions of the present application. For example, the path planning system 110 may be implemented in any combination of hardware devices, software programs, firmware, or computers like the computing device 250. For simplicity, fig. 2B depicts only one computing device. In some embodiments, the functionality of a computing device that may need functionality to provide path planning may be implemented by a set of similar platforms in a distributed fashion to spread the processing load of the system.

Computing device 250 may include a communication terminal 270 that may be connected to a network to enable data communication. Computing device 250 may also include a processor 255, and processor 255 may include one or more processors and be configured to execute instructions. An exemplary computer platform may include an internal communication bus 285, various forms of program storage units and data storage units (e.g., hard disk 280, Read Only Memory (ROM)260, Random Access Memory (RAM)265), various data files capable of being used for computer processing and/or communication, and program instructions that may be executed by processor 255. Computing device 250 may also include input/output 275, and input/output 275 may support the input and output of data streams between computing device 250 and other components (e.g., a user interface). Further, computing device 250 may receive programs and data over a communication network.

Various aspects of the method of providing the functionality required for path planning and/or the method of programmatically implementing other steps are described above. The programs of the technology may be thought of as "products" or "artifacts" presented in the form of executable code and/or related data. The program of the technology may be embodied or realized by a computer-readable medium. Tangible, non-transitory storage media include memory or storage for use by any computer, processor, or similar device or associated module. For example, various semiconductor memories, tape drives, disk drives, or similar devices capable of providing storage functions for software at any one time.

Some or all of the software may sometimes communicate over a network, such as the internet or other communication network. Such communication can load software from one computer device or processor to another computer device or processor. For example, software may be loaded from a management server or host computer of the path planning system 110 to a hardware platform in a computer environment, or to other computer environments capable of implementing the system. Thus, another medium capable of transferring software elements may also be used as a physical connection between local devices, e.g., optical, electrical, electromagnetic waves, etc., propagating through cables, optical cables, or the air. The physical medium used for the carrier wave, such as an electrical cable, a wireless connection, or an optical cable, etc., can also be considered to be the medium carrying the software. As used herein, unless otherwise limited to a tangible "storage" medium, other terms referring to a computer or machine "readable medium" refer to media that participate in the execution of any instructions by a processor.

A computer-readable medium may take many forms, including but not limited to, a tangible storage medium, a carrier wave medium, or a physical transmission medium. The storage media that are stable may include optical or magnetic disks and other storage systems used in computers or similar devices that can implement the system components depicted in the figures. Unstable storage media include dynamic memory, such as the main memory of a computer platform. Tangible transmission media can include coaxial cables, copper cables, and fiber optics, including the circuitry that forms a bus within computing device 250. A carrier medium may transmit electrical, electromagnetic, acoustic, or light wave signals. And these signals may be generated by radio frequency communication or infrared data communication. Common computer-readable media include hard disks, floppy disks, magnetic tape, any other magnetic medium; CD-ROM, DVD-ROM, any other optical medium; punch cards, any other physical storage medium containing a pattern of holes; RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge; a carrier wave transmitting data or instructions, a cable, or any other connection means transmitting carrier waves, program codes and/or data that can be read by a computer. Such computer-readable media may be employed in the execution of instructions by a processor to transmit one or more results.

Those skilled in the art will appreciate that various modifications and improvements may be made to the disclosure herein. For example, the modules of the path planning system 110 are all implemented by hardware devices. More specifically, the processing module 205 may be implemented in the processor 255, the storage module 210 may be implemented by one or more of the ROM 260, the RAM 265, and the hard disk 280, the input/output 215 may be implemented by the input/output 275, and the communication module 220 may be implemented by the COM terminal 270. All applications, variations and modifications which are intended to be protected by the following claims are within the scope of this application.

Fig. 3 is an exemplary schematic diagram illustrating a mobile device configured to implement certain systems disclosed herein, according to some embodiments of the present application. In some embodiments, the terminal 120 may be a mobile device 300 configured to perform one or more functions of the terminal 120 disclosed herein (e.g., displaying and communicating information related to a route recommendation model). The mobile device 300 may include, but is not limited to, a smartphone, a tablet, a music player, a portable game console, a GPS receiver, a wearable computing device (e.g., glasses or watch), and the like. Mobile device 300 may include one or more Central Processing Units (CPUs) 340, one or more Graphics Processing Units (GPUs) 330, a display 320, memory 360, an antenna 310 (e.g., a wireless communication unit), storage 390, and one or more input/outputs 350. The mobile device 300 may be any other suitable component including, but not limited to, a system bus or a controller (not shown). As shown in FIG. 3, a mobile operating system 370 (e.g., IOS, Android or Windows Phone) and one or more application programs 380 may be loaded from storage 390 to memory 360 and implemented by CPU 340. The application 380 may include a browser or other mobile application configured to receive and process information related to a path recommendation model in the mobile device 300. The user may obtain communication information from the path planning system 110 via the input/output 350 and provide the information to the path planning system 110 and/or other modules or elements of the path planning system 110, such as the storage module 210.

To implement the various modules, units, and functions thereof described above, a computer hardware platform may be used as a hardware platform for one or more elements (e.g., the modules of path planning system 110 depicted in fig. 2A). The hardware elements, operating systems, and programming languages of such computers are commonplace, and it is assumed that one skilled in the art is sufficiently familiar with these techniques to be able to provide the information needed for on-demand services using the techniques described herein. A computer with a user interface may be used as a Personal Computer (PC) or other type of workstation or terminal device. A computer with a user interface may be used as a server, suitably programmed. It is believed that one skilled in the art may also be familiar with this structure, programming, or general operation of this type of computer device. Therefore, additional explanation of the drawings will not be provided.

FIG. 4A is an exemplary block diagram of a processing module shown in accordance with some embodiments of the present application. The processing module 205 may include an acquisition unit 410, a training unit 420, a verification unit 430, and a generation unit 440.

The obtaining unit 410 may obtain data for training the path recommendation model. In some embodiments, the obtaining unit 410 may obtain data from the storage module 210, the input/output 215, the communication module 220, the terminal 120, the memory 130, the positioning device 140, the information source 160, or any other device (e.g., a cloud server) connected to the path planning system 110 through the network 150. The acquired data may include road network data, historical paths, verification data, reference information, algorithms, etc., or any combination thereof. More specifically, the road network data may be data related to an electronic map. In some embodiments, the road network data may include one or more road characteristics, such as road length, road width, road safety, traffic lights, traffic flow, road maintenance, road type (e.g., highway, service road, one-way road, two-way road, etc.), and so forth. The historical path may include actual paths of multiple users collected by the positioning device 140 over a historical period. The validation data may be used to validate the accuracy of the predictions generated based on the path recommendation model. The reference information may include weather conditions, news events (e.g., traffic accidents, bridge collapses), and the like. Algorithms may include maximum margin planning, maximum entropy inverse reinforcement learning, gradient descent, AdaGrad, loss functions, Softmax, and the like.

In some embodiments, the acquired data, or a portion thereof, may be sent to training unit 420 to train the path recommendation model. In some embodiments, the acquired data or a portion thereof may be sent to the verification unit 430 to verify the path recommendation model. In some embodiments, the acquisition unit 410 may perform pre-processing operations on the acquired data before sending the data to the training unit 420 and/or the verification unit 430. For example, the acquisition unit 410 may normalize the road length ranging from 0 to 3000 to acquire a normalized road length ranging from 0 to 1.

The training unit 420 may train the path recommendation model. The path recommendation model may be used to recommend paths that a user may select when planning a path. The path recommendation model may be a machine learning model. In some embodiments, the path recommendation model may be a probabilistic model. The path recommendation model may be determined by the user, according to default settings of the path planning system 110, or a combination of both.

Training unit 420 may obtain training data from obtaining unit 410 and train a path recommendation model based on the obtained data. In some embodiments, training unit 420 may train the path recommendation model in an iterative process. In such an iterative process, one or more parameters of the path recommendation model may be updated, and the path recommendation model may be optimized based on the updated parameters. In some embodiments, one or more parameters may be related to the data acquired from acquisition unit 410. For example, one or more parameters may be related to road characteristics, such as road length, road width, and the like. The training process (e.g., iterative process) may terminate when a preset condition is satisfied. The training unit 420 may also send the trained path recommendation model to the verification unit 430 for verification.

The verification unit 430 may verify the trained path recommendation model. The verification unit 430 may obtain the trained path recommendation model from the training unit 420. The acquired path recommendation model may be verified based on the verification data acquired from the acquisition unit 410. In some embodiments, verification unit 430 may determine a hit rate, which may represent the accuracy of the recommended path determined from the trained path recommendation model. The accuracy of the recommended path may be determined by comparing the actual path selected by the user with the path recommended by the path recommendation model. After the path recommendation model is verified (e.g., hit rate is above a threshold), the verification unit 430 may send the verified path recommendation model to the generation unit 440.

The generation unit 440 may generate and output a path recommendation model and/or a recommended path. The generation unit 440 may obtain the path recommendation model from the verification unit 430. The generation unit 440 may generate a recommended path based on the path recommendation model. The recommended path may be generated based on, for example, an origin and a destination provided by the user. In some embodiments, the generation unit 440 may output the path recommendation model and/or recommended path to the user (e.g., by connecting to the input/output 215) when the user plans the path. In some embodiments, the generation unit 440 may output the path recommendation model and/or the recommended path to a remote device (e.g., a cloud server) in communication with the path planning system 110 (e.g., by connecting to the communication module 220).

FIG. 4B is an exemplary flow diagram for determining a recommended path, shown in accordance with some embodiments of the present application. In 460, the origin and destination may be obtained. The origin and destination may be acquired by, for example, the acquisition unit 410. In some embodiments, the locating device 140 may receive an origin and a destination entered by a user. The origin and destination may be different nodes selected by the user in the road network. As used herein, a node generally refers to an intersection or connection point of a road in a road network.

In 470, a path recommendation model may be obtained. The path recommendation model may be trained by the training unit 420 and/or validated by the validation unit 430. The path recommendation model may be related to road segment weights. A segment may refer to a segment that connects two different nodes in a road network. Detailed descriptions of the determination of the path recommendation model may be found elsewhere in this application (e.g., fig. 5-8). The determined path recommendation model may be obtained by, for example, the generation unit 440.

In 480, a recommended path from the origin to the destination may be determined based on the path recommendation model. The recommended path may be determined by, for example, the generating unit 440. In some embodiments, the recommended path may be determined by taking the start point and the destination of the transmission as inputs of a path recommendation model, and a recommended path determined according to the recommendation model may be taken as an output thereof. In some embodiments, the recommended path may be sent to the user (e.g., displayed on input/output 215 or sent to user terminal 120 or 140 via network 150). In some embodiments, the recommended path may be output to a remote device (e.g., a cloud server) in communication with the path planning system 110 (e.g., by connecting to the communication module 220).

FIG. 5 is an exemplary block diagram of a training unit shown in accordance with some embodiments of the present application. The training unit 420 may include a road network processing sub-module 510, a weight determination sub-module 520, and an algorithm storage sub-module 530. The road network processing sub-module 510 may process road network data associated with the electronic map. In some embodiments, the road network processing sub-module 510 may acquire road network data from the acquisition unit 410. The road network processing sub-module 510 may use the road network data to determine elements in the road network. Exemplary elements may include nodes, segments, etc. As used herein, a node generally refers to an intersection or junction of roads in a road network, and a segment generally refers to a segment connecting two different nodes in the road network. The road network processing sub-module 510 may determine one or more general paths in the road network. A general path may refer to a path that a user tends to select when planning a path.

The road network processing sub-module 510 may obtain the weights of the segments in the road network from the weight determination sub-module 520. In some embodiments, the road network processing sub-module 510 may determine one or more ordinary paths based on weights of segments in the road network. The road network processing sub-module 510 may retrieve one or more algorithms (e.g., MMP, maximum entropy IRL, Softmax) from the algorithm storage sub-module 530. One or more common paths may be determined according to one or more algorithms.

The weight determination sub-module 520 may determine weights for segments and/or paths. The weight determination sub-module 520 may determine an initial weight for the road segment and/or the path. The term "initial weight" as used herein generally refers to an initial value of a road segment and/or path weight. The weight determination sub-module 520 may receive the road network data from the acquisition unit 410. In some embodiments, the road network data may include one or more road characteristics. Exemplary road characteristics may include road length, road width, traffic flow, traffic lights, road safety, road maintenance, road type (highway, service road, one-way road, two-way road, etc.), etc., or any combination thereof. In some embodiments, the weight determination submodule 520 may receive the reference information from the acquisition unit 410. The reference information may include weather conditions, legal information, news events, and the like. In some embodiments, the weight determination sub-module 520 may determine initial weights for segments and/or paths in the road network based on road characteristics and/or reference information. For example, the weight determination sub-module 520 may determine the initial weight of the road segment by calculating an average of values of one or more road characteristics (e.g., road length, road width, etc.). After the normalization operation performed by the acquisition unit 410, the values of the one or more road characteristics range from 0 to 1. In some embodiments, the weight determination sub-module 520 may determine initial weights for road segments and/or paths based on user input or according to default settings of the path planning system 110.

The weight determination sub-module 520 may also determine an adjustment value for the weight of the road segment and/or the path and adjust the weight of the road segment and/or the path based on the adjustment value. In some embodiments, the weight determination submodule 520 may retrieve an algorithm (e.g., an optimization algorithm for optimizing one or more parameters of the path recommendation model, such as gradient descent, random gradient descent, or Adagrad) from the algorithm storage submodule 530. The weight determination sub-module 520 may determine the adjustment value according to the acquired algorithm. In some embodiments, the weight determination sub-module 520 may determine the adjustment value based on a hyper-parameter (e.g., a learning rate or a regularization term) of the path recommendation model. In some embodiments, the weight determination sub-module 520 may determine the adjustment values according to default settings of the path planning system 110 based on user input.

The algorithm storage sub-module 530 may store algorithms used in a training process and/or a verification process of the path recommendation model that may be accessed by the road network processing sub-module 510 and/or the weight determination sub-module 520. The algorithm may involve road network processing, weight determination, parameter optimization, etc., or any combination thereof. Exemplary algorithms may include MMP, maximum entropy IRL, Softmax, loss functions, maximum likelihood, and the like. In some embodiments, the algorithms stored in the algorithm storage sub-module 530 may also include a deep learning algorithm, a decision tree algorithm, a neural network algorithm, or the like, or any combination thereof. More specifically, the deep learning algorithm may include a constraint boltzmann machine (RBN), a Deep Belief Network (DBN), a convolutional network, a stacked autoencoder, and the like. Decision tree algorithms may include classification and regression trees (CART), iterative dichotomizer 3(ID3), C4.5, Chi-squared automated interactive detection (CHAID), decision stumps, random forests, Multivariate Adaptive Regression Splines (MARS), or gradient elevator (GBM), among others. Neural network algorithms may include perceptron neural networks, back propagation, Hopfield networks, self-organizing maps (SOM), or Learning Vector Quantization (LVQ), among others.

FIG. 6 is an exemplary flow diagram for training a path recommendation model, shown in accordance with some embodiments of the present application. At 610, a start point and an end point associated with the road network may be obtained. The start point and the end point may refer to different nodes in the road network. As used herein, a node generally refers to an intersection or connection point of a road in a road network. In some embodiments, the road network may include various types of roads between the start point and the end point. The types of roads may include highways, park roads, around-city roads, highways, streets, thoroughfares, lanes, roadways, and the like, or any combination thereof. In some embodiments, the input/output 215 may obtain a start point, an end point, and a user history path. For illustrative purposes only, one start point and one end point are described. In some embodiments, multiple start points and corresponding end points in a road network may be obtained.

Multiple historical paths may also be obtained. Each of the plurality of historical paths may include an acquired start point and end point. In some embodiments, some user history paths may begin at a starting point and end at an ending point. Some historical paths may have a different starting point and/or a different ending point than the acquired starting point. For example, the historical path may not start from the acquired starting point, but pass through the acquired starting point. The user history path may be obtained by collecting paths from a particular user at a particular time. For example, a historical path including a start point and an end point may be obtained from the path collected by the positioning apparatus 140 (e.g., positioning device 140-1, positioning device 140-2) in the last month. The historical path may be obtained from, for example, the terminal 120, the memory 130, the positioning device 140, or the information source 160.

At 620, a plurality of road segments between the start point and the end point may be determined. The road segments may be determined by, for example, the path processing sub-module 510. A segment may refer to a segment that connects two different nodes in a road network. In some embodiments, a particular region including a start point and an end point may be defined prior to determining the road segment. The specific area may be determined by the user, according to default settings of the path planning system 110, or a combination of both. For example, when a road map is displayed on a screen window, an area on the screen may be defined as a specific area. The user may adjust the scale of the road map (e.g., through a touch screen window) to define a particular area containing the road segment to be confirmed. The path processing module 510 may determine a plurality of road segments between a start point and an end point within a particular area. In some embodiments, a route or a portion of a route including a plurality of road segments connecting a start point and an end point may also be determined as a road segment. In some embodiments, a road segment or a portion of a road segment may be divided into multiple road segments.

In 630, a weight for the road segment may be determined. The weight of the road segment may be determined by, for example, the weight determination submodule 520. In some embodiments, the determination of the weight of the road segment by the weight determination submodule 520 may also be referred to as an initial weight. The initial weight for the road segment may be determined based on one or more road characteristics of the road segment. Exemplary road characteristics may include road length, road width, traffic flow, traffic lights, road safety, road maintenance, road type (highway, service road, one-way road, two-way road, etc.), etc., or any combination thereof. The road characteristics described above may be obtained from memory 130, information source 160, or any device or component described in this disclosure capable of obtaining or storing road characteristics. In some embodiments, the initial weight for the road segment may be set by the user, according to default settings of the path planning system 110, or the like.

In 640, one or more ordinary paths may be determined based on the weights of the road segments. As used herein, a general path may represent one or more paths from a start point to an end point that a user tends to select. The one or more common paths may be determined according to an algorithm. By way of example only, the algorithm may include Maximum Margin Planning (MMP), maximum entropy Inverse Reinforcement Learning (IRL), Softmax, or the like, or any combination thereof.

In some embodiments, one or more ordinary paths may be determined based on the weights of the road segments. For illustration purposes only, the generic path may be determined according to the MMP algorithm. For example, the ordinary path may be the "shortest" path from the start point to the end point, which may be determined based on the weight of the road segment using the MMP algorithm. The "shortest" path may be defined as the path with the smallest total weight of road segments. The total weight for a road segment may be the sum of the weights for each road segment in the path.

As another example, a plurality of common paths may be determined according to a maximum entropy IRL algorithm. For example, the first five paths with higher total weight may be determined as a plurality of common paths. As another example, the plurality of general paths may include paths having a number of road segments less than 100. In some embodiments, each of the plurality of common paths may correspond to a particular value. The particular value may represent a probability that the user selected the corresponding path when planning the path. In some embodiments, the particular value may be determined based on an algorithm, such as the Softmax algorithm. The Softmax algorithm can be expressed by the following equation (1):

a, B, C and D refer to four common paths obtained according to the maximum entropy IRL algorithm; wA、WB、WCAnd WDTotal weights of road segments on path a, path B, path C and path D, respectively; pARefers to the probability that the user selects path a when planning a path.

In 650, the weights of the road segments on the ordinary path and the user's historical path may be adjusted. In some embodiments, the weight of the road segments may be adjusted by, for example, the weight determination submodule 520. The adjusted values for the road segment weights may be determined by a user (e.g., a technician) or set by the path planning system 110 according to progress in the training process of the path recommendation model. In some embodiments, the adjustment value of the segment weight on the ordinary path may be set according to a hyper-parameter of the path recommendation model. A detailed description of weight adjustment for segments on ordinary and historical paths of a user is disclosed elsewhere in this application (e.g., fig. 7 and its associated description).

The weight of a segment in the road network may be related to one or more parameters of the path recommendation model. In some embodiments, the weights of road segments in the road network may be parameters of a path recommendation model. In some embodiments, certain operations (e.g., mapping) may be performed to associate weights for road segments in a road network with parameters of a path recommendation model. In some embodiments, the weights of the road segments in the road network may associate one or more parameters of the path recommendation model with road network data (e.g., one or more road characteristics, such as road length, road width). The operation of adjusting the weights of the road segments in the road network may adapt the path recommendation model to meet the preset conditions.

In some embodiments, the optimization algorithm and/or one or more hyper-parameters associated with the route recommendation model may be determined prior to adjusting the weights of the segments on the ordinary route and the user's historical route. An optimization algorithm may be used to optimize one or more parameters of the path recommendation model during the training process. The optimization algorithm may include, but is not limited to, gradient descent, random gradient descent, Adagrad, etc., or any combination thereof. Exemplary hyper-parameters may include a learning rate, a pattern of change in learning rate, a mini-batch size, etc., or any combination thereof.

At 660, it may be determined whether a preset condition is satisfied. If the preset condition is satisfied, proceed to 670. If the preset condition is not met, an iteration may be performed in which steps 640 through 660 may be repeated to determine a new set of ordinary paths based on the weights of the segments in the road network. The weights of the road segments in the road network may have changed in a previous iteration, so that a new set of ordinary paths can be determined accordingly in the next iteration. And the weights of the road segments on the new common path set and the historical path of the user can be further adjusted.

In some embodiments, the preset condition may be related to a limit (e.g., a threshold) of the algorithm, and the iteration may terminate when the algorithm satisfies the limit. For example, the algorithm may be a loss function. For illustration only, the iteration may terminate when convergence of the loss function is reached and a locally optimal solution is obtained during training of the path recommendation model. In some embodiments, the preset condition may include a maximum number of iterations to be performed (e.g., 10), and the iteration may terminate (i.e., proceed to 670) when performed to the maximum number of iterations (i.e., the preset condition is met). The maximum number may be set by the user, according to default settings of the path planning system 110, or any combination thereof.

In 670, a trained path recommendation model may be obtained. The training path recommendation model may be determined by training unit 420. The training unit 420 may send the trained path recommendation model to a device or component of the path planning system 110 for predicting or recommending a path for the user or driver. In some embodiments, the path recommendation model may be sent to a server (e.g., a cloud server) or one or more terminals (e.g., mobile device 120-4) for path recommendation. In some embodiments, the trained path recommendation model may be saved to a storage device (e.g., memory 130) for storage and/or retrieval by components of the path planning system 110. The recommended path may be generated based on a path recommendation model. In some embodiments, the recommended path may be determined by, for example, the generating unit 440 after receiving the user's origin and destination. The origin and destination may be obtained from, for example, input/output 215.

In some embodiments, step 650 of flow 600 may be performed according to flow 700 shown in FIG. 7 for adjusting the weights of road segments on ordinary and historical paths according to some embodiments of the present application. In some embodiments, steps 710 through 740 of flow 700 may be performed by, for example, weight determination submodule 520. In 710, a first adjusted value for a segment weight on a common path may be determined. According to the MMP algorithm, a common path can be determined. The ordinary path may be the "shortest" path from the starting point to the end point. The first adjustment value for the segment weight on the ordinary path may be determined based on a hyper-parameter and/or optimization algorithm of the path recommendation model. The hyper-parameters of the path recommendation model may include learning rate, change patterns of learning patterns, regularization terms, mini-batch size, and the like. An optimization algorithm may be used to optimize one or more parameters of the path recommendation model. The optimization algorithm may include, but is not limited to, gradient descent, random gradient descent, Adagrad, etc., or any combination thereof. In some embodiments, the first adjusted value of the weight for each road segment on the ordinary path may be the same. For example, when gradient descent is used as the optimization algorithm and the learning rate is set to 1, the first adjustment value of the weight of the road segment on the ordinary path may be 1. In some embodiments, the first adjustment value of the weight of the road segment on the ordinary path may be adaptively adjusted to keep the total weight of the road segment on the ordinary path constant.

According to the maximum entropy IRL algorithm, which can determine multiple common paths. The plurality of common paths may correspond to a plurality of probability values. For example, as described above, path A may correspond to probability value PA. A first adjustment value for a segment weight on a plurality of ordinary paths may be determined based on a plurality of probability values. For example, the ordinary path a may correspond to a probability value PAThe first adjustment value of the segment weight on the ordinary path A may be PAK, where K may be a constant. When gradient descent is used as the optimization algorithm and the learning rate is set to 1, K may be 1.

At 720, a second adjusted value for the segment weight on the historical path may be determined. In some embodiments, the second adjustment value for the weight of the road segment included in the historical path may be determined based on a hyper-parameter and/or optimization algorithm of the path recommendation model. In some embodiments, the second adjusted value of the segment weight on the historical path may be equal to the first adjusted value of the segment weight on the ordinary path according to the MMP algorithm.

At 730, the weight of the road segments on the one or more ordinary paths may be increased by a first adjustment value. A higher weight may indicate a "longer" distance in the road network. After increasing the weight of the road segment, one or more ordinary paths may be "longer". When the path planning system 110 recommends a path to the user, the "longer" path may have a lower priority than the "shorter" path.

At 740, the weight of the road segment on the user's historical path may be decreased by the second adjustment value. A lower weight may indicate a "shorter" distance in the road network. After reducing the weight of the road segment, the user's historical path may "shorten". When the path planning system 110 recommends a path to the user, the "shorter" path may have a higher priority than the "longer" path.

For illustration purposes only, the weights of road segments in a road network may be determined in different ways. For example, the weight of the road segment may be determined by, for example, the weight determination sub-module 520 based on one or more road characteristics and the model M. The model M may be different from the path recommendation model. In some embodiments, model M may be a differentiable model. The model M may be updated according to an optimization algorithm in an iteration based on the road segment weight adjustment values. And the weight of the road segment may be updated according to the updated model M. More specifically, the partial derivatives of all parameters of the model M with respect to the road segment weights may be determined. The product of the partial derivative and the link weight adjustment value may be used to update the parameters of the model M according to an optimization algorithm. And the weight of the road segment may be updated according to the updated model M.

When using a gradient descent algorithm with a learning rate of 1, for example, the model M may be a linear regression model as shown in equation (2),

M=a·L+b·W (2),

wherein, L is the road length corresponding to the road section; w is the road width corresponding to the road section; a is a parameter in the model M related to the road length; b is a parameter in the model M related to the road width.

In some embodiments, parameters a and b may be determined according to MMP algorithms. If the road segment is on a normal path, the parameters a and b may be updated in iterations according to equations (3) and (4), respectively:

a′=a+L (3),

b′=b+W (4),

wherein a' is the parameter value updated by the parameter a in the iteration; b' is the parameter value of the parameter b update in the iteration. If the road segment is on a historical path, the parameters a and b may be updated in iterations according to equations (5) and (6), respectively:

a′=a-L (5),

b′=b-W (6),

wherein a' is the parameter value updated by the parameter a in the iteration; b' is the parameter value of the parameter b update in the iteration. If the road segment is neither on the ordinary path nor on the historical path, the parameters a and b may remain unchanged.

In some embodiments, the parameters a and b may be determined according to a maximum entropy IRL algorithm. If the road segment is on a normal path, the parameters a and b can be updated in iterations according to equations (7) and (8), respectively:

a′=a+PA·L (7),

b′=b+PA·W (8),

wherein a' is the parameter value updated by the parameter a in the iteration; b' is the parameter value of the parameter b update in the iteration; pAIs the probability that the user selects path a from a plurality of common paths when planning a path. If the road segment is on a historical path, the parameters a and b may be updated in iterations according to equations (5) and (6), respectively. If the road segment is neither on the ordinary path nor on the historical path, the parameters a and b may remain unchanged.

The weight of the road segment may be determined based on a model M (e.g., update parameters a 'and b' of the model M), which is represented by equation (9):

X=a′·L+b′·W (9),

where X is the road segment weight updated in the iteration.

FIG. 8 is an exemplary flow diagram for validating a path recommendation model, shown in accordance with some embodiments of the present application. At 810, a recommended path and validation data may be obtained. In some embodiments, the verification unit 430 may obtain the recommended path and verification data. The recommended path may be generated by the generation unit 440 based on the path recommendation model acquired in the flow 600. The generation unit 440 may generate a recommended path based on the start point and the destination. In some embodiments, the starting point may be the current location of the user. In some embodiments, the origin and destination may be obtained from a user (e.g., the positioning device 140 or the terminal 120), or set by the path planning system 110 or the like. In some embodiments, multiple starting points and corresponding destinations from different users and/or at different times (e.g., 8 am monday, 12 pm monday, 8 pm sunday) may be obtained to verify the route recommendation pattern.

The verification data may include a verification path including the acquired origin and destination. As used herein, a verification path may be defined with respect to a historical path. The verification path may have at least one path different from the historical path. The verification path may include one or more paths formed after a period of forming the history path. For example, the actual path taken from certain users (e.g., by the positioning device 140) for month 1 may be defined as the historical path, and the actual path taken from certain users (e.g., by the positioning device 140) for month 2 may be defined as the verification path. Alternatively or additionally, the verification path may include one or more paths acquired after a period of acquiring the historical path. For example, one or more validation paths may be obtained within a period of time after the training process of the path recommendation model is terminated. In some embodiments, some verification paths may begin at a starting point and end at a destination. Some verification paths may have a different origin from the origin of the acquisition and/or a different destination from the destination of the acquisition. For example, the most recent path may not start from the acquired start point but pass through the acquired start point.

At 820, a hit rate for the recommended path may be determined based on the validation data. The hit rate may represent the accuracy of the recommended path determined from the trained path recommendation model. In some embodiments, the hit rate may be determined by the verification unit 430. When a path is recommended for a user using a path recommendation model, the accuracy of the recommended path may be determined by comparing the actual path selected by the user with the recommended path. The actual path selected by the user may be a verification path.

At 830, it may be determined whether the hit rate is above a threshold. In some embodiments, the determination may be made by the verification unit 430. If the validation unit 430 determines that the hit rate is above the threshold, the flow may proceed to 840 and the generation unit 440 may output the path recommendation model. If the verification unit 430 determines that the hit rate is not above the threshold, the flow may proceed to 850 to further adjust the weight of the road segment in the road network. The threshold may be set by the user or according to default settings of the path planning system 110. In some embodiments, the threshold may be set by a user via input/output 215.

In 840, a path recommendation model may be output. The path recommendation model may be sent (e.g., by the generation unit 440) to a device or component of the path planning system 110 for predicting or recommending a path to the user. In some embodiments, the path recommendation model may be sent to a server (e.g., a remote server) or one or more terminals (e.g., terminal 120) for path recommendation. In some embodiments, the path recommendation model may be saved to a storage device (e.g., memory 130) for storage and/or retrieval by components of the path planning system 110.

At 850, weights for segments in the one or more ordinary paths and historical paths may be adjusted. In some embodiments, the weight determination submodule 520 may adjust the road segment weights. In some embodiments, in response to the hit rate not being above the threshold, the process may proceed to process 600 for a new round of training of the path recommendation model. In a new round of training, one or more ordinary paths may be determined, the weights of the segments on the ordinary paths and the historical paths may be adjusted, and it may be determined whether preset conditions described elsewhere in the application (e.g., fig. 6) are satisfied. In some embodiments, the algorithm used to adjust the weights of the segments on the ordinary path and the historical path may be different from the algorithm used in the previous round of training. For example, if the path recommendation model still has a hit rate below a threshold after a certain number of training rounds, the maximum entropy IRL algorithm may replace the MMP algorithm. In some embodiments, the algorithm used to optimize the parameters of the path recommendation model may be replaced by another algorithm different from the algorithm used in the previous round of optimization. In some embodiments, the initial weight of the road segment may be re-determined. For example, the initial weight for the road segment may be re-determined based at least in part on some other information, such as weather, road maintenance, etc. In some embodiments, a new set of historical paths may be provided to train the path recommendation model.

In some embodiments, the process 800 may be incorporated with the process 600 for training a path recommendation model and verifying the trained model. Step 850 may be replaced by steps 640 through 660.

Having thus described the basic concepts, it will be apparent to those of ordinary skill in the art having read this application that the foregoing disclosure is to be construed as illustrative only and is not limiting of the application. Various alterations, improvements, and modifications may be suggested to one skilled in the art, though not expressly stated herein. Such modifications, improvements and adaptations are proposed in the present application and thus fall within the spirit and scope of the exemplary embodiments of the present application.

Also, this application uses specific language to describe embodiments of the application. For example, the terms "one embodiment," "an embodiment," and "some embodiments" mean a certain feature, structure, or characteristic described in connection with at least one embodiment of the application. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics may be combined as suitable in one or more embodiments of the application.

Moreover, those of ordinary skill in the art will understand that aspects of the present application may be illustrated and described in terms of several patentable species or contexts, including any new and useful combination of processes, machines, articles, or materials, or any new and useful modification thereof. Accordingly, various aspects of the present application may be embodied entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in a combination of hardware and software that may be referred to as a "module," unit, "" component, "" apparatus "or" system. Furthermore, aspects of the present application may be presented as a computer product, having computer-readable program code, in one or more computer-readable media.

A computer readable signal medium may comprise a propagated data signal with computer program code embodied therein, for example, on baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, etc., or any suitable combination. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code on a computer readable signal medium may be propagated over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or any suitable combination of the foregoing.

Computer program code required for operation of aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C + +, C #, VB.NET, Python and like conventional programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages, such as Python, Ruby, and Groovy or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any network, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet), or in a cloud-computing environment, or as a service, such as a software as a service (SaaS).

Furthermore, unless explicitly stated in the claims, the order of processing elements or sequences, use of numbers or letters, or use of other names is not intended to limit the order of the processes and methods described herein. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by being installed in a hardware device, they may also be implemented by a software-only solution, such as installing the described system on an existing server or mobile device.

Similarly, it should be noted that in the preceding description of embodiments of the application, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to suggest that more features are required than are expressly recited in the claims. Indeed, the claimed subject matter may be characterized as encompassing less than all of the features of a single disclosed embodiment.

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:多圈角度测量装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!