Methods, apparatus, devices, and storage media for task processing
The method and device enhance digital assistant interaction by using plug-ins to invoke specific application components based on user input, addressing the inflexibility of existing digital assistants and improving task processing efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BEIJING ZITIAO NETWORK TECH CO LTD
- Filing Date
- 2024-08-01
- Publication Date
- 2026-07-01
AI Technical Summary
Existing digital assistants struggle to provide flexible and efficient interaction capabilities for task processing within various applications, often failing to effectively utilize the functional components of target applications to meet user needs.
A method and device that utilize a plug-in to generate prompt words for a model based on user interaction information, enabling the invocation of specific functional components in target applications to fulfill task processing demands, and a computer-readable storage medium to execute this method.
Enables flexible and efficient task processing by allowing digital assistants to invoke appropriate functional components in target applications, thereby enhancing user interaction and task completion capabilities.
Smart Images

Figure 2026521731000001_ABST
Abstract
Description
Technical Field
[0001] (Cross - reference to Related Applications) This application claims the priority of a Chinese invention patent application titled "Method, Apparatus, Device and Storage Medium for Task Processing", with an application number of 202311109780.9, filed on August 30, 2023, and all the contents of this application are incorporated herein by reference.
[0002] (Field of the Invention) Exemplary embodiments of the present disclosure generally relate to the field of computers, and more particularly to methods, apparatuses, devices, and computer - readable storage media for task processing.
Background Art
[0003] With the rapid development of Internet technology, the Internet has already become an important platform for people to obtain and share content. Users can access the Internet through terminal devices to enjoy various Internet services. The terminal device presents corresponding content through the user interface of the application, realizes the interaction with the user, and provides services to the user. Therefore, diverse interaction interfaces of applications are an important means to enhance the user experience. With the development of information technology, various terminal devices can provide people with various services in aspects such as work and life. For example, applications that provide services can be deployed on terminal devices. The terminal device or the application can provide users with functions such as digital assistants to assist users in using the terminal device or the application. How to improve the flexibility of the interaction between the user and the digital assistant is a technical problem that needs to be explored currently.
Summary of the Invention
Means for Solving the Problems
[0004] A first aspect of this disclosure provides a method for task processing. This method involves determining a task processing demand associated with a target application from interaction information from a user during an interaction between a user and a digital assistant; using a first plug-in corresponding to at least one functional component in the target application to generate prompt words for a model based on at least the interaction information; and providing the prompt words to the model to obtain a model output, wherein the model output includes at least the parameters necessary to invoke the first functional component in at least one functional component to realize the task processing demand; and using the first plug-in to invoke the first functional component in the target application based on the parameters to generate processing results for at least a portion of the task processing demand.
[0005] A second aspect of this disclosure provides a device for task processing. This device includes: a demand determination module configured to determine a task processing demand associated with a target application from interaction information from a user in an interaction between a user and a digital assistant; a prompt word generation module configured to generate a prompt word for a model based on interaction information, utilizing a first plug-in corresponding to at least one functional component in the target application; a model calling module configured to obtain a model output by providing the prompt word to the model, wherein the model output includes at least parameters necessary to call a first functional component in at least one functional component to realize the task processing demand; and a functional component calling module configured to call a first functional component in the target application based on parameters, utilizing a first plug-in, to generate processing results for at least a portion of the task processing demand.
[0006] A third aspect of the present disclosure provides an electronic device comprising at least one processing unit and at least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions to be executed by the at least one processing unit. When instructions are executed by the at least one processing unit, the device is made to perform the method of the first aspect.
[0007] A fourth aspect of this disclosure provides a computer-readable storage medium in which a computer program is stored, and the computer program can be executed by a processor to implement the method of the first aspect.
[0008] The information described in this section is not intended to limit any essential or important features of the embodiments of this disclosure, nor to limit the scope of this disclosure. It should be understood that other features of this disclosure are made clearer by the following description. [Brief explanation of the drawing]
[0009] The above and other features, advantages and aspects of each embodiment of this disclosure will become more apparent by referring to the following detailed description in conjunction with the drawings. In the drawings, the same or similar reference numerals represent the same or similar elements, where, [Figure 1] A schematic diagram of an exemplary environment capable of realizing the embodiments of this disclosure is shown. [Figure 2] The following are schematic diagrams illustrating exemplary user interfaces of interaction windows between the presenting user and a digital assistant, according to several embodiments of this disclosure. [Figure 3] The following are schematic diagrams of the data flow in task processing according to some embodiments of this disclosure. [Figure 4] This disclosure illustrates exemplary user interfaces for plug-in selection in the user-to-digital assistant interaction process, based on several embodiments of this disclosure. [Figure 5] The following are schematic diagrams of the signaling flow for task processing in a project management application, based on some embodiments of this disclosure. [Figure 6A] Examples of interaction interfaces with a digital assistant in a project management application are shown by several embodiments of this disclosure. [Figure 6B] Examples of interaction interfaces with a digital assistant in a project management application are shown by several embodiments of this disclosure. [Figure 7] A flowchart of the process for task processing according to some embodiments of this disclosure is shown. [Figure 8] A block diagram of an apparatus for task processing according to some embodiments of this disclosure is shown. [Figure 9] A block diagram of an electronic device capable of carrying out one or more embodiments of the present disclosure is shown. [Modes for carrying out the invention]
[0010] The embodiments of this disclosure will be described in more detail below with reference to the drawings. While the drawings show several embodiments of this disclosure, it should be understood that this disclosure can be realized in various forms and should not be construed as being limited to the embodiments described herein. Rather, these embodiments are provided to provide a clearer and more complete understanding of this disclosure. It should be understood that the drawings and embodiments of this disclosure are illustrative only and not intended to limit the scope of protection of this disclosure.
[0011] In the description of the embodiments of this disclosure, the term “including” and similar terms should be understood as non-restrictive “including,” i.e., “including, but not limited to.” The term “based on” should be understood as “based at least in part.” The term “one embodiment” or “this embodiment” should be understood as “at least one embodiment.” The term “several embodiments” should be understood as “at least several embodiments.” The following may include other explicit and implicit definitions.
[0012] In this specification, unless otherwise explicitly stated, performing a step "in response to A" does not mean performing that step immediately after "A", and may include one or more intermediate steps.
[0013] It should be understood that the data related to this proposed technology (including, but not limited to, the data itself, its acquisition, use, storage, or deletion) must comply with the requirements of applicable laws, regulations, and related provisions.
[0014] Before using any of the technical examples disclosed in this disclosure, it should be understood that you should inform the relevant users in an appropriate manner in accordance with applicable laws and regulations about the type of information relating to this disclosure, the scope of use, the usage scenario, etc., and obtain their permission. Here, the relevant users may include any type of rights holder, such as individuals, companies, or groups.
[0015] For example, when responding to a user's voluntary request, prompt information can be sent to the relevant user, clearly prompting the user that the operation requested to be performed requires obtaining and using the relevant user's information. This allows the relevant user to autonomously choose whether or not to provide information to software or hardware such as electronic devices, application programs, servers, or storage media that perform the operation of the proposed technical method of this disclosure, in accordance with the prompt information.
[0016] As a non-limiting and optional implementation form, in response to receiving a spontaneous request from a relevant user, the method of sending prompt information to the relevant user may be, for example, in the form of a pop-up window, and the prompt information may be presented in the form of text in the pop-up window. A selection control for the user to select "agree" or "disagree" to provide information to the electronic device may be placed on the pop-up window.
[0017] It should be understood that the above notification and user permission acquisition process are only schematic and do not constitute limitations on the implementation forms of the present disclosure. Other methods that meet the relevant laws and regulations may also be used in the implementation forms of the present disclosure.
[0018] FIG. 1 shows a schematic diagram of an exemplary environment 100 in which embodiments of the present disclosure can be implemented. In this exemplary environment 100, an application 120 is installed on the terminal device 110. The user 140 can interact with the application 120 via the terminal device 110 and / or the attached devices of the terminal device 110.
[0019] In some embodiments, the application 120 may be downloaded and installed on the terminal device 110. In some embodiments, the application 120 may be accessed in other ways, such as via a web page. In the environment 100 of FIG. 1, when the application 120 is launched, the terminal device 110 can present an interface 150 of the application 120. The interface 150 may include various user interfaces provided by the application 120. The interface 150 may sometimes also be referred to as a user interface.
[0020] Application 120 includes, but is not limited to, one or more of a chat application (also called an instant messaging application), a document application, an audio / video conferencing application, a mail application, a task application, a target and key results (OKR) application, etc. Application 120 can support the use of plugins. Such plugins include, but are not limited to, one or more of a search plugin, a contact plugin, a message plugin, a document plugin, a table plugin, a mail plugin, a calendar plugin, a schedule plugin, a task plugin, etc. In some embodiments, Application 120 may include a multi-functional collaboration platform. For example, an office collaboration platform (also called an office suite) can provide the integration of various types of applications or components to facilitate activities such as people's office work and communication. In a multi-functional collaboration platform, people can launch different applications or components as needed to complete corresponding information processing, sharing, communication, etc.
[0021] In some embodiments, terminal device 110 communicates with server 130 to provide services for application 120. Terminal device 110 may be any type of mobile terminal, fixed terminal or portable terminal, and includes mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet PCs, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / cameras, television receivers, radio broadcast receivers, e-book devices, game devices, or any combination of the foregoing, and includes components and peripherals of these devices or any combination thereof. In some embodiments, terminal device 110 may also support any type of interface to the user (e.g., “wearable” circuitry). Application 130 may be any type of computing system / server capable of providing computing power, including, but not limited to, mainframes, edge computing nodes, and computing devices in a cloud environment.
[0022] The structure and function of each element in Environment 100 are described for illustrative purposes only, and should be understood that this does not imply any limitation on the scope of this disclosure.
[0023] As briefly mentioned above, digital assistants can help users use terminal devices or applications. Users can not only converse freely with digital assistants, but also use natural language commands to perform tasks related to specific applications, such as searching project views, creating documents, scheduling appointments, and creating tasks. However, the interaction capabilities provided by these applications are not always flexible, and digital assistants may have difficulty assisting users in completing certain tasks within the applications.
[0024] Several embodiments of this disclosure propose an improved method for task processing. In embodiments of this disclosure, when it is determined in the user's interaction with the digital assistant that the user's task processing needs are associated with a target application, a plugin corresponding to one or more functional components of the target application is used to generate prompt words for a model based on the user's interaction information. Based on the prompt words, the model determines the parameters necessary to invoke a specific functional component of the target application to fulfill the user's task processing needs. In this way, the plugin can invoke a specific functional component in the target application based on the parameters and output the processing results of at least a portion of the task processing needs. This method provides a plugin corresponding to one or more functional components of the target application, and by using the plugin to coordinate the use of the model with the invocation of functional components in the application, the user's task processing needs can be met flexibly and easily. In this way, the user can easily complete task processing needs related to various applications by expressing task processing needs in their interaction with the digital assistant.
[0025] Hereinafter, several exemplary embodiments of this disclosure will be described in detail with reference to the drawings.
[0026] In embodiments of this disclosure, the digital assistant is used for user interaction. The user interface may present an interaction window between the user and the digital assistant. The interaction window may include a session window, in which the interaction between the user and the digital assistant may be presented in the form of session messages. Alternatively or additionally, the interaction window may further include other types of windows, such as a floating window mode window, in which the user can trigger the digital assistant to perform the relevant operation in the manner of command input, shortcut command selection, etc. The digital assistant, as a smart assistant, has smart conversational and information processing capabilities. In the interaction window, the user inputs interaction messages, and the digital assistant provides reply messages in response to the user input. The user interface for providing the digital assistant may correspond to a single-function application or a multi-function collaboration platform, such as an office suite or other collaboration platform capable of integrating multiple components.
[0027] The digital assistant may be invoked or woken up in an appropriate manner (e.g., by a shortcut key, button, or voice) to present an interaction window with the user. In some embodiments, the digital assistant may be included as a user contact in the contact list of the current user's application, or in the information stream of a chat application. By selecting the digital assistant, an interaction window with the digital assistant can be opened. The interaction window may include interface elements for task processing, such as input boxes, message lists, message bubbles, etc. In some other embodiments, the digital assistant may be invoked via an entry control or menu provided on the page, or by entering a pre-configured command. In some embodiments described below, for the sake of ease of consideration, the interaction window between the user and the digital assistant will be primarily described as a session window.
[0028] In some embodiments, multiple interaction modes can be provided between the user and the digital assistant, and it is possible to flexibly switch between these interaction modes. When a particular interaction mode is triggered, the corresponding interaction area is presented to facilitate interaction between the user and the digital assistant. Different interaction modes involve different methods of interaction between the user and the digital assistant, thus allowing for flexible adaptation to the interaction needs in different application scenarios.
[0029] In some embodiments, a user and a digital assistant have a correspondence. For example, a first digital assistant corresponds to a first user, and a second digital assistant corresponds to a second user, and so on. In some embodiments, a first digital assistant may uniquely correspond to a first user, and a second digital assistant may uniquely correspond to a second user, and so on. That is, a first digital assistant for a first user may be specific to or dedicated to that first user. For example, in the process of the first digital assistant providing assistance or services to a first user, the first digital assistant may utilize historical interaction information with the first user, accessible data permitted by the first user, the current interaction context with the first user, and so on. If the first user is an individual or entity, the first digital assistant may be considered a personal digital assistant. In the disclosed embodiments, it can be understood that the first digital assistant accesses authorized data based on the permission of the first user. It should be understood that in this disclosure, the phrase "uniquely corresponding" or similar expressions are not intended to limit the first digital assistant to being updated accordingly based on the interaction process between the first user and the first digital assistant.
[0030] In some embodiments, user-specific information processing or task processing services can be provided based on the history of user- and digital assistant interactions and / or this user-specific data range. In some embodiments, the history of user interactions with the digital assistant in multiple interaction modes can all be stored in association with the user. Thus, in one of the multiple interaction modes (any one or a designated interaction mode), the digital assistant can provide services to the user based on the history of user interactions stored in association with the user.
[0031] Figure 2 shows an exemplary user interface 201 of an interaction window between a presenting user and a digital assistant in some embodiments of this disclosure. The user interface 201 may be presented, for example, on the terminal device 110 in Figure 1. The following embodiments refer to the environment shown in Figure 1. Note that the operations performed by the terminal device 110 described later may be specifically installed and executed in the relevant applications on the terminal device 110.
[0032] In some embodiments, the terminal device 110 responds to the user activating the digital assistant through a pre-configured operation (e.g., selecting the digital assistant from a contact list). An interaction window between the digital assistant ("XX Assistant") and the current user ("User A") is presented in area 210 of the interface 201. In the interaction window in area 210, the user can input a message using an input box 218 or another appropriate method (e.g., voice), and the digital assistant can provide a reply message based on the input message, linking it with relevant knowledge.
[0033] In the example in Figure 2, the digital assistant may be considered one of the user's contacts and presented in the information stream (feed) of an instant messaging application. The information stream is presented in another area 220 of interface 201. The user can enter an interaction window with the digital assistant by selecting it.
[0034] It should be understood that Figure 2 is merely an example of how to launch the interaction window between the user and the digital assistant. As mentioned above, this interaction window can also be launched in other ways. Furthermore, the various specific information and icons shown in Figure 2 are merely examples and do not constitute any limitation on the scope of the embodiments of this disclosure.
[0035] Figure 3 shows a schematic diagram of the data flow 300 in task processing according to some embodiments of the present disclosure. As shown in Figure 3, after triggering an interaction with the digital assistant 320, the user 140 inputs interaction information to the digital assistant in step 312. For example, the user 140 can interact with the digital assistant 320 (i.e., "XX Assistant" in Figure 2) in an interaction window similar to that shown in Figure 2. The user 140 can input interaction information to the digital assistant 320 in natural language.
[0036] The digital assistant 320 determines the task processing needs associated with the target application 350 based on interaction information from the user 140. Generally, the task scenarios that users want to process within a single application are diverse. For example, a project management application may require tasks such as creating projects, filtering and searching for projects, and analyzing views, while a calendar application may require tasks such as scheduling meetings and viewing availability.
[0037] In some embodiments, the digital assistant 320 may use a model (e.g., model 340) to determine the user's task processing needs from the user's interaction information, i.e., whether the task processing needs are associated with an application or a functional component within the application. In some embodiments, model 340 may be any model suitable for processing text modal or multimodal data, such as various generative models. In some embodiments, the digital assistant 320 may generate a corresponding prompt word based on the interaction information and input the prompt word to model 340 in step 326. In the model processing area, the prompt word may include a single piece of text or sentence to activate the model and guide it to output output of a specific type, theme, or format. Model 340 processes this prompt word to analyze the task processing needs in the user's interaction information and returns the task processing needs to the digital assistant 320 in step 328.
[0038] If it is determined that user 140's interaction information relates to a task processing need with the target application 350, the digital assistant 320 may, in step 322, request a plugin 330 corresponding to one or more functional components 352 in the target application 350 in order to assist in processing this task processing need. A plugin 330 (sometimes referred to herein as the “first plugin”) is a set of functions that the digital assistant 320 can invoke, configured according to the target application 350. In some embodiments, if the target application 350 has multiple plugins configured, and each plugin corresponds to a different functional component of the target application 350, the plugin to request may be determined depending on the specific functional component required for the user’s task processing need.
[0039] In embodiments of this disclosure, a plugin is provided for use by a digital assistant 320. A plugin may be understood as a set of functions, and each plugin may include one or more tools, and a tool may be understood as a unit function or atomic function in the plugin. Multiple tools can be used to accomplish one type of task desired by the user. In embodiments of this disclosure, a plugin may be configured that the digital assistant can use depending on the functional components of a particular application. For example, for a project management application, a project search and filter plugin may be configured that can implement search and filter functions for project type content, and for a document application, a document plugin may be configured that can implement creation of document content, searching for content, rewriting content, etc. In some embodiments, a plugin 330 may include an application programming interface (API) for at least one functional component 352 in a target application 350 to call the corresponding functional component.
[0040] In some embodiments, the plugin 330 may be selected by the user 140 during the interaction process between the user 140 and the digital assistant 320. Figure 4 shows an exemplary user interface 401 for plugin selection during the user-digital assistant interaction process according to some embodiments of the present disclosure, which may be presented by, for example, a terminal device 110. As shown in Figure 4, a plugin selection control 412 may be provided in the user-digital assistant interaction window 410 after a new topic has been created. The user can select a plugin to be used in the user-digital assistant interaction process by clicking the plugin selection control 412. In response to the user clicking the plugin selection control 412, the terminal device 110 may present a list of selectable plugins and may provide a search box 414 to support the user's plugin search. For example, if the user selects the "Project Search and Filter Plugin" 416, further feature descriptions of this plugin may be displayed to help the user understand what the plugin can do. For example, the "Project Search and Filter Plugin" 416 corresponds to the search and filter components in a project management application. Other plugins may correspond to functional components in specific applications; for example, the mail plugin corresponds to the email sending and receiving functions in a mail application, and the messaging plugin corresponds to the messaging-related functions in an instant messaging application.
[0041] In some embodiments, the system may determine which plugins to use by default during the interaction process between user 140 and digital assistant 320. For example, if user 140 does not specify which plugins to use, one or more default plugins may be provided. In some embodiments, the system may select plugins on a topic-by-topic basis during the interaction process between user 140 and digital assistant 320. That is, for each newly created topic, the system may allow the user to customize or the system to select one or more plugins to use for that topic by default. Here, “topic” corresponds to a specific context of the interaction. In the interaction process for each topic, the interaction information between the user and the digital assistant is considered contextual information to help the digital assistant determine subsequent session messages. In some embodiments, there may be a maximum limit on the number of plugins that can be selected for each topic.
[0042] Continuing to refer to Figure 3, when the plug-in 330 is invoked by the digital assistant 320, the plug-in 330 is used to determine the processing results of at least a portion of the user 140's task processing needs. The plug-in 330 generates prompt words for the model 340 based on at least the user 140's interaction information and inputs the prompt words generated in step 332 into the model 340. The digital assistant 320 understands the user's interaction information through the model 340 and determines the user's task processing needs from the interaction information, but it should be noted that since the plug-in 330 corresponds to one or more functional components 352 in the target application 350, it wants the model 340 to determine how to invoke the functional components of the target application 350 to satisfy the user's task processing needs.
[0043] In some embodiments, the prompt word provided by the plug-in 330 to the model 340 includes descriptive information associated with at least one functional component in the target application to indicate to the model 340 the processing capabilities of the plug-in 330. In some embodiments, the prompt word provided by the plug-in 330 to the model 340 further includes task descriptive information relating to the task processing demand. In some embodiments, the prompt word provided by the plug-in 330 to the model 340 may further include at least one example of how to handle this task processing demand to help and guide the model 340 in determining how to handle the current task processing demand.
[0044] Model 340 processes prompt words from Plugin 330 and, in step 334, provides model output to Plugin 330. The model output includes parameters necessary to invoke at least one or more functional components in the target application 350 to fulfill the task processing requirements. The one or more functional components indicated by the model output may be one, some, or all of the functional components 352 corresponding to Plugin 330. For the purposes of this discussion, the functional components indicated by the model output may be referred to as the “first functional component”.
[0045] In some embodiments, based on a prompt word, the model output of model 340 may include an executable code snippet for one or more functional components 352 (i.e., a first functional component) in the target application 350, which includes the parameters necessary to invoke one or more functional components 352 to fulfill a task processing requirement. In some embodiments, model 340 may be provided to a code target corresponding to one or more functional components 352 and generate an executable code snippet based on a code template corresponding to the functional components 352. In other words, the plug-in 330 may automatically generate code for invoking functional components in the target application 350 by model 340. In some embodiments, the model output of model 340 may include the parameters necessary to invoke one or more functional components 352 to fulfill a task processing requirement. After receiving these parameters, the plug-in 330 may generate an executable code snippet for this or these functional components by populating a code template corresponding to the indicated one or more functional components 352 with the parameters.
[0046] After obtaining the model output, in step 336, the plugin 330 invokes the corresponding functional component 352 (i.e., the first functional component) in the target application 350 based on the parameters indicated by the model output to generate processing results for at least a portion of the task processing demand. As shown in Figure 3, in step 338, the plugin 330 obtains processing results for at least a portion of the task processing demand from the target application 350. In step 324, the plugin 330 returns at least a portion of the processing results for the obtained task processing demand to the digital assistant 320. The digital assistant 320 determines a response to the interaction information based on at least a portion of the processing results obtained from the plugin 330 for presentation to the user. For example, in step 314, the digital assistant 320 provides a response to the user 140 to indicate the processing results of the interaction information to the user 140.
[0047] Although Figure 3 shows only one plugin 330, in some embodiments, the user 140's task processing needs may involve multiple plugins, either from the same application or different applications. In such cases, the digital assistant 320 can request each of the multiple plugins and determine some of the processing results from each. The digital assistant 320 can then combine some of the processing results from the multiple plugins to obtain the final processing result for the user 140's task processing needs.
[0048] The above discussion examined how, in a typical application, a user's digital assistant can complete responses to the user's task processing needs through plugins corresponding to the application's functional components. To facilitate understanding, the following section will provide a more detailed explanation using target application 350, which includes a project management application, as an example. Before delving into specifics, we will first briefly introduce some basic concepts of a project management application.
[0049] Project management applications are primarily used to manage projects (also called work items) created by users. In some implementations, project spaces (or simply spaces) can be created to manage all projects for an organization, team, or individual. The data hierarchy in a project management application may be divided, from highest to lowest, into spaces, project types, and project instances. A project instance, sometimes simply called a project, is a project created with a particular project type. The basic structure of a project instance is fields. Each project may be used to manage, for example, a corresponding project (a work item), such as work demand, defects, or version work type. Each different project type has both system default fields and custom fields. Each workflow consists of different nodes; for example, a demand node might have product, prototype design, research and development, or test nodes. An instance is a different project created with a different type of work item; for example, I can create a demand in a demand work item, and this demand is one instance.
[0050] Project content can be displayed in a table-like view format, where project instances in a work item or work item type can be represented in various forms, such as tables, signs, lists, and Gantt charts. In some examples, the views in a project management application may include conditional views that sort, group, and display a view based on filter criteria, fixed views that perform a global search for a keyword and generate instances containing that keyword as a single fixed view, and panoramic views that may be conditional views or fixed views, but whose data source may originate from multiple work projects or multiple work item spaces.
[0051] In the following example, the plugins invoked by the digital assistant 320 correspond to the search component and / or filter component in the project management application, for example, plugin 330 being the project search and filter plugin shown in Figure 4. In some embodiments, the parameters required when invoking the search component to fulfill a task processing request include at least one of the view type, view name, and search keyword. In some embodiments, the parameters required when invoking the filter component to fulfill a task processing request include at least one of the view type, view name, and at least one filter condition.
[0052] Figure 5 shows a schematic diagram of a signaling flow 500 for task processing in a project management application according to some embodiments of the present disclosure. The signaling flow 500 may be considered an example of the data flow 300 in Figure 3, where the project management application 505 in Figure 5 may be considered an example of the target application 350 in Figure 3, the search component 304 is an example of the functional component 352 in Figure 3, and the project search and filter plugin 502 may be considered an example of the plugin 330 in Figure 3, which corresponds to the search component and filter component in the project management application 505.
[0053] User 140 requests the digital assistant 320 to search for project instants in a project management application (510). For example, User 140 can send an interaction request to the digital assistant 320 in natural language, such as "Please help me search for technical needs associated with the XX program." In some embodiments, the digital assistant 320 can use Model 340 to identify the user's task processing needs from User 140's natural language input and determine a target application or a functional plug-in for a target application that corresponds to this task processing need.
[0054] In the example in Figure 5, the digital assistant 320 identifies from user input that the task processing demand is associated with the project management application 305, and that the digital assistant 320 can use the project search and filter plugin 502 created for the project management application 305. This project search and filter plugin 502 may be selected by the user 140 for interaction with the digital assistant 320. The digital assistant 320 can invoke the project search and filter plugin 502 (512). After invocation, the project search and filter plugin 502 can generate an executable code snippet that matches the user input and send the executable code snippet to the project management application 305 to generate the project view required by the user. The project search and filter plugin 502 can send the generated view to the digital assistant 320 for presentation to the user 140.
[0055] To complete view generation, the project search and filter plugin 502 can obtain an executable code snippet for view generation from the model. The project search and filter plugin 502 can construct a prompt word for the model, which may include a basic description of the project management application 305 and its functional components (i.e., the search component and the filter component), including definitions of project spaces, project types, specific data fields in a project, views, etc. In some examples, the prompt word may further include a task description associated with the user's task processing needs to explain to the model what tasks need to be completed and what the flow is for completing those tasks.
[0056] To generate a prompt word, in the example in Figure 5, the project search and filter plugin 502 queries (514) and obtains (516) user information 508 of user 140 or other users involved in the task processing demand in the project management application 505, performs a fuzzy search (518) on the project space where the project involved in the task processing demand is located and the corresponding project 506, and obtains space and project information (520). In the project management application, a project space may be considered as a collection of projects of one type. In some examples, the project search and filter plugin 502 can also query (522) the team information where the user is located, query (524) the project field list information, and obtain project field list information and the team information where the user is located (526, 528). The project field list information refers to the field list defined in the project, and the team information where the user is located can be applied in scenarios related to companies and organizations.
[0057] Based on the acquired information, the project search and filter plugin 502 generates a prompt word for the model (520) and can invoke the model 340 to execute the prompt word task (532). Based on the prompt word, the model 340 generates a model output and sends the model output to the project search and filter plugin 502 (534). The model output includes at least the parameters necessary to invoke the search component and / or filter component in the project management application to fulfill the user's task processing needs.
[0058] In some embodiments, it may be decided to generate a fixed view corresponding to a search component or a conditional view corresponding to a filter component based on the task processing needs indicated in the user interaction information. For example, user input such as "Help me search for technical needs associated with the XX program" may indicate that a fuzzy search for projects associated with the keyword "XX program" is needed, and it may be decided that a search component should be called to generate a fixed view. If the user inputs "Help me search for needs whose name contains 'test'", it may be decided that a filter task is involved, and since the filter condition is "the need name contains 'test'", it may be decided that a filter component should be called to generate a conditional view.
[0059] In some embodiments, the prompt words for the model 340 generated by the project search and filter plugin 502 may determine the type of view to generate based on the natural language input by the user. For example, based on the user's input, the field type {{ fieldtype}} matching to the corresponding project in the corresponding space may be determined. For the filter language input by the user, when outputting the filter conditions, it is necessary to match the field name and field key value (Key) information in the field type fieldtype. When matching fields, default fields and custom fields may be distinguished. For example, a default field generally has a fixed field name, field key, and corresponding operator type, so it is necessary to match the field information in this project in this space for the user and the field value corresponding to this default field. Also, for example, a custom field should be matched to the field information in this work item in this space for the user, including the field name, field key, field type, field value, and field value ID.
[0060] In some embodiments, if a user enters a field name and field key that cannot be matched to a work item, the digital assistant 320 should return an error code and a corresponding error code description. For example, if a user enters "Find defects with priority P5" and after matching, it is found that there are no defective work items without a priority field, the digital assistant 320 may respond to the user with "Sorry, the priority field you queried does not exist." In some embodiments, to ensure that the user request can be completed, the digital assistant 320 may further clarify the details of the task processing request to the user.
[0061] In some embodiments, if a user enters a field name and field key that can be matched to a work item, but the field value and field value ID cannot be matched, the user needs to be informed of which field values can be used for this field, and this information should be output after the user makes a selection. For example, if a user enters "Find demand where the business line is Basic Experience," and after matching, it is found that the option values for the business line field are Search, Test, and Research & Development, but there is no option for Basic Experience, the Digital Assistant 320 may respond to the user with "We're sorry. Based on the information you've provided, the option values for the business line field are Search, Test, and Research & Development, but there is no option for Basic Experience. If you provide the correct business line option value, we will query it for you."
[0062] In some embodiments, the model output may be generated according to a predetermined code template. For example, if the model output indicates a call to a search component in project management application 505, the parameters indicated by the model output may include the view type, view name, and search keyword, which are populated in the code template. In some embodiments, the code template corresponding to the search component may be a template corresponding to a fixed view. In some embodiments, the view name can be generated based on the user's search keyword and / or timestamp naming. The output format of the search component is shown in Table 1 below.
[0063] [Table 1]
[0064] If the model output indicates a call to a filter component in project management application 505, the parameters indicated by the model output may include the view type, view name, and at least one filter condition, which are populated in the code template. In some embodiments, the code template corresponding to the filter component may be a template for a condition view. In some embodiments, the view name can be generated based on the user's filter condition keywords and / or timestamp naming. The output format of the filter component is shown in Table 2 below.
[0065] [Table 2]
[0066] To facilitate understanding, we will illustrate with several concrete examples. In one example, when the user enters "Find bugs related to rebranding in the test space," the digital assistant 320 decides to invoke the project search and filter plugin 502. The project search and filter plugin 502 constructs a prompt word for model 340 based on the user input. Based on the prompt word, model 340 determines that the input query is primarily about a fuzzy keyword search and that a fixed view needs to be generated, further determining the type and name of the view, and determining that the keyword the user needs to query is "rebranding." In this example, the input to model 340 is as shown in Table 3 below.
[0067] [Table 3]
[0068] In another example, if the user inputs "Which business-side demands in the X project space are relatively high priority?", the digital assistant 320 decides to call the project search and filter plugin 502. The project search and filter plugin 502 constructs a prompt word for the model 340 based on the user input. Based on the prompt word, the model 340 decides that it needs to generate a condition view because the user demand relates to the filter condition type. However, given the ambiguity of the user input, it is necessary to first confirm with the user which priorities are relatively high priority. The model 340 decides to match and obtains the business-side priority field, the relevant information being: field name: business-side priority, field key: business_priority, field type: select, option values and option value IDs: (P0, xxss), (P1, esfgt), (P2, xsgf), (P3, xsghe), (P4, ayhr). The output of Model 340 can be used to show the Digital Assistant 320 the definition of high priority to the user, for example, by outputting to the user, "Which priorities are considered relatively high priority? For example, P0 and P1?" Once the user confirms the definition of high priority, the Digital Assistant 320 continues to generate conditional views using Model 340. At this point, the prompt words that the Digital Assistant 320 provides to Model 340 may be based on information from multiple past rounds of interaction between the user and the Digital Assistant.
[0069] In the example in Figure 5, it is determined that the search component 504 in the project management application 505 needs to be called based on the model output. After obtaining the model output, the project search and filter plugin 502 parses the model output (540) and extracts parameters from it. In some embodiments, if the execution of the prompt word task by model 340 is asynchronous and requires a certain amount of time, the project search and filter plugin 502 can temporarily store user information, control information, project information, etc. in the cache 509 (537) and receive cache success feedback from the cache 509 (538). After parsing the model output, the project search and filter plugin 502 reads the cached information from the cache 509 (542) and obtains the cached user information, control information, project information, etc. (544).
[0070] The project search and filter plugin 502 can query the project management application 505 for the default field list of project views (546) and obtain the default field list of project views (548). Based on the model output, the project search and filter plugin 502 can call the search component 504 in the project management application 505 to create a view. By calling the search plugin 504, the project search and filter plugin 502 obtains a view identifier from the project management application 505 (552). The project search and filter plugin 502 can provide the digital assistant 320 with a view link of the generated view (554). The digital assistant 320 can present the view link to the user 140 as a reply to the user 140 (556).
[0071] Figures 6A and 6B illustrate examples of interaction interfaces with a digital assistant in a project management application, according to some embodiments of the present disclosure. In the interaction interface 601 shown in Figure 6A, the user interacts with the digital assistant (i.e., "XX Assistant") in the interaction window 610. Based on the interaction information 612 entered by the user, the digital assistant determines a view generated by the project search and filter plugin and provides the user with a reply message 612, which includes a view link 616. By clicking the view link 616, the user can access view 602 shown in Figure 6B, which is a view generated by the search component in the project management application.
[0072] The above examples of project management applications illustrate some embodiments of this disclosure. It should be understood that the specific implementations of the project management applications and their functional components described in these embodiments are not limited to these, and various other types of project management applications and their functional components may exist in actual scenarios. Furthermore, the embodiments of this disclosure are similarly applicable to applications other than project management applications.
[0073] Figure 7 shows a flowchart of process 700 for task processing according to some embodiments of the present disclosure. Process 700 may be implemented in terminal equipment 110. For the sake of ease of consideration, process 700 will be described with reference to environment 100 in Figure 1.
[0074] In block 710, the terminal device 110 determines the task processing demand associated with the target application from interaction information from the user during the user-digital assistant interaction. In block 720, the terminal device 110 utilizes a first plug-in corresponding to at least one functional component in the target application to generate prompt words for the model based on at least the interaction information. In some embodiments, the first plug-in is selected by the user during the user-digital assistant interaction process. In some embodiments, the first plug-in includes an application programming interface API for at least one functional component in the target application.
[0075] In some embodiments, the prompt word includes at least one of the following: descriptive information associated with at least one functional component in the target application; task descriptive information relating to the task processing requirements; and at least one example.
[0076] In block 730, terminal device 110 obtains model output by providing prompt words to the model, the model output including at least the parameters necessary to invoke a first functional component in at least one functional component to fulfill the task processing requirements. In some embodiments, the model output includes an executable code snippet for the first functional component, the executable code snippet includes parameters, and the executable code snippet is generated based on a code template corresponding to at least the first functional component. In some embodiments, the model output includes parameters, and process 700 further includes generating an executable code snippet for the first functional component by populating the parameters into a code template corresponding to the first functional component.
[0077] In block 740, terminal device 110 utilizes a first plug-in to generate processing results for at least a portion of the task processing demands, and invokes a first functional component in the target application based on parameters.
[0078] In some embodiments, the process 700 further includes obtaining at least some processing results from a target application and determining a response to interaction information based on at least some of the processing results for presentation to the user.
[0079] In some embodiments, the target application includes a project management application. In some embodiments, the first plugin corresponds to at least one of the search component and filter component in the project management application.
[0080] In some embodiments, the parameters required when calling the search component to fulfill the task processing requirements include at least one of the view type, view name, and search keyword. In some embodiments, the parameters required when calling the filter component to fulfill the task processing requirements include at least one of the view type, view name, and at least one filter condition.
[0081] Figure 8 shows a schematic block diagram of a task processing apparatus 800 according to some embodiments of the present disclosure. The apparatus 800 may be implemented in or included in terminal equipment 110. Each module / component in the apparatus 800 may be implemented by hardware, software, firmware, or any combination thereof.
[0082] The device 800 includes a demand determination module 810 configured to determine a task processing demand associated with a target application from interaction information from a user during an interaction between a user and a digital assistant, and a prompt word generation module 820 configured to generate a prompt word for a model based on at least the interaction information, utilizing a first plug-in corresponding to at least one functional component in the target application. The device 800 further includes a model calling module 830 configured to obtain a model output by providing a prompt word to the model, the model output including at least the parameters necessary to call a first functional component in at least one functional component to realize the task processing demand, and a functional component calling module 840 configured to call a first functional component in the target application based on the parameters, utilizing a first plug-in to generate processing results for at least a portion of the task processing demand.
[0083] In some embodiments, the first plug-in is selected by the user during the user-digital assistant interaction process.
[0084] In some embodiments, the device 800 further comprises a result acquisition module configured to obtain at least some processing results from a target application, and a response determination module configured to determine a response to interaction information based on at least some of the processing results for presentation to the user.
[0085] In some embodiments, the prompt word includes at least one of the following: descriptive information associated with at least one functional component in the target application; task descriptive information relating to the task processing requirements; and at least one example.
[0086] In some embodiments, the model output includes an executable code snippet for a first functional component, the executable code snippet includes parameters, and the executable code snippet is generated based on a code template corresponding to at least the first functional component. In some embodiments, the model output includes parameters, and the device 800 further includes a template filling module configured to generate an executable code snippet for a first functional component by filling a code template corresponding to the first functional component with parameters.
[0087] In some embodiments, the first plug-in includes an application programming interface API for at least one functional component in the target application.
[0088] In some embodiments, the target application includes a project management application. In some embodiments, the first plugin corresponds to at least one of the search component and filter component in the project management application.
[0089] In some embodiments, the parameters required when calling a search component to fulfill a task processing requirement include at least one of the view type, view name, and search keyword. In some embodiments, the parameters required when calling a filter component to fulfill a task processing requirement include at least one of the view type, view name, and at least one filter condition.
[0090] It should be understood that one or more steps of the above method may be performed by appropriate electronic equipment or combinations of electronic equipment. Such electronic equipment or combinations of electronic equipment may include, for example, the server 130, terminal equipment 110, and / or combinations of server 130 and terminal equipment 110 in Figure 1.
[0091] Figure 9 shows a block diagram of an electronic device 900 suitable for carrying out an embodiment of the present disclosure. It should be understood that the electronic device 900 shown in Figure 9 is illustrative and does not imply any limitation on the function and scope of the embodiments described herein. The electronic device 900 shown in Figure 9 may be used to implement the terminal device 110 in Figure 1 or the device 800 in Figure 8.
[0092] As shown in Figure 9, the electronic device 900 is a general-purpose electronic device. The components of the electronic device 900 may include, but are not limited to, one or more processors or processing units 910, memory 920, storage devices 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960. The processing unit 910 may be an actual or virtual processor and can perform various processes based on a program stored in memory 920. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 900.
[0093] The electronic device 900 generally includes multiple computer storage media. Such media may be any obtainable media accessible to the electronic device 900, and may include, but are not limited to, volatile and non-volatile media, and removable and non-removable media. Memory 920 may be volatile memory (e.g., registers, caches, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or any combination thereof. Storage device 930 may be removable or non-removable media, and may include machine-readable media, such as flash memory drives, magnetic disks, or any other media, which can be used to store information and / or data and are accessible within the electronic device 900.
[0094] The electronic device 900 may further include other removable / non-removable, volatile / non-volatile storage media. Not shown in Figure 9, a magnetic disk drive for reading from or writing to removable, non-volatile magnetic disks (e.g., “Floppy Disk®”) and an optical disk drive for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data media interfaces. The memory 920 may also include a computer program product 925, which includes one or more program modules, configured to perform various methods or operations of various embodiments of the present disclosure.
[0095] The communication unit 940 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 900 can be implemented by a single computing cluster or multiple computing machines, which can communicate via a communication connection. Therefore, the electronic device 900 can operate in a network environment using logical connections with one or more other servers, network personal computers (PCs), or other network nodes.
[0096] The input device 950 may be one or more input devices, such as a mouse, keyboard, or trackball. The output device 960 may be one or more output devices, such as a display, speaker, or printer. The electronic device 900 may further communicate with one or more external devices (not shown), such as a storage device or display device, via the communication unit 940 as needed, with one or more devices for interaction between the user and the electronic device 900, or with any devices (e.g., a network card or modem) for communication between the electronic device 900 and one or more other electronic devices. Such communication may be performed via an input / output (I / O) interface (not shown).
[0097] An exemplary embodiment of the present disclosure provides a computer-readable storage medium in which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the methods described above. An exemplary embodiment of the present disclosure further provides a computer program product which includes computer-executable instructions that are tangibly stored in a non-temporary computer-readable medium, wherein the computer-executable instructions are executed by a processor to implement the methods described above.
[0098] Herein, each aspect of the disclosure has been described with reference to flowcharts and / or block diagrams of methods, apparatus, devices, and computer program products implemented based on the disclosure. It should be understood that each block in the flowcharts and / or block diagrams, and each combination of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0099] By providing these computer-readable program instructions to the processing units of a general-purpose computer, a dedicated computer, or other programmable data processing device, a machine can be generated, thereby generating a device that, when these instructions are executed by the processing units of the computer or other programmable data processing device, implements the functions / operations defined in one or more blocks in a flowchart and / or block diagram. These computer-readable program instructions may be stored in a computer-readable storage medium, and by using these instructions to operate a computer, programmable data processing device, and / or other device in a specific manner, the computer-readable medium storing the instructions will contain a product containing instructions that implement various modes of the functions / operations defined in one or more blocks in a flowchart and / or block diagram.
[0100] Computer-readable program instructions may be loaded into a computer, other programmable data processing device, or other device, thereby generating a process implemented by the computer by executing a series of operational steps on the computer, other programmable data processing device, or other device, and thereby the instructions executed on the computer, other programmable data processing device, or other device implement the functions / operations defined in one or more blocks in a flowchart and / or block diagram.
[0101] The flowcharts and block diagrams in the drawings illustrate the implementable system architectures, functions, and operations of systems, methods, and computer program products in multiple implementations of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, program segment, or part of an instruction, and a module, program segment, or part of an instruction may contain one or more executable instructions for implementing a defined logical function. In some implementations as replacements, the functions described in a block may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed essentially in parallel, or in reverse order depending on the function. Note that each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs the defined function or operation, or by a combination of dedicated hardware and computer instructions.
[0102] The above descriptions of the various realizations of this disclosure are illustrative, not exhaustive, and not limited to the realizations disclosed. Many modifications and changes will be apparent to those skilled in the art without departing from the scope and spirit of the realizations described. The choice of terms used herein is intended to best interpret the principles of each realization, actual applications, or improvements in the technology in the market, or to enable those other skilled in the art to understand each realization disclosed herein.
Claims
1. In the interaction between the user and the digital assistant, the task processing demand associated with the target application is determined from the interaction information from the user, Using a first plugin corresponding to at least one functional component in the target application, a prompt word for the model is generated based on at least the interaction information, The method involves providing the prompt word to the model to obtain a model output, wherein the model output includes at least the parameters necessary to call a first functional component in the at least one functional component to realize the task processing demand. To generate processing results for at least a portion of the task processing demand, the first plugin is used to call the first functional component in the target application based on the parameters, A method for processing tasks.
2. The method according to claim 1, wherein the first plug-in is selected by the user in the interaction process between the user and the digital assistant.
3. To obtain at least some of the processing results from the target application, The method according to claim 1, further comprising determining a response to the interaction information based on at least some of the processing results for presentation to the user.
4. The aforementioned prompt word is, Descriptive information associated with the at least one functional component in the target application, Task description information relating to the aforementioned task processing demand, At least one example, The method according to claim 1, comprising at least one of the following.
5. The model output includes an executable code snippet for the first functional component, the executable code snippet includes the parameters, and the executable code snippet is generated based on a code template corresponding to at least the first functional component, or The method according to claim 1, wherein the model output includes the parameters, and the method further comprises generating the executable code snippet for the first functional component by populating the parameters into a code template corresponding to the first functional component.
6. The method according to claim 1, wherein the first plugin includes an application programming interface API for the at least one functional component in the target application.
7. The aforementioned target application includes and / or a project management application. The method according to claim 1, wherein the first plugin corresponds to at least one of the search component and the filter component in the project management application.
8. The parameters required when calling the search component to fulfill the task processing requirements include at least one of the view type, view name, and search keyword, and / or The method according to claim 7, wherein the parameters required to call the filter component to fulfill the task processing requirements include at least one of a view type, a view name, and at least one filter condition.
9. A demand determination module configured to determine task processing demand associated with a target application from interaction information from the user during interaction between a user and a digital assistant, A prompt word generation module is configured to generate prompt words for a model based on at least the interaction information, using a first plugin that corresponds to at least one functional component in the target application, A model calling module configured to obtain model output by providing the prompt word to the model, wherein the model output includes at least parameters necessary for calling a first functional component in the at least one functional component to realize the task processing demand, To generate processing results for at least a portion of the task processing demand, the system includes a functional component calling module configured to utilize the first plugin and call the first functional component in the target application based on the parameters, A device for processing tasks.
10. At least one processing unit, An electronic device comprising at least one memory, wherein the at least one memory is coupled to the at least one processing unit and stores instructions to be executed by the at least one processing unit, and when the instructions are executed by the at least one processing unit, the electronic device causes the electronic device to perform the method according to any one of claims 1 to 8. electronic equipment.
11. A computer program is stored which is executed by a processor and which can implement the method described in any one of claims 1 to 8. Computer-readable storage medium.