User demand processing method and device under map application, equipment and storage medium
By combining the user's natural language description requirements and the historical operation information of the map application, matching and executing the target application programming interface or interface call sequence, the inefficiency problem of user needs converted into specific operations is solved and interactive efficiency is improved.
Patent Information
- Application Number
- CN202411886261.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2025-04-04
AI Technical Summary
The prior art is difficult to effectively convert the user's needs described in natural language in map applications into specific operations, resulting in inefficient user interaction.
By obtaining the user's natural language description requirements and the historical operation information of the map application, determining the pre-information, and then matching the target application programming interface or interface call sequence, performing specific operations to meet user needs.
It improves the interaction efficiency between users and map applications, ensures that the user's natural language description can be accurately converted into specific operations of map applications, thereby better meeting user needs.
Smart Images

Figure CN119760115A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, specifically to the field of artificial intelligence technology such as generative large language models and natural language processing, and especially to a method, device, electronic device, computer-readable storage medium and computer program product for processing user demands in map applications. Background Art
[0002] The pending demands expressed by users in a map application usually involve multiple steps of operations in the map application.
[0003] How to enable users' natural language descriptions of map applications to be correctly converted into real operations within the map applications so as to maximize the interaction efficiency between users and map applications is a research focus that needs to be urgently addressed by technical personnel in this field. Summary of the invention
[0004] The embodiments of the present disclosure provide a method, device, electronic device, computer-readable storage medium, and computer program product for processing user demands in a map application.
[0005] In the first aspect, the embodiments of the present disclosure propose a method for processing user demands under a map application, including: obtaining a pending demand initiated by a user to a map application and described in a natural language; determining precondition information based on historical operation information of the map application before receiving the pending demand, the precondition information being part of the information in the historical operation information that affects the understanding of the actual demand expressed by the pending demand; determining a matching target application programming interface or an interface call sequence consisting of multiple different target application programming interfaces in a calling order based on the pending demand and the precondition information; executing the target application programming interface or executing each target application programming interface constituting the interface call sequence in sequence in the calling order to obtain a demand execution result.
[0006] In the second aspect, the embodiment of the present disclosure proposes a user demand processing device under a map application, including: a pending demand acquisition unit, configured to acquire pending demands initiated by users to the map application and described in natural language; a pre-information determination unit, configured to determine pre-information based on historical operation information of the map application before receiving the pending demand, the pre-information being part of the information in the historical operation information that affects the understanding of the actual demand expressed by the pending demand; a matching interface determination unit, configured to determine a matching target application programming interface or an interface call sequence composed of multiple different target application programming interfaces in a calling order based on the pending demand and the pre-information; an execution unit, configured to execute the target application programming interface or to execute each target application programming interface constituting the interface call sequence in sequence in the calling order to obtain a demand execution result.
[0007] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that when the at least one processor executes, the method for processing user demands under a map application as described in the first aspect can be implemented.
[0008] In a fourth aspect, an embodiment of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, which are used to enable a computer to implement the method for processing user needs under a map application as described in the first aspect when executed.
[0009] In a fifth aspect, an embodiment of the present disclosure provides a computer program product including a computer program, which, when executed by a processor, can implement the various steps of the method for processing user demands under a map application as described in the first aspect.
[0010] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Other features, objects and advantages of the present disclosure will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:
[0012] Figure 1 is an exemplary system architecture in which the present disclosure may be applied;
[0013] Figure 2 A flowchart of a method for processing user needs in a map application provided by an embodiment of the present disclosure;
[0014] Figure 3 Example diagrams of different target application programming interfaces provided for embodiments of the present disclosure;
[0015] Figure 4 A schematic diagram of two different branches for determining pre-information provided in an embodiment of the present disclosure;
[0016] Figure 5 A flowchart of a solution for performing task splitting and generating a matching target application programming interface or target interface call sequence through a generative large language model provided by an embodiment of the present disclosure;
[0017] Figure 6-1 A schematic diagram of a multi-round dialogue between a user and a map application during travel provided by an embodiment of the present disclosure;
[0018] Figure 6-2 A schematic diagram of a method of using multi-round memory and memory restoration in a debate dialogue process provided by an embodiment of the present disclosure;
[0019] Figure 7 A structural block diagram of a user demand processing device under a map application provided by an embodiment of the present disclosure;
[0020] Figure 8 A schematic diagram of the structure of an electronic device suitable for executing a method for processing user demands in a map application provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0021] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description. It should be noted that the embodiments in the present disclosure and the features in the embodiments may be combined with each other without conflict.
[0022] In the technical solution of the present disclosure, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0023] Figure 1 An exemplary system architecture 100 is shown to which embodiments of the method, apparatus, electronic device, and computer-readable storage medium for processing user demands in a map application of the present disclosure can be applied.
[0024] like Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0025] Users can use terminal devices 101, 102, 103 to interact with server 105 through network 104 to receive or send messages, etc. Terminal devices 101, 102, 103 and server 105 can be installed with various applications for realizing information communication between the two, such as map applications, online shopping applications, instant messaging applications, etc.
[0026] Terminal devices 101, 102, 103 and server 105 can be hardware or software. When terminal devices 101, 102, 103 are hardware, they can be various electronic devices with display screens, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, etc.; when terminal devices 101, 102, 103 are software, they can be installed in the electronic devices listed above, which can be implemented as multiple software or software modules, or as a single software or software module, and no specific limitation is made here. When server 105 is hardware, it can be implemented as a distributed server cluster composed of multiple servers, or as a single server; when the server is software, it can be implemented as multiple software or software modules, or as a single software or software module, and no specific limitation is made here.
[0027] The server 105 can provide various services through various built-in applications. Taking a map application that can provide services related to map points of interest as an example, the server 105 can achieve the following effects when running the map application: first, receive the pending demand described in natural language initiated by the user through the terminal devices 101, 102, and 103 for the installed map application through the network 104; then, determine the precondition information based on the historical operation information before receiving the pending demand, and the precondition information is part of the information in the historical operation information that affects the understanding of the actual demand expressed by the pending demand; then, based on the pending demand and the precondition information, determine the matching target application programming interface or the interface call sequence composed of multiple different target application programming interfaces in a calling order; finally, execute the target application programming interface or execute each target application programming interface that constitutes the interface call sequence in sequence according to the calling order to obtain the demand execution result.
[0028] Furthermore, the server 105 may also return the demand execution result to the terminal devices 101 , 102 , 103 via the network 104 , so that the terminal devices 101 , 102 , 103 present the received demand execution result to the user to meet his actual expectations.
[0029] It should be noted that, in addition to being obtained from the terminal devices 101, 102, 103 in real time through the network 104, the requirements to be processed can also be pre-stored in the server 105 in various ways. Therefore, when the server 105 detects that these data have been stored locally (for example, the user requirements to be processed that were previously stored before the server 105 starts processing), it can choose to directly obtain these data locally. In this case, the exemplary system architecture 100 may also not include the terminal devices 101, 102, 103 and the network 104.
[0030] The method for processing user demands under the map application provided in the subsequent embodiments of the present disclosure is generally executed by the server 105 with strong computing power and more computing resources. Accordingly, the user demand processing device under the map application is generally also set in the server 105. However, it should also be pointed out that when the terminal devices 101, 102, and 103 also have computing power and computing resources that meet the requirements, the terminal devices 101, 102, and 103 can also complete the above-mentioned various operations that are handed over to the server 105 through the map application installed thereon, and then output the same result as the server 105. Especially in the case where there are multiple terminal devices with different computing capabilities at the same time, but the map application determines that the terminal device where it is located has strong computing power and more remaining computing resources, it can let the terminal device perform the above-mentioned operations, thereby appropriately reducing the computing pressure of the server 105. Accordingly, the user demand processing device under the map application can also be set in the terminal devices 101, 102, and 103. In this case, the exemplary system architecture 100 may also not include the server 105 and the network 104.
[0031] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0032] Please refer to Figure 2 , Figure 2 A flowchart of a method for processing user needs in a map application provided in an embodiment of the present disclosure, wherein process 200 includes the following steps:
[0033] Step 201: Obtaining a request to be processed initiated by a user for a map application and described in a natural language;
[0034] This step is intended to be performed by the execution subject of the user demand processing method under the map application (such as Figure 1 The server 105 or the map application installed on the terminal devices 101, 102, 103 shown in the figure obtains the to-be-processed demand initiated by the user for the map application described in natural language, such as the user using the terminal device (e.g. Figure 1 The terminal devices 101, 102, 103 shown) initiate pending requests in various forms for the running map application.
[0035] Specifically, users can interact with map applications by describing tasks or problems through voice, text or other natural language input methods, hoping that the map application will parse them into executable instructions or queries, so that the user's pending needs can be processed and satisfied. Among them, the pending needs can be that the user wants to query a certain location, plan a route to a certain place, obtain real-time traffic information of a certain place, etc., which are usually expressed in a spoken form and received by the map application.
[0036] The following are some specific examples of natural language descriptions of "pending requests", showing how users can make requests to the map application in natural language:
[0037] 1. Query a location: 1) Where am I now? 2) How do I get to the nearest restaurant from here? 3) Is the road to the airport congested? 4) Find me a nearby coffee shop 5) Help me plan a route from Beijing to Shanghai and then to Guangzhou 6) Find where the nearest gas station is?
[0038] 2. Query location details: 1) I want to know the opening hours of Tiananmen Square; 2) How long does it take to get from home to the company?; 3) Tell me how to get to the nearest shopping mall.
[0039] Other types of user needs can also be obtained by referring to the above examples, and will not be listed here one by one.
[0040] Step 202: determining the pre-conditioning information according to the historical operation information of the map application before receiving the request to be processed;
[0041] On the basis of step 201, this step aims to determine the pre-condition information that affects the actual understanding of the pending demand based on the historical operation information of the map application before receiving the pending demand. That is, the pre-condition information refers to the relevant background information of the current pending demand that is inferred or understood by analyzing the historical interaction, operation records and other information between the user and the map application before the map application receives the current pending demand. The pre-condition information can affect the map application's understanding, processing method and response strategy of the current user's demand. This information helps the map application to more accurately and intelligently infer the user's current actual demand through the analysis of historical operation data and interaction behavior.
[0042] The historical operation information refers to the various data and behavior records generated by the user when using the map application in the past. This information can help the map application infer more appropriate pre-information when receiving new requirements. The following are several possible specific forms of expression:
[0043] 1. User historical interaction information (interaction records between users and map applications)
[0044] 1) Search history: places, addresses, cities or specific geographic locations that users have searched in the past. For example, if a user frequently searches for a certain business district or tourist attraction, the map application can infer that the user may be interested in that area;
[0045] 2) Navigation history: the user's past navigation routes, destinations, departure times, etc. This information can help the system understand the user's common routes, preferred directions, etc. For example, if the user often takes the route from home to work, the map application may predict that the user's current needs may also be a similar travel route;
[0046] 3) Settings and preference records: Navigation preferences that users have set (such as avoiding highways, choosing the shortest route, etc.) or personalized choices in history. For example, if a user has chosen a certain mode of transportation (such as public transportation, walking, driving), the map application can give priority to this preference when processing new needs.
[0047] 2. User historical operation information (user operation track and behavior pattern of map application)
[0048] 1) Click history: The places, routes or interface elements that users have clicked. By analyzing these click behaviors, users’ preferences or needs can be inferred.
[0049] 2) Interaction mode: The order and method of user operations in the map application, such as the user's habitual zooming in and out of the map, switching views, or adjusting certain levels of the map display. This information helps the map application understand the user's operating habits and adjust the interactive experience.
[0050] 3. User historical device and location data (user's historical location data and device usage)
[0051] 1) Location data: The user's historical location records, including the places visited, the length of stay, the areas frequently visited, etc. By analyzing these location data, the system can infer the user's travel habits or living areas;
[0052] 2) Device information: the types of devices used by users (mobile phones, tablets, etc.) and the related settings of the devices (such as location services, display preferences, etc.). This information helps to determine the differences in user needs on different devices.
[0053] 4. User historical behavior patterns (such as regular travel, activities during common time periods, etc.)
[0054] 1) Travel time analysis: The system can infer the user's demand pattern based on the user's behavior history in different time periods (such as morning peak, evening peak, etc.), and then optimize the recommendation results;
[0055] 2) Impact of traffic conditions: By analyzing historical traffic data, the system can determine whether users have a need to avoid peak hours, or whether they prefer to avoid certain areas with heavy traffic.
[0056] 5. External environment data and historical interaction
[0057] 1) Weather data: By analyzing the relationship between past weather conditions and user travel behaviors, map applications can make corresponding adjustments when the weather changes. For example, if a user chooses public transportation on a rainy day and drives on a sunny day, the system can intelligently adjust the recommendation based on the weather conditions;
[0058] 2) Special event records: For example, when a user visits certain areas during a certain period of time, it may be due to some special events (such as exhibitions, concerts, etc.). These event history information helps to determine the future demand direction of users.
[0059] That is, the key to determining the pre-condition information in this step is to infer, understand and optimize the processing method of current user needs based on historical operation information, which includes but is not limited to user historical interaction records, operation behaviors, location data, device information, etc. By deeply analyzing these historical data, the map application can not only improve the accuracy of responding to subsequent user requests, but also better provide users with personalized and intelligent services.
[0060] Step 203: Determine a matching target application programming interface or an interface calling sequence consisting of a plurality of different target application programming interfaces in a calling order based on the requirements to be processed and the pre-set information;
[0061] On the basis of step 201 and step 202, this step aims to enable the above-mentioned execution subject to determine, based on the pending requirements combined with the pre-information, a target application programming interface (API) that matches the actual requirements expressed, or an interface call sequence (or simply a target interface call sequence) consisting of multiple different target APIs in a calling order.
[0062] The target APIs are all the underlying atomic skills that constitute the map application, and can include any of the following (see Figure 3 ):
[0063] A retrieval interface for retrieving the actual geographic information of a map point of interest; a positioning interface for locating the actual geographic information of a real-time location; a path planning interface for planning a route between different map points of interest, in which the selection of information such as travel mode, travel time, and travel preference can also be simultaneously reflected; a navigation interface for providing navigation services for a planned route, in which the additional function of navigation preference, travel time, and other information can also be simultaneously reflected; a page operation interface for providing jump operations for different pages provided by a map application, such as directly jumping to a secondary interface or a tertiary interface of a map application; a parameter configuration interface for modifying configuration parameters of application configuration items provided by a map application, such as home address, company address, and vehicle license plate information; a calculation interface for calculating the time and / or spatial relationship of the parameters to be calculated contained in the processing requirements, such as distance calculation, time consumption calculation, etc.; a query interface for searching and querying the query information contained in the processing requirements, such as retrieval of real-time information and query retrieval of related locations, and also supports presenting candidate sequences according to multiple preset sorting methods.
[0064] Step 204: Execute the target application programming interface or execute the target application programming interfaces constituting the interface calling sequence in sequence in the calling order to obtain the required execution result.
[0065] Based on step 203, this step aims to execute the target application programming interface by the above-mentioned execution subject or execute the target application programming interfaces constituting the interface call sequence in sequence according to the calling order, and then obtain the demand execution result corresponding to the demand to be processed.
[0066] For example, assuming that the demand to be processed is to calculate the remaining time to reach the destination (for example, described in natural language as: how long will it take to reach the destination?), and the pre-condition information includes the target travel route selected by the user and the user's travel preferences, then the interface call sequence consisting of the positioning interface, the path planning interface, the navigation interface, and the calculation interface in the calling order can be determined according to the calculation demand of the remaining time, the target travel route, and the travel preferences. Then, in the process of sequential execution: the positioning interface is used to determine the real-time position when the calculation demand is received, the path planning interface is used to recalculate the new travel route with the real-time position as the actual starting point and the destination of the target travel route as the end point, the navigation interface is used to generate navigation information according to the travel preferences and the new travel route, and the calculation interface determines the remaining time according to the predicted time in the navigation information. It can be seen that among the interfaces called in sequence according to the calling order, the execution result of the interface called or executed first can be used as the parameter required by the interface to be called later in the specific execution process.
[0067] For another example, assuming that the demand to be processed is entertainment content recommendation (for example, natural language description is: driving is too boring, tell me a joke), and the pre-condition information includes the target travel route selected by the user and the user's entertainment preferences, then according to the entertainment content recommendation demand, the target travel route and the entertainment preferences, an interface call sequence consisting of a path planning interface and a query interface in the calling order can be determined. Then, in the process of sequential execution: the path planning interface is used to determine each target road section according to the target travel route, and the query interface is used to query and obtain matching recommended entertainment content according to each target road section and the entertainment preferences, that is, to obtain some entertainment content related to each target road section, such as jokes related to driving.
[0068] The method for processing user demands under a map application provided by the embodiment of the present disclosure, after obtaining the user's current pending demands, obtains the historical operation information of the map application before receiving the pending demands, and uses it as the pre-information of the pending demands to complete the implicit information that is not directly reflected in the pending demands or the information that needs to be supplemented, thereby obtaining a more accurate actual pending demands after completion, and then making the determined target application programming interface or target interface calling sequence more compatible with the actual pending demands, and finally making the obtained demand execution results more compatible with the user's actual needs.
[0069] In order to deepen the understanding of how to determine the pre-condition information according to the historical operation information, this embodiment also Figure 4 Two different specific implementations are shown:
[0070] Method 1: When the unprocessed demand is the first interaction request initiated by the user to the map application, the historical operation behavior of the user on the launched map application before initiating the unprocessed demand to the map application is determined as the first pre-condition information.
[0071] The historical operation behavior may include any of the following:
[0072] The operations of clicking on any function button contained in the map application, inputting information into any information input box in the map application, forwarding any forwardable information in the map application, searching and locating map points of interest from any source with the help of the map application, gesture operations on the map application at any level of the interface, etc.
[0073] Specifically, considering that not all historical operation behaviors are usually needed, and only the historical operation behaviors that are most recent to the current interaction are usually more valuable for reference, only the first preset number of historical operation behaviors that the user has performed on the launched map application before initiating the pending request to the map application can be determined as the first pre-condition information. For example, the first preset number of historical operation behaviors that the user has performed on the map application for the last three times before initiating the pending request to be processed can be determined as the first pre-condition information.
[0074] Method 2: When the unprocessed demand is a non-first interaction request initiated by the user to the map application, historical interaction data of the user on the launched map application before initiating the unprocessed demand to the map application is determined as the second pre-information.
[0075] Assuming that the demand to be processed is the sixth interaction request initiated by the user to the map application in this interactive dialogue, it means that there are also the first five interaction requests initiated by the user in this interactive dialogue (which can be simply understood as questions or queries initiated by the user), and the interaction responses (replies or answers) returned by the map application for the first five interaction requests. In this way, the historical interaction data composed of the first five interaction requests and interaction responses can be determined as the influencing pre-information, and then the actual expectations or actual needs expressed by the sixth interaction request currently initiated by the user can be better understood by combining the contents of the first five interactions.
[0076] Similarly, considering that not all historical interaction data are often needed, and often only the historical interaction data from the most recent few times of the current interaction is more valuable for reference, it is also possible to determine as the second pre-condition information only the historical interaction data from the second preset number of times that the user has conducted on the activated map application before initiating a pending demand to the map application. Still using the above example, when the pending demand is the sixth interaction request initiated by the user to the map application in this interactive dialogue, only the historical interaction data from the third, fourth and fifth rounds of interaction between the user and the map application in this interactive dialogue can be determined as the second pre-condition information, that is, it is generally believed that the more distant the interaction data is from the current interaction, the less valuable it is for reference. Of course, if there is the ability to further screen whether the interaction content of all historical interaction rounds affects the understanding of the pending demand, the historical interaction data of the target historical interaction rounds can also be selected in a targeted manner.
[0077] Furthermore, only the interaction responses in the historical interaction data of the second preset number of times that the user has conducted on the launched map application before initiating the pending demand to the map application can be determined as the second pre-condition information. For example, still using the above example, when the pending demand is the sixth interaction request initiated by the user to the map application in this interactive dialogue, considering that the information that affects the actual expectation of understanding the pending demand is usually present in the response content that the map application previously fed back to the user, only the historical interaction responses of the user and the map application in the third round of interaction, the fourth round of interaction, and the fifth round of interaction in this interactive dialogue can be determined as the second pre-condition information. Similarly, if it is possible to further screen whether the interaction content of all historical interaction rounds affects the understanding of the pending demand, only the selected historical interaction responses of several target interaction rounds that affect the understanding of the pending demand can be determined as the second pre-condition information, for example, the historical interaction responses of the second round of interaction, the fourth round of interaction, and the fifth round of interaction after screening can be determined as the second pre-condition information.
[0078] Considering that the demand expressed by the user to the map application may be a complex demand that is difficult to be fully processed by a single step operation, for step 203 in process 200, this embodiment also Figure 5 An implementation method of using a generative large language model to split subtasks and determine a matching target API or target interface call sequence is shown, and the process 500 includes the following steps:
[0079] Step 501: using a preset generative large language model to split the to-be-processed requirements combined with the previous information into multiple subtasks;
[0080] This step aims to use the generative large language model obtained through pre-training by the above-mentioned execution subject to decompose the pending requirements combined with the prior information, so as to split them into multiple subtasks, that is, the completion of all subtasks corresponds to the completion of the processing of the actual pending requirements.
[0081] The pending requirements combined with the pre-information can be understood as the pending requirements that the user actually expects to be processed after the pre-information influences or completes the unclear or indirect information in the pending requirements. In the process of splitting the pending requirements that the user actually expects to be processed into multiple subtasks, the generative large language model often needs to first fully understand the semantics to obtain the expected processing intent, and then split the tasks according to the expected processing intent combined with the preset problem processing logic to obtain the subtasks corresponding to each processing step.
[0082] An implementation method including but not limited to may be:
[0083] The generative large language model is used to split the pending requirements combined with prior information into multiple subtasks represented in the unobserved reasoning format according to the thought chain mode.
[0084] Among them, the generative large language model (such as the GPT series, BERT, etc.) is a type of large-scale natural language processing model trained by deep learning technology. This type of model can generate corresponding outputs based on the input text, and is usually used for tasks such as dialogue generation, automatic text writing, and translation. In this feature, the application of the generative large language model can process requirements by understanding and generating text, and generate appropriate responses based on the context. In this embodiment, it is used to implement task decomposition of complex requirements.
[0085] Among them, the Chain of Thought (COT) model refers to breaking down complex problems into a series of thinking steps with a logical order. This method is often used to solve tasks that require multiple reasoning steps. The generative large language model breaks down the requirements to be processed into multiple subtasks through the "Chain of Thought Model" and reasons through the logical order of each subtask. For example, when dealing with a problem, you may first conduct a preliminary analysis, then derive the necessary information, and finally draw conclusions or perform specific operations. These steps form a chain, and each subtask is the reasoning result of the previous task. Through this model, complex problems can be simplified into a series of manageable small tasks, so that they can be solved step by step.
[0086] Among them, Reasoning Without Observation (REWOO) means that in the reasoning process, it does not rely on external direct observation information or data, but instead uses a language model to reason based on internal knowledge and prior information. This means that new information will not be collected from external data sources in real time, but will rely on the model's internal knowledge base, contextual information, and previous task reasoning results. Specifically, "subtasks expressed in the format of reasoning without observation" means that each split subtask is reasoned only based on existing known information, without relying on new external input or observation. The focus of this process is to decompose and solve tasks through internal reasoning rules and logical relationships, without the need to obtain external data from scratch every time.
[0087] Of course, in addition to the above-mentioned embodiment of using the COT model to decompose tasks and expressing each subtask in REWOO format, other technologies that can achieve the same or similar effects can also be used. No specific limitation is made here, and only examples are provided.
[0088] Step 502: Use the generative large language model to output a matching target application programming interface or an interface calling sequence consisting of multiple different target application programming interfaces in a calling order for each subtask.
[0089] Based on step 501, this step aims to use the generative large language model to output the matching target application programming interface or the interface call sequence composed of multiple different target application programming interfaces in the calling order for each subtask. That is, each subtask will be determined by the generative large language model to match the target API or target interface call sequence, which will be determined according to the actual situation of the complete task and the split subtasks.
[0090] In order to deepen the understanding of the core inventive concept of the solution provided by the present disclosure, this embodiment provides a complete set of implementation solutions based on the defects of the prior art, combined with design concepts and specific technical means:
[0091] Considering the existing map application solutions for understanding input user needs (such as queries described in natural language), they often use a large number of user query configurations combined with scene judgment, that is, trying to configure and preset multiple user expressions in advance. However, this method can never cover all user expressions, and users may have different ideas for the same sentence in different scenarios, so configuration has become a difficulty.
[0092] Therefore, in order to convert real natural language into map capabilities that understand user needs, this embodiment adopts the technical solution of a generative large language model, and fine-tunes the map user-related skills based on the general generative large language model, in order to make full use of the powerful reasoning ability of the generative large language model, combined with sufficient context information to clarify the user's actual needs as much as possible, so that the fine-tuned generative large language model can reason according to the atomic skills that constitute the map application (that is, the corresponding functions that can be achieved by calling the corresponding API), and convert the user's actual needs into multi-step atomic skills for execution.
[0093] The following will explain in detail from several important aspects:
[0094] 1. Model design
[0095] 1. Design atomic skills for multi-step execution
[0096] Skill atomization: Each possible step of executing a query to meet user needs is designed atomically. Taking the map application as an example, the operations designed are designed atomically, such as finding points of interest (POI), planning routes, page operations, operation settings, calculating space-time relationships, and inquiries.
[0097] Take time skills as an example: the design of the overall atomic skills is based on the principle of function expression, which increases the understanding of model intent and facilitates parameter acquisition and corresponding return value correspondence during architecture implementation.
[0098] Atomic skill design for finding POIs: Based on the location search function, user search items include name, location category, and location features. After the user completes the search, there is the ability to filter and sort: rating, price, distance and other information.
[0099] Navigation planning path atomic skill design: Based on route calculation, the user's planned path has a starting point and an end point. After the route calculation is completed, the preferences of the planned path need to be modified: highway priority, shortest distance, shortest time and other preference designs. Before driving or setting off, waypoints or passing roads can be added.
[0100] Atomic function design of page operation: users can directly open specific page operations on the map, for example, open page information such as settings page, 3D earth, voice square, etc.
[0101] 2. Design semantically corresponding multi-step atomic skill pairs
[0102] According to the data application scenario, the prompt and answer of the training model are constructed. For the first question, only the user's current query is required, and one or more execution steps to achieve the user's query are marked according to the user's current query.
[0103] For example:
[0104] “User: Please determine whether the following question requires action and additional information to answer. If so, generate your thoughts and action sequence.
[0105] Cycling Navigation Venus Hotel
[0106] assistant:
[0107] POIs mentioned above
[0108] The routes mentioned above
[0109] answer:
[0110] According to the above, the mode of transportation involved in the route is [cycling]. The simplified and abstracted problem is [cycling navigation to (b)]. In summary, the locations to be reached in sequence are: (1) the user's [current location], and (2) the first appearance of [Jinxing Hotel], which are the starting point and end point of the route respectively. Therefore, I need:
[0111] program:
[0112] #1. Find the first appearance of [Venus Hotel]
[0113] p1 = search_for_poi(name = 'Jinxing Hotel')
[0114] #2. The mode of transportation is [cycling], the starting point is ['current location']: the end point is [p1]; query the navigation route
[0115] r1 = search_for_navi (transportation mode = 'cycling', starting point = 'current location', end point = p1)
[0116] #3. Call the native function [Initiate Navigation] of [Map APP], and the [Route] in the corresponding parameter is [r1]
[0117] nil = manipulate_native_features(target platform = 'map APP', operation item = 'initiate navigation', parameter = {'route': r1})"
[0118] That is, in this example, the query is: Cycling navigation to Venus Hotel, and the execution steps are divided into 3 steps:
[0119] 1) Query the POI point Venus Hotel;
[0120] 2) The destination of the planned route is the result of querying Venus Hotel P1, and the mode of transportation is cycling;
[0121] 3) Initiate navigation.
[0122] For multiple rounds of user interaction, it is necessary to restore the current user page information and the user's multiple rounds of conversation information, build a prompt based on the context and the current query, and annotate the multiple execution steps to achieve the user's query based on the complete information. Another example is as follows:
[0123]
[0124]
[0125] It can be seen that in this example, the user has already completed the route calculation by driving, and continues to express the query as the shortest route to the destination. Combined with the context information, a single-step execution step is generated: planning a route, the user prefers the shortest distance to meet the user's needs.
[0126] 3. Model reasoning capabilities
[0127] When training the model, according to the reasoning and understanding logic of the model prompted by the prompt and answer of the Query, in the design of the travel POI point search scenario, take the Query: "Help me find a hot pot restaurant between A and B, with a high score and an average cost of less than 300 yuan per person" as an example. The skill to be mapped by the model during the reasoning process is the atomic skill of finding POI, and the reasoning logic is the language COT prompt model: the user expects to find a hot pot restaurant, which is required to be located at the center of A and B, and the result sorting requirements are within 300 yuan per person and with a high score.
[0128] This can produce atomic skills:
[0129] 1) Find POI (A, B);
[0130] 2) Calculate the center point (A, B);
[0131] 3) Find POI (location category: hot pot restaurant, sorting (high to low score), less than 300 per person).
[0132] After the POI search skill is executed, a list of POI data that meets the user's needs will be displayed. In the second round of interaction, the user Query "Go to the second store". After receiving the Query, short-term memory restoration is performed (the results of the user's previous round of POI search are restored) to perform model reasoning. Given the model's first round of hot pot restaurant POI list information and going to the second store, it is understood. Reasoning COT: The user's question expression is to go to the second store, and the atomic skill of the planned path should be called, with the starting point being the current location and the end point being the second one in the POI list.
[0133] Atomic output skills:
[0134] Plan the path (starting point: current location, end point: POI list - second one)
[0135] Finally, after the navigation route calculation is completed, the route calculation results (route page) that meet the user's needs are displayed.
[0136] In the following driving process, when receiving the user query: "How long does it take to reach the destination", the page information is restored again, the current user's starting and ending information and navigation status information are constructed, and the model is inferred. Inference COT: The user is currently in the navigation state, and the query of how long it takes to reach the destination POI refers to the time.
[0137] Atomic output skills:
[0138] 1) In-trip navigation inquiry (inquiry content: arrival time at the destination, inquiry POI point: destination);
[0139] 2) Result generation method: Call the route calculation capability to calculate the current distance, time and other information of navigation to the destination, and the big model organizes the data to answer:
[0140] There are 16 kilometers left to the destination, which will take about 37 minutes and is expected to arrive at 20:30.
[0141] During the following driving process, when the user query "Driving is so boring, tell me a joke" is received, the page information is restored again, the starting and ending information of the current user and the query and answer of the previous user's inquiry "How long will it take to reach the destination" are constructed, and the model COT reasoning is performed with the current query: the user's current expression is to tell a joke, which is entertainment broadcast content, and the big model should be called for content generation.
[0142] Output atomic skills: Inquiry big model (inquiry content: tell a joke);
[0143] The final reply to the user is: "A joke generated by a large model."
[0144] In the following driving process, when receiving the user query: "What is the traffic situation ahead? Is there a traffic jam?", the page information is restored again, and the starting and ending information of the current user and the query and answer of the previous user's query "How long will it take to reach the destination?" and "Driving is so boring, tell me a joke" are constructed. The model COT reasoning is performed with the current query: the user is currently in the navigation state, and the query is for information related to the navigation route. The in-line navigation query capability should be called to inquire about traffic congestion information.
[0145] Output atomic skills: Navigation inquiry during driving (inquiry content: congestion situation, inquiry route: current route);
[0146] Result generation method: Call the route calculation capability to calculate the congestion information of the navigation route, and the big model organizes the data to answer the final result to the user: the road ahead is unobstructed.
[0147] In the following driving process, when receiving the user query: "My car is out of gas, please help me find a gas station along the way", the page information is restored again, and the starting and ending information of the current user and the query and answer of the previous user's inquiry "Driving is boring, tell me a joke", "What is the traffic situation ahead, is there a traffic jam?" are constructed, and the model COT reasoning is performed with the current query: the user is currently in the navigation state, and the requirement is to find a POI along the way, the type is a gas station, and the location search capability should be called to find the gas station, the requirement is to search along the way, and waypoints should be added for the user.
[0148] Atomic output skills:
[0149] 1) Find POI points (location categories: gas stations, search along the way);
[0150] 2) Plan a route (starting point: current location, passing point: gas station, end point: gas station D 600 meters ahead), and finally reply to the user with the result: add gas station D along the way for the user.
[0151] In the following driving process, when receiving the user query: "What will the weather be like tomorrow? Is it suitable for going out for fun?", the page information is restored again, the starting and ending information of the current user, the waypoint information, and the query and answer of the previous user's query "Driving is boring, tell me a joke", "What is the traffic situation ahead, is there a traffic jam?" and "My car is out of gas, help me find a gas station along the way" are constructed, and the model Cot reasoning is performed with the current query. Reasoning COT: The user is currently in the navigation state, the requirement is to query tomorrow's weather, the time is tomorrow, the query content is weather, the user has not clearly expressed the location, which is the current location, and whether it is suitable for fun based on tomorrow's weather.
[0152] Atomic output skills:
[0153] 1) Time query (time: tomorrow);
[0154] 2) Weather query (location: current location, time: tomorrow);
[0155] 3) Air quality query (location: current location, time: tomorrow).
[0156] Final reply to the user: Tomorrow will be cloudy with a temperature of 21 to 28 degrees Celsius. The air quality is predicted to be excellent, suitable for going out for fun.
[0157] The above processes can be found in Figure 6-1 A schematic diagram of a multi-round dialogue is shown.
[0158] 2. Architecture Design
[0159] In this embodiment, the user's query involves multiple steps of operations on the map. The model will generate multiple steps that satisfy the user's query. The architecture will execute skills in sequence according to the model output, and finally send the execution results to the client, realizing the experience of completing the user's query in one step.
[0160] Take the example of a user expressing navigation to go to Company A and take Route B, as shown in the figure below.
[0161] The model output is:
[0162] p1 = search_for_poi(name = 'Company A');
[0163] p2 = search_for_poi(name = 'Road B');
[0164] r1 = search_for_navi (transportation mode = 'driving', starting point = 'current location', end point = p1, past location = p2);
[0165] nil = manipulate_native_features(target platform = 'Map APP', operation item = 'Initiate navigation', parameters = {'route': r1}).
[0166] That is, 1) call the search service to check the point, and search the point according to the name generated by the model as the search term; 2) establish a relationship between the search result and the corresponding return value P1, P2, call the navigation route calculation capability, and pass the end point P1 and the passing position P2; 3) initiate navigation.
[0167] After the above operations are completed on the architecture, the instructions for the final result are sent to the client and the final result is displayed to the user.
[0168] In general, the solution provided by this embodiment can be responsible for converting user queries into atomic skills provided by multiple map applications by the map intent understanding model, and the architecture calls the native API according to the atomic skills, and finally generates the result that finally meets the user's intent as an end instruction, which is sent to the client for execution to achieve the user's intent. Among them, the native capability API is the atomic skill inferred by the model. During the execution of the architecture, the map retrieval and search POI capability, navigation and planning path capability, weather query capability, inquiry capability, etc. are all independent native APIs, which are responsible for executing the skills inferred by the model.
[0169] If the user's context operation is involved, the user will store the current operation and the corresponding result each time. In the map, more information about POIs and routes that appear in the context will be stored. The short-term memory of the user operation is passed to the model, and the intention understanding model is called to infer the skill information that should be executed to meet the user's needs in the current context-related scenario (see Figure 6-2 The illustration shows how multiple rounds of memory and memory restoration are used during argumentative dialogue).
[0170] By applying the solution provided by this embodiment, compared with the user demand understanding solution provided by the prior art, the following technical effects are achieved:
[0171] 1) Enhanced understanding ability: The map skill reasoning paradigm based on user needs in a large model is more powerful in understanding the natural language expressed by users, and truly breaks down user needs into the calls of multiple map atomic skills;
[0172] 2) Simplified execution structure: Each skill of the map application is designed to be atomic, and the execution of each skill is no longer coupled. As long as a reasonable execution path is generated, multiple atomic skills can be assembled freely.
[0173] Further references Figure 7 As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a user demand processing device under a map application. The device embodiment is similar to Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0174] like Figure 7 As shown, the user demand processing device 500 under the map application of this embodiment may include: a to-be-processed demand acquisition unit 701, a pre-information determination unit 702, a matching interface determination unit 703, and an execution unit 704. Among them, the to-be-processed demand acquisition unit 701 is configured to acquire the to-be-processed demand initiated by the user to the map application and described in natural language; the pre-information determination unit 702 is configured to determine the pre-information according to the historical operation information of the map application before receiving the to-be-processed demand, and the pre-information is part of the information in the historical operation information that affects the understanding of the actual demand expressed by the to-be-processed demand; the matching interface determination unit 703 is configured to determine the matching target application programming interface or the interface call sequence composed of multiple different target application programming interfaces in the calling order based on the to-be-processed demand and the pre-information; the execution unit 704 is configured to execute the target application programming interface or execute each target application programming interface constituting the interface call sequence in the calling order in turn to obtain the demand execution result.
[0175] In this embodiment, in the user demand processing device 700 for map application, the specific processing of the to-be-processed demand acquisition unit 701, the pre-information determination unit 702, the matching interface determination unit 703, and the execution unit 704 and the technical effects thereof can be referred to respectively. Figure 2 The relevant descriptions of steps 201 - 204 in the corresponding embodiment are not repeated here.
[0176] In some optional implementations of this embodiment, the pre-information determining unit 702 may include:
[0177] The first pre-condition information determination sub-unit is configured to determine, in response to the pending demand being the first interaction request initiated by the user to the map application, the historical operation behavior of the user on the launched map application before initiating the pending demand to the map application, as the first pre-condition information; wherein the pre-condition information includes the first pre-condition information.
[0178] In some optional implementations of this embodiment, the historical operation behavior includes any of the following:
[0179] Clicking operations on any function button, information input operations, information forwarding operations, searching and locating points of interest on maps from any source, and gesture operations on any level interface.
[0180] In some optional implementations of this embodiment, the first pre-information determining subunit is further configured to:
[0181] The first preset number of historical operation behaviors performed by the user on the activated map application before initiating a pending request to the map application is determined as the first pre-condition information.
[0182] In some optional implementations of this embodiment, the pre-information determining unit 702 may include:
[0183] The second pre-processing information determination sub-unit is configured to determine, in response to the pending demand being a non-first interaction request initiated by the user to the map application, the historical interaction data of the user on the launched map application before initiating the pending demand to the map application, as the second pre-processing information; wherein the pre-processing information includes the second pre-processing information.
[0184] In some optional implementations of this embodiment, the second pre-information determining subunit includes:
[0185] The second pre-condition information determination module is configured to determine the historical interaction data of the second preset number of times performed by the user on the activated map application before the user initiates the to-be-processed demand on the map application as the second pre-condition information.
[0186] In some optional implementations of this embodiment, the second pre-information determining module is further configured to:
[0187] The interaction responses in the historical interaction data of the second preset number of times performed by the user on the activated map application before the user initiates the to-be-processed demand on the map application are determined as the second pre-condition information.
[0188] In some optional implementations of this embodiment, the second preset number of times includes: 5 times.
[0189] In some optional implementations of this embodiment, the target application programming interface includes any of the following:
[0190] A retrieval interface for retrieving actual geographic information of points of interest on a map;
[0191] Positioning interface for locating actual geographic information of real-time location;
[0192] A path planning interface for planning paths between different map points of interest;
[0193] Navigation interface for providing navigation services for planned routes;
[0194] A page operation interface for providing jump operations to different pages provided by the map application;
[0195] A parameter configuration interface used to modify configuration parameters of application configuration items provided by the map application;
[0196] A calculation interface for calculating the temporal and / or spatial relationship between the parameters to be calculated contained in the processing requirements;
[0197] A query interface used to search and query the query information contained in the request to be processed.
[0198] In some optional implementations of this embodiment, the matching interface determining unit 703 may include:
[0199] The large model splitting sub-unit is configured to split the to-be-processed requirements combined with the previous information into multiple sub-tasks by using a preset generative large language model;
[0200] The matching interface output subunit is configured to use the generative large language model to output a matching target application programming interface or an interface call sequence consisting of multiple different target application programming interfaces in a calling order for each subtask.
[0201] In some optional implementations of this embodiment, the large model splitting subunit is further configured to:
[0202] The generative large language model is used to split the pending requirements combined with prior information into multiple subtasks represented in the unobserved reasoning format according to the thought chain mode.
[0203] In some optional implementations of this embodiment, the matching interface determining unit 703 may be further configured to:
[0204] In response to a pending demand for calculating the remaining time to reach a destination, and the pre-condition information including a target travel route selected by a user and the user's travel preferences, an interface call sequence consisting of a positioning interface, a path planning interface, a navigation interface, and a calculation interface is determined in the calling order according to the calculation demand for the remaining time, the target travel route, and the travel preferences; wherein the positioning interface is used to determine the real-time position when the calculation demand is received, the path planning interface is used to recalculate a new travel route with the real-time position as the actual starting point and the destination of the target travel route as the end point, the navigation interface is used to generate navigation information according to the travel preferences and the new travel route, and the calculation interface determines the remaining time according to the predicted time in the navigation information.
[0205] In some optional implementations of this embodiment, the matching interface determining unit 703 may be further configured to:
[0206] In response to the demand to be processed being entertainment content recommendation, the pre-condition information including the target travel route selected by the user and the user's entertainment preferences, an interface call sequence consisting of a path planning interface and a query interface in the calling order is determined according to the entertainment content recommendation, the target travel route and the entertainment preferences; wherein the path planning interface is used to determine each target road section according to the target travel route, and the query interface is used to obtain matching recommended entertainment content according to each target road section and the entertainment preferences.
[0207] This embodiment exists as an apparatus embodiment corresponding to the above-mentioned method embodiment. The user demand processing apparatus under the map application provided by this embodiment, after obtaining the user's current pending demand, obtains the historical operation information of the map application before receiving the pending demand, and uses it as the prerequisite information of the pending demand to complete the implicit information or information that needs to be supplemented that is not directly reflected in the pending demand, thereby obtaining a more accurate actual pending demand after completion, and then making the determined target application programming interface or target interface call sequence more compatible with the actual pending demand, and finally making the obtained demand execution result more compatible with the user's actual demand.
[0208] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can implement the user demand processing method under the map application described in any of the above embodiments when executing.
[0209] According to an embodiment of the present disclosure, the present disclosure further provides a readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to implement the user demand processing method under a map application described in any of the above embodiments when executed.
[0210] According to an embodiment of the present disclosure, the present disclosure further provides a computer program product, which, when executed by a processor, can implement the method for processing user demands under a map application described in any of the above embodiments.
[0211] Figure 8A schematic block diagram of an example electronic device 800 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0212] like Figure 8 As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0213] A number of components in the device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0214] The computing unit 801 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as a user demand processing method under a map application. For example, in some embodiments, the user demand processing method under a map application may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the user demand processing method under the map application described above may be executed. Alternatively, in other embodiments, the computing unit 801 may be configured to execute the method for processing user demands in a map application in any other appropriate manner (eg, by means of firmware).
[0215] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0216] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0217] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0218] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0219] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0220] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services.
[0221] According to the technical solution of the embodiment of the present disclosure, after obtaining the user's current pending demand, the historical operation information of the map application before receiving the pending demand is obtained, and it is used as the prerequisite information of the pending demand to complete the implicit information or information that needs to be supplemented that is not directly reflected in the pending demand, so as to obtain a more accurate actual pending demand after completion, thereby making the determined target application programming interface or target interface call sequence more compatible with the actual pending demand, and finally making the obtained demand execution result more compatible with the user's actual demand.
[0222] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0223] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for processing user needs in a map application, comprising: Obtaining pending requests initiated by users for map applications described in natural language; Determine the pre-condition information according to the historical operation information of the map application before receiving the demand to be processed; wherein the pre-condition information is part of the historical operation information that affects the understanding of the actual demand expressed by the demand to be processed; Based on the demand to be processed and the pre-information, determine a matching target application programming interface or an interface calling sequence consisting of a plurality of different target application programming interfaces in a calling order; Execute the target application programming interface or execute the target application programming interfaces constituting the interface calling sequence in sequence according to the calling order to obtain the required execution result.
2. The method according to claim 1, wherein: The determining of the pre-condition information according to the historical operation information of the map application before receiving the request to be processed includes: In response to the unprocessed demand being the first interaction request initiated by the user to the map application, the historical operation behavior of the user on the launched map application before initiating the unprocessed demand to the map application is determined as the first pre-information; wherein the pre-information includes the first pre-information.
3. The method according to claim 2, wherein: The historical operation behavior includes any of the following: Clicking operations on any function button, information input operations, information forwarding operations, searching and locating points of interest on maps from any source, and gesture operations on any level interface.
4. The method according to claim 2, wherein: The determining, as first pre-information, the historical operation behavior of the user on the activated map application before initiating the to-be-processed demand on the map application includes: The first preset number of historical operation behaviors performed by the user on the activated map application before initiating the to-be-processed demand on the map application is determined as the first pre-condition information.
5. The method according to claim 1, wherein: The determining of the pre-condition information according to the historical operation information of the map application before receiving the request to be processed includes: In response to the unprocessed demand being a non-first interaction request initiated by the user to the map application, historical interaction data of the user on the launched map application before initiating the unprocessed demand to the map application is determined as second pre-information; wherein the pre-information includes the second pre-information.
6. The method according to claim 5, wherein: The determining, as the second pre-information, the historical interaction data of the user with the activated map application before initiating the to-be-processed demand with respect to the map application comprises: The historical interaction data of the user for a second preset number of times on the activated map application before initiating the to-be-processed demand on the map application is determined as the second pre-condition information.
7. The method according to claim 6, wherein: The determining, as the second pre-positioned information, the historical interaction data of the second preset number of times performed by the user on the activated map application before initiating the to-be-processed demand on the map application includes: The interaction responses in the historical interaction data of the second preset number of times performed by the user on the activated map application before initiating the to-be-processed demand to the map application are determined as the second pre-condition information.
8. The method according to any one of claims 1 to 7, wherein: The target application programming interface includes any of the following: A retrieval interface for retrieving actual geographic information of points of interest on a map; Positioning interface for locating actual geographic information of real-time location; A path planning interface for planning paths between different map points of interest; Navigation interface for providing navigation services for planned routes; A page operation interface for providing jump operations for different pages provided by the map application; A parameter configuration interface for modifying configuration parameters of application configuration items provided by the map application; A calculation interface for calculating the time and / or space relationship of the parameters to be calculated contained in the requirements to be processed; A query interface for searching and querying the query information contained in the pending demand.
9. The method according to claim 8, wherein: The determining, based on the requirements to be processed and the pre-information, of a matching target application programming interface or an interface calling sequence consisting of a plurality of different target application programming interfaces in a calling order comprises: Using a preset generative large language model, the to-be-processed requirements combined with the prior information are split into multiple subtasks; The generative large language model is used to output a matching target application programming interface or an interface calling sequence consisting of a plurality of different target application programming interfaces in a calling order for each of the subtasks.
10. The method according to claim 9, wherein: The preset generative large language model is used to split the processing requirements combined with the previous information into multiple subtasks, including: The generative large language model is used to split the to-be-processed requirements combined with the prior information into a plurality of subtasks represented in an unobserved reasoning format according to a thought chain mode.
11. The method according to claim 8, wherein: The determining, based on the requirements to be processed and the pre-information, of a matching target application programming interface or an interface calling sequence consisting of a plurality of different target application programming interfaces in a calling order comprises: In response to the demand to be processed being to calculate the remaining time to reach the destination, the pre-condition information including the target travel route selected by the user and the travel preferences of the user, an interface call sequence consisting of the positioning interface, the path planning interface, the navigation interface, and the calculation interface in the calling order is determined according to the calculation demand for the remaining time, the target travel route, and the travel preferences; wherein the positioning interface is used to determine the real-time position when the calculation demand is received, the path planning interface is used to recalculate the new travel route with the real-time position as the actual starting point and the destination of the target travel route as the end point, the navigation interface is used to generate navigation information according to the travel preferences and the new travel route, and the calculation interface determines the remaining time according to the predicted time in the navigation information.
12. The method according to claim 8, wherein: The determining, based on the requirements to be processed and the pre-information, of a matching target application programming interface or an interface calling sequence consisting of a plurality of different target application programming interfaces in a calling order comprises: In response to the demand to be processed being entertainment content recommendation, the pre-condition information including the target travel route selected by the user and the entertainment preference of the user, an interface call sequence consisting of the path planning interface and the query interface in the calling order is determined according to the entertainment content recommendation, the target travel route and the entertainment preference; wherein the path planning interface is used to determine each target road section according to the target travel route, and the query interface is used to obtain matching recommended entertainment content according to each target road section and the entertainment preference query.
13. A user demand processing device under a map application, comprising: A pending demand acquisition unit is configured to acquire a pending demand initiated by a user to a map application and described in a natural language; A pre-information determination unit is configured to determine the pre-information according to the historical operation information of the map application before receiving the demand to be processed; wherein the pre-information is part of the historical operation information that affects the understanding of the actual demand expressed by the demand to be processed; A matching interface determination unit, configured to determine a matching target application programming interface or an interface calling sequence consisting of a plurality of different target application programming interfaces in a calling order based on the demand to be processed and the pre-set information; The execution unit is configured to execute the target application programming interface or to execute the target application programming interfaces constituting the interface calling sequence in sequence according to the calling order to obtain the required execution result.
14. The device according to claim 13, wherein: The pre-information determining unit comprises: The first pre-processing information determination subunit is configured to determine, in response to the pending demand being the first interaction request initiated by the user to the map application, the historical operation behavior performed by the user on the launched map application before initiating the pending demand to the map application, as the first pre-processing information; wherein the pre-processing information includes the first pre-processing information.
15. The device according to claim 14, wherein: The historical operation behavior includes any of the following: Clicking operations on any function button, information input operations, information forwarding operations, searching and locating points of interest on maps from any source, and gesture operations on any level interface.
16. The device according to claim 14, wherein: The first pre-information determining subunit is further configured to: The first preset number of historical operation behaviors performed by the user on the activated map application before initiating the to-be-processed demand on the map application is determined as the first pre-condition information.
17. The device according to claim 13, wherein: The pre-information determining unit comprises: The second pre-processing information determination sub-unit is configured to determine, in response to the pending demand being a non-first interaction request initiated by the user to the map application, the historical interaction data of the user on the launched map application before initiating the pending demand to the map application, as the second pre-processing information; wherein the pre-processing information includes the second pre-processing information.
18. The device according to claim 17, wherein: The second pre-information determining subunit includes: The second pre-information determination module is configured to determine the second pre-information as the historical interaction data of the second preset number of times performed by the user on the activated map application before initiating the to-be-processed demand on the map application.
19. The device according to claim 18, wherein: The second pre-information determination module is further configured to: The interaction responses in the historical interaction data of the second preset number of times performed by the user on the activated map application before initiating the to-be-processed demand to the map application are determined as the second pre-condition information.
20. The device according to any one of claims 13 to 19, wherein: The target application programming interface includes any of the following: A retrieval interface for retrieving actual geographic information of points of interest on a map; Positioning interface for locating actual geographic information of real-time location; A path planning interface for planning paths between different map points of interest; Navigation interface for providing navigation services for planned routes; A page operation interface for providing jump operations for different pages provided by the map application; A parameter configuration interface for modifying configuration parameters of application configuration items provided by the map application; A calculation interface for calculating the time and / or space relationship of the parameters to be calculated contained in the requirements to be processed; A query interface for searching and querying the query information contained in the pending demand.
21. The device according to claim 20, wherein: The matching interface determination unit includes: A large model splitting sub-unit is configured to split the to-be-processed requirements combined with the pre-information into a plurality of sub-tasks by using a preset generative large language model; The matching interface output subunit is configured to use the generative large language model to output a matching target application programming interface or an interface calling sequence consisting of multiple different target application programming interfaces in a calling order for each of the subtasks.
22. The device according to claim 21, wherein The large model splitting subunit is further configured to: The generative large language model is used to split the to-be-processed requirements combined with the prior information into a plurality of subtasks represented in an unobserved reasoning format according to a thought chain mode.
23. The device according to claim 20, wherein: The matching interface determination unit is further configured to: In response to the demand to be processed being to calculate the remaining time to reach the destination, the pre-condition information including the target travel route selected by the user and the travel preferences of the user, an interface call sequence consisting of the positioning interface, the path planning interface, the navigation interface, and the calculation interface in the calling order is determined according to the calculation demand for the remaining time, the target travel route, and the travel preferences; wherein the positioning interface is used to determine the real-time position when the calculation demand is received, the path planning interface is used to recalculate the new travel route with the real-time position as the actual starting point and the destination of the target travel route as the end point, the navigation interface is used to generate navigation information according to the travel preferences and the new travel route, and the calculation interface determines the remaining time according to the predicted time in the navigation information.
24. The device according to claim 20, wherein: The matching interface determination unit is further configured to: In response to the demand to be processed being entertainment content recommendation, the pre-condition information including the target travel route selected by the user and the entertainment preference of the user, an interface call sequence consisting of the path planning interface and the query interface in the calling order is determined according to the entertainment content recommendation, the target travel route and the entertainment preference; wherein the path planning interface is used to determine each target road section according to the target travel route, and the query interface is used to obtain matching recommended entertainment content according to each target road section and the entertainment preference query.
25. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the user demand processing method under the map application described in any one of claims 1-12.
26. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to execute the method for processing user needs under a map application as described in any one of claims 1-12.
27. A computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the method for processing user needs in a map application according to any one of claims 1 to 12.
Citation Information
Patent Citations
Generative large language model training method and model-based man-machine voice interaction method
CN116127045A
System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US20090150156A1
Advice engine delivering personalized search results and customized roadtrip plans
US20100312464A1
Automatic application program interface (API) selector for unsupervised natural language processing (NLP) intent classification
US20210089375A1
Map search method, device, server, terminal, and storage medium
WO2024222198A1