Method and apparatus for task processing, and device and storage medium

In the interaction between the user and the digital assistant, using the plug-in corresponding to the target application functional components to generate prompt words and call the target application functional components, the problem of insufficient flexibility in the interaction between the user and the digital assistant is solved, and a more convenient task processing requirement is achieved.

WO2025044674A1PCT designated stage expired Publication Date: 2025-03-06BEIJING ZITIAO NETWORK TECH CO LTD

Patent Information

Application Number
PCT/CN2024/109318
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-30
Filing Date
2024-08-01
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

In the prior art, the interaction flexibility between users and digital assistants is insufficient, making it difficult to meet the user's complex task processing needs in the application.

Method used

In the interaction between the user and the digital assistant, using the plug-in corresponding to the target application functional components, generate prompt words for the model, obtain the required parameters, and call the target application functional components to realize some processing results of task processing requirements.

Benefits of technology

It improves the interactive flexibility between users and digital assistants, and can more conveniently meet users' task processing needs in various applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024109318_06032025_PF_FP_ABST
    Figure CN2024109318_06032025_PF_FP_ABST
Patent Text Reader

Abstract

In the embodiments of the present disclosure, provided are a method and apparatus for task processing, and a device and a storage medium. The method for task processing comprises: during interaction between a user and a digital assistant, determining, from interaction information from the user, task processing requirements associated with a target application; generating, at least on the basis of the interaction information, prompt words for a model by using a first plug-in, wherein the first plug-in corresponds to at least one functional component in the target application; obtaining a model output by providing the prompt words to the model, wherein the model output at least comprises parameters required for realizing the task processing requirements by means of calling a first functional component among the at least one functional component; and using the first plug-in to call the first functional component in the target application on the basis of the parameters, so as to generate at least some processing results for the task processing requirements. Thus, with the help of a plug-in, a user can be allowed to conveniently complete, by means of sending out task processing requirements, task processing requirements involving various types of applications during interaction between the user and a digital assistant.
Need to check novelty before this filing date? Find Prior Art

Description

Method, apparatus, device and storage medium for task processing

[0001] This application claims priority to the Chinese invention patent application entitled “Method, apparatus, device and storage medium for task processing” and application number 202311109780.9, filed on August 30, 2023. The entire contents of that application are incorporated herein by reference. Technical Field

[0002] Example 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 become an important platform for people to access and share content. Users can access the Internet through terminal devices and enjoy various Internet services. Terminal devices present corresponding content and interact with users and provide services to users through the user interface of the application. Therefore, a rich and colorful application interactive interface is an important means to enhance the user experience. With the development of information technology, various terminal devices can provide people with various services in work and life. For example, terminal devices can be deployed with applications that provide services. Terminal devices or applications can provide users with digital assistant-like functions to assist users in using terminal devices or applications. How to improve the flexibility of user interaction with digital assistants is a technical problem that needs to be explored.

[0004] Summary of the Invention

[0005] In a first aspect of the present disclosure, a method for task processing is provided. The method includes: determining a task processing requirement associated with a target application from interaction information from the user during interaction between the user and a digital assistant; generating a prompt word for a model based on at least the interaction information using a first plug-in, the first plug-in corresponding to at least one functional component in the target application; obtaining a model output by providing the prompt word to the model, the model output including at least parameters required when calling a first functional component in the at least one functional component to implement the task processing requirement; and calling the first functional component in the target application based on the parameters using the first plug-in to generate at least a partial processing result of the task processing requirement.

[0006] In a second aspect of the present disclosure, a device for task processing is provided. The device includes: a requirement determination module, configured to determine the task processing requirement associated with the target application from the interaction information from the user in the interaction between the user and the digital assistant; a prompt word generation module, configured to use a first plug-in to generate a prompt word for the model based on at least the interaction information, the 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, the model output at least including the parameters required when calling the first functional component in at least one functional component to implement the task processing requirement; and a functional component calling module, configured to use the first plug-in to call the first functional component in the target application based on the parameters to generate at least a partial processing result of the task processing requirement.

[0007] In a third aspect of the present disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.

[0008] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein a computer program is stored on the computer-readable storage medium, and the computer program can be executed by a processor to implement the method of the first aspect.

[0009] It should be understood that the content described in this section is not intended to limit the key features 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

[0010] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:

[0011] FIG1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;

[0012] FIG2 is a schematic diagram illustrating an example user interface presenting an interaction window between a user and a digital assistant according to some embodiments of the present disclosure;

[0013] FIG3 shows a schematic diagram of data flow in task processing according to some embodiments of the present disclosure;

[0014] FIG4 illustrates an example user interface for plug-in selection during user interaction with a digital assistant according to some embodiments of the present disclosure;

[0015] FIG5 is a schematic diagram illustrating a signaling flow of task processing in a project management application according to some embodiments of the present disclosure;

[0016] 6A and 6B illustrate examples of an interactive interface with a digital assistant in a project management application according to some embodiments of the present disclosure.

[0017] FIG7 shows a flowchart of a process for task processing according to some embodiments of the present disclosure;

[0018] FIG8 shows a block diagram of an apparatus for task processing according to some embodiments of the present disclosure; and

[0019] FIG9 illustrates a block diagram of an electronic device in which one or more embodiments of the present disclosure can be implemented. DETAILED DESCRIPTION

[0020] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0021] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, i.e., "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may be included below.

[0022] Herein, unless explicitly stated otherwise, executing a step “in response to A” does not mean executing the step immediately after “A” but may include one or more intermediate steps.

[0023] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition, use, storage or deletion of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.

[0024] It is understandable that before using the technical solutions disclosed in the various embodiments of the present disclosure, the type, scope of use, usage scenarios, etc. of the information involved in the present disclosure should be informed to relevant users and authorization should be obtained from relevant users in an appropriate manner in accordance with relevant laws and regulations. The relevant users may include any type of right holders, such as individuals, enterprises, and groups.

[0025] For example, in response to receiving an active request from a user, a prompt message is sent to the relevant user to clearly prompt the relevant user that the operation requested to be performed will require obtaining and using the information of the relevant user, so that the relevant user can independently choose whether to provide information to the software or hardware such as the electronic device, application, server or storage medium that executes the operation of the technical solution of the present disclosure based on the prompt message.

[0026] As an optional but non-limiting implementation, in response to receiving an active request from a relevant user, a prompt message may be sent to the relevant user in the form of a pop-up window, in which the prompt message may be presented in text form. Furthermore, the pop-up window may also include a selection control for the user to select "agree" or "disagree" to provide information to the electronic device.

[0027] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0028] 1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. In the example environment 100, an application 120 is installed in a terminal device 110. A user 140 can interact with the application 120 via the terminal device 110 and / or a device attached to the terminal device 110.

[0029] In some embodiments, application 120 can be downloaded and installed on terminal device 110. In some embodiments, application 120 can also be accessed through other means, such as through a webpage. In environment 100 of FIG1 , when application 120 is launched, terminal device 110 may present interface 150 of application 120. Interface 150 may include various user interfaces provided by application 120. Interface 150 is sometimes also referred to as a user interface.

[0030] Application 120 includes, but is not limited to, one or more of the following: a chat application (also known as an instant messaging application), a document application, an audio and video conferencing application, an email application, a task application, an objectives and key results (OKR) application, and the like. Application 120 may support the use of plug-ins. Such plug-ins include, but are not limited to, one or more of the following: a search plug-in, a contact plug-in, a message plug-in, a document plug-in, a table plug-in, an email plug-in, a calendar plug-in, a schedule plug-in, a task plug-in, and the like. In some embodiments, application 120 may include a multi-functional collaboration platform, such as an office collaboration platform (also known as an office suite) that can provide integration of various types of applications or components to facilitate people's office work, communication, and other activities. In the multi-functional collaboration platform, people can start different applications or components as needed to complete corresponding information processing, sharing, communication, and the like.

[0031] In some embodiments, the terminal device 110 communicates with the server 130 to enable the provision of services for the application 120. The terminal device 110 can be any type of mobile terminal, fixed terminal or portable terminal, including a mobile phone, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multimedia tablet, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a television receiver, a radio broadcast receiver, an e-book device, a gaming device or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, the terminal device 110 can also support any type of interface for the user (such as a "wearable" circuit, etc.). The application 130 can be various types of computing systems / servers that can provide computing capabilities, including but not limited to mainframes, edge computing nodes, computing devices in cloud environments, and the like.

[0032] It should be understood that the structure and function of the various elements in the environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of the present disclosure.

[0033] As briefly mentioned above, digital assistants can assist users in using terminal devices or applications. In addition to engaging in free conversations with digital assistants, users can also use natural language commands to instruct digital assistants to complete tasks within specific applications, such as retrieving project views, creating documents, scheduling appointments, and creating tasks. However, the interactive features provided by these applications are not flexible enough, making it difficult for digital assistants to help users complete certain tasks within the application.

[0034] According to some embodiments of the present disclosure, an improved scheme for task processing is proposed. In an embodiment of the present disclosure, if it is determined that the user's task processing needs are associated with the target application in the interaction between the user and the digital assistant, a plug-in corresponding to one or more functional components of the target application is used to generate prompt words for the model based on the user's interaction information. The model determines the parameters required when calling a specific functional component of the target application to achieve the user's task processing needs based on the prompt words. In this way, the plug-in can call a specific functional component in the target application based on the parameters to output at least part of the processing results of the task processing needs. In this scheme, by providing a plug-in corresponding to one or more functional components of the target application, and using the plug-in to coordinate the use of the model and the call to the functional components in the application, the user's task processing needs can be met flexibly and conveniently. In this way, the user can conveniently complete task processing needs involving various applications by issuing task processing needs in the interaction with the digital assistant.

[0035] Some example embodiments of the present disclosure will be described in detail below with reference to examples in the accompanying drawings.

[0036] In an embodiment of the present disclosure, a digital assistant is used to interact with a user. An interaction window between the user and the digital assistant may be presented in a user interface. The interaction window between the user and the digital assistant may include a conversation window, in which the interaction between the user and the digital assistant may be presented in the form of a conversation message. Alternatively or additionally, the interaction window between the user and the digital assistant may also include other types of windows, such as a window in floating window mode, in which the user may trigger the digital assistant to perform corresponding operations by inputting instructions, selecting shortcut instructions, etc. As an intelligent assistant, the digital assistant has intelligent dialogue and information processing capabilities. In the interaction window, the user inputs an interactive message, and the digital assistant provides a reply message in response to the user input. The user interface for providing a 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.

[0037] The digital assistant can be called or awakened by an appropriate means (for example, a shortcut key, a button, or voice) to present an interaction window with the user. In some embodiments, the digital assistant can be included in the current user's contact list in the application as a contact of the user, or included in the information flow of the chat application. By selecting the digital assistant, the interaction window with the digital assistant can be opened. The interaction window may include interface elements for task processing, such as an input box, a message list, a message bubble, and so on. In other embodiments, the digital assistant can be awakened through an entry control or menu provided in the page, or by inputting a preset instruction. In some embodiments described below, for ease of discussion, the interaction window between the user and the digital assistant is mainly illustrated as a conversation window.

[0038] In some embodiments, multiple interaction modes between the user and the digital assistant can be provided, and flexible switching between the multiple interaction modes can be achieved. When a certain interaction mode is triggered, a corresponding interaction area is presented to facilitate interaction between the user and the digital assistant. The user interacts with the digital assistant in different ways under different interaction modes, which can be flexibly adapted to the interaction needs in different application scenarios.

[0039] In some embodiments, users have a corresponding relationship with digital assistants. For example, the first digital assistant corresponds to the first user, the second digital assistant corresponds to the second user, and so on. In some embodiments, the first digital assistant may correspond uniquely to the first user, the second digital assistant may correspond uniquely to the second user, and so on. That is, the first digital assistant of the first user may be specific to or exclusive to the first user. For example, in the process of the first digital assistant providing assistance or services to the first user, the first digital assistant may utilize its historical interaction information with the first user, the data authorized by the first user that it can access, its current interaction context with the first user, and so on. If the first user is an individual or an individual, the first digital assistant may be regarded as a personal digital assistant. It will be understood that in the disclosed embodiments, the first digital assistant accesses the data to which permission is granted based on the authorization of the first user. It should be understood that "uniquely corresponding" or similar expressions in the present disclosure are not intended to limit the first digital assistant to be updated accordingly based on the interaction process between the first user and the first digital assistant.

[0040] In some embodiments, information processing or task processing services specific to the user can be provided based on the historical interaction information between the user and the digital assistant and / or the data range specific to the user. In some embodiments, the historical interaction information of the user interacting with the digital assistant in multiple interaction modes can be stored in association with the user. In this way, in one interaction mode (any or a specified interaction mode) of the multiple interaction modes, the digital assistant can provide services to the user based on the historical interaction information stored in association with the user.

[0041] FIG2 illustrates an example user interface 201 presenting an interaction window between a user and a digital assistant according to some embodiments of the present disclosure. User interface 201 may be presented, for example, at terminal device 110 in FIG1 . The following embodiments will refer to the environment shown in FIG1 . It should be noted that the operations performed by terminal device 110 described subsequently may specifically be performed by related applications installed on terminal device 110.

[0042] In some embodiments, the terminal device 110 invokes a digital assistant in response to a user's preset operation (e.g., selecting a 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 of area 210, the user can input a message through the input box 218 or through other appropriate means (e.g., voice), and the digital assistant can provide a reply message based on the input message and relevant knowledge.

[0043] In the example of Figure 2, the digital assistant can be regarded as one of the user's contacts and is presented in the information flow (feed) of the instant messaging application. The information flow is presented in another area 220 of the interface 201. By selecting the digital assistant, the user can enter the interaction window with the digital assistant.

[0044] It should be understood that FIG2 merely illustrates an example of a window for initiating interaction between a user and a digital assistant. As previously described, the interaction window may also be initiated in other ways. Furthermore, the various specific information, icons, and the like shown in FIG2 are merely examples and do not limit the scope of the embodiments of the present disclosure.

[0045] FIG3 illustrates a schematic diagram of a data flow 300 during task processing according to some embodiments of the present disclosure. As shown in FIG3 , after triggering interaction with a digital assistant 320, user 140 inputs interaction information to the digital assistant at step 312. For example, user 140 may interact with digital assistant 320 (i.e., “XX Assistant” in FIG2 ) in an interaction window similar to that shown in FIG2 . User 140 may input interaction information to digital assistant 320 using natural language.

[0046] Digital assistant 320 determines task processing requirements associated with target application 350 based on interaction information from user 140. Typically, users may wish to process a variety of tasks within an application. For example, in a project management application, tasks such as creating projects, filtering and searching for projects, and analyzing views may be required. In a calendar application, tasks such as scheduling meetings and checking availability may be required.

[0047] In some embodiments, the digital assistant 320 can use a model (e.g., model 340) to confirm the user's task processing requirements from the user's interactive information, that is, determine whether the task processing requirements are associated with a certain application, or whether they are associated with a functional component in the application. In some embodiments, the model 340 can be any model suitable for processing text modal or multimodal data, such as various types of generative models. In some embodiments, the digital assistant 320 can generate corresponding prompt words based on the interactive information and input the prompt words to the model 340 in step 326. In the field of model processing, the prompt word can include a piece of text or a sentence used to start and guide the model to output an output of a specific type, theme or format. The model 340 processes the prompt word to analyze the task processing requirements in the user's interactive information and returns the task processing requirements to the digital assistant 320 in step 328.

[0048] If it is determined that the interaction information of user 140 involves a task processing requirement with target application 350, digital assistant 320 may request plug-in 330 corresponding to one or more functional components 352 in target application 350 to assist in processing the task processing requirement in step 322. Plug-in 330 (sometimes referred to herein as a "first plug-in") is a set of functions configured according to target application 350 and available for call by digital assistant 320. In some embodiments, if multiple plug-ins are configured for target application 350, each plug-in corresponding to a different functional component of target application 350, the plug-in to be requested may be selected based on the specific functional component required by the user's task processing requirement.

[0049] In an embodiment of the present disclosure, a plug-in is provided for use by the digital assistant 320. A plug-in can be understood as a collection of functions, each plug-in can include one or more tools, and a tool can be understood as a unit function or atomic function in a plug-in. With the help of multiple tools, a plug-in can be used to implement a class of tasks desired by the user. In an embodiment of the present disclosure, the plug-ins available to the digital assistant can be configured according to the functional components of a specific application. For example, for a project management application, a project search and filtering plug-in can be configured, which can implement the search function and filtering function of the content of the project type; for a document application, a document plug-in can be configured, which can implement the creation of document content, content search, content rewriting, etc. In some embodiments, the plug-in 330 may include an application programming interface (API) to at least one functional component 352 in the target application 350 for calling the corresponding functional component.

[0050] In some embodiments, plug-in 330 can be selected by user 140 during interaction with digital assistant 320. Figure 4 illustrates an example user interface 401 for selecting a plug-in during interaction with a digital assistant, according to some embodiments of the present disclosure. User interface 401 can be presented, for example, by terminal device 110. As shown in Figure 4, in the user-digital assistant interaction window 410, after a new topic is created, a plug-in selection control 412 can be provided. By clicking plug-in selection control 412, the user can select the plug-in to be used during interaction with the digital assistant. In response to the user clicking plug-in selection control 412, terminal device 110 can present a list of selectable plug-ins and provide a search box 414 to support the user's search for plug-ins. For example, if the user selects "Project Search and Filter Plug-in" 416, further information about the plug-in's functionality can be displayed to help the user understand the functionality of the plug-in. For example, "Project Search and Filter Plug-in" 416 corresponds to the search and filter components in a project management application. Other plug-ins can also correspond to functional components under specific applications. For example, the mail plug-in corresponds to the mail sending and receiving function in the mail application, the message plug-in corresponds to the message-related functions in the instant messaging application, and so on.

[0051] In some embodiments, during the interaction between the user 140 and the digital assistant 320, the default plug-in to be used can be determined. For example, in the case where the user 140 does not specify the plug-in to be used, one or more default plug-ins can be provided. In some embodiments, during the interaction between the user 140 and the digital assistant 320, plug-ins can be selected by topic. That is, for each newly created topic, the user can be allowed to customize or the system can select by default one or more plug-ins to be used under the topic. Here, "topic" corresponds to the specific context of the interaction. During the interaction of each topic, the interaction information between the user and the digital assistant will be regarded as contextual information to assist the digital assistant in determining subsequent conversation messages. In some embodiments, the number of selectable plug-ins under each topic may have a maximum limit.

[0052] Continuing with reference back to FIG3 , if plug-in 330 is called by digital assistant 320, plug-in 330 will be used to determine at least a partial processing result of the task processing requirement of user 140. Plug-in 330 generates prompt words for model 340 based at least on the interaction information of user 140, and inputs the generated prompt words into model 340 in step 332. Note that digital assistant 320 uses model 340 to understand the user's interaction information in order to determine the user's task processing requirement from the interaction information; and plug-in 330 corresponds to one or more functional components 352 in target application 350, and therefore it is expected to use model 340 to determine how to call the functional components of target application 350 to meet the user's task processing requirement.

[0053] In some embodiments, the prompt provided by plug-in 330 to model 340 includes at least descriptive information related to at least one functional component in the target application, thereby indicating to model 340 the processing capabilities of plug-in 330. In some embodiments, the prompt provided by plug-in 330 to model 340 also includes task description information related to the task processing requirement. In some embodiments, the prompt provided by plug-in 330 to model 340 may also include at least one example of how to handle the task processing requirement, thereby assisting and guiding model 340 in determining how to handle the current task processing requirement.

[0054] Model 340 processes the prompt word from plug-in 330 and, at step 334, provides model output to plug-in 330. The model output includes at least the parameters required to call one or more functional components in target application 350 to implement task processing requirements. The one or more functional components indicated by the model output can be one, some, or all of the functional components 352 corresponding to plug-in 330. For discussion purposes herein, the functional components indicated by the model output are sometimes referred to as "first functional components."

[0055] In some embodiments, based on the prompt word, the model output of model 340 may include an executable code snippet for one or more functional components 352 (i.e., first functional components) in target application 350, the executable code snippet including the parameters required when calling one or more functional components 352 to implement the task processing requirement. In some embodiments, model 340 may be provided with code targets corresponding to one or more functional components 352, and the executable code snippet is generated based on the code template corresponding to the functional component 352. In other words, plug-in 330 can automatically generate code for calling the functional components in target application 350 with the help of model 340. In some embodiments, the model output of model 340 may include the parameters required when calling one or more functional components 352 to implement the task processing requirement. After receiving these parameters, plug-in 330 can generate an executable code snippet for the indicated one or more functional components 352 by filling the parameters into the code template corresponding to the indicated one or more functional components 352.

[0056] After obtaining the model output, in step 336, the plug-in 330 calls 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 at least a portion of the processing results of the task processing requirements. As shown in Figure 3, in step 338, the plug-in 330 obtains at least a portion of the processing results of the task processing requirements from the target application 350. In step 324, the plug-in 330 returns the obtained at least a portion of the processing results for the task processing requirements to the digital assistant 320. The digital assistant 320 determines a reply to the interaction information based on at least a portion of the processing results obtained from the plug-in 330 to present to the user. For example, the digital assistant 320 provides a reply to the user 140 in step 314 to indicate the processing results of the interaction information of the user 140.

[0057] Although FIG3 shows only a single plug-in 330, in some embodiments, the task processing requirements of user 140 may involve multiple plug-ins of the same application or different applications. In this case, digital assistant 320 can request multiple plug-ins to determine their respective partial processing results. Digital assistant 320 can aggregate the partial processing results from multiple plug-ins to obtain the final processing result for user 140's task processing requirements.

[0058] The above discussion discusses how, in general applications, a user's digital assistant can respond to a user's task processing needs by leveraging plugins corresponding to functional components within the application. For easier understanding, the following description uses target application 350, including a project management application, as an example to provide a more detailed explanation. Before proceeding with the detailed discussion, a brief introduction to some basic concepts of project management applications is provided.

[0059] Project management applications are mainly used to manage user-created projects (also called work items). In some implementations, a project space (or, simply called a space) can be created to manage all projects of an organization, team, or individual. The data hierarchy in the project management application can be divided from high to low into: space, project type, and project instance. A project instance can also be simply referred to as a project, which is a project created under a certain project type. The basic components of a project instance are fields. Each project can be used to manage corresponding projects (a certain work content item), such as work requirements, defects, version work types, etc. In each different project type, there are system default fields and custom fields. Each workflow consists of different nodes, such as product, prototype design, R&D, testing nodes, etc. in requirements. Instances refer to different projects created under different types of work items. For example, I can create requirements in a requirements work item, and this requirement is an instance.

[0060] For project-related content, a work item or project instances under a certain work item type can be displayed in a table-like view format. Views can include various forms, such as tables, dashboards, lists, Gantt charts, etc. In some examples, project management application views can include conditional views, which sort and group based on filter conditions and then display the view; fixed views, which generate a fixed view of instances containing a keyword through a global search; and panoramic views, which can be either conditional or fixed views, but the data source may come from multiple work projects or multiple work item spaces.

[0061] In the following example, it is assumed that the plug-in to be called by digital assistant 320 corresponds to a search component and / or a filter component in a project management application. For example, plug-in 330 is the project search and filter plug-in shown in Figure 4. In some embodiments, the parameters required when calling the search component to implement a task processing requirement include at least one of the following: view type, view name, and search keyword. In some embodiments, the parameters required when calling the filter component to implement a task processing requirement include at least one of the following: view type, view name, and at least one filter condition.

[0062] 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. Signaling flow 500 can be considered an example of data flow 300 in Figure 3 , wherein project management application 505 in Figure 5 can be considered an example of target application 350 in Figure 3 ; search component 304 is an example of functional component 352 in Figure 3 ; and project search and filter plug-in 502 can be considered an example of plug-in 330 in Figure 3 , corresponding to the search component and filter component in project management application 505.

[0063] User 140 requests (510) digital assistant 320 to search for project instances in a project management application. For example, user 140 may send an interactive request to digital assistant 320 in natural language, such as "Help me search for technical requirements related to XX program." In some embodiments, digital assistant 320 may use model 340 to identify the user's task processing requirements from the user's natural language input and determine the target application or functional plug-in of the target application corresponding to the task processing requirement.

[0064] In the example of FIG5 , it is assumed that from the user's input, the digital assistant 320 identifies that the task processing requirement is associated with the project management application 305, and the digital assistant 320 is able to use the project search and filter plug-in 502 created for the project management application 305. The project search and filter plug-in 502 can be selected by the user 140 for interaction with the digital assistant 320. The digital assistant 320 can call (512) the project search and filter plug-in 502. After being called, the project search and filter plug-in 502 can generate an executable code snippet that conforms to 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 plug-in 502 can send the generated view to the digital assistant 320 for presentation to the user 140.

[0065] To complete view generation, the project search and filter plug-in 502 can use the model to obtain executable code snippets for view generation. The project search and filter plug-in 502 can construct prompts for the model. The prompts can 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 the project space, project type, fields for specific data in the project, views, etc. in the project management application 305. In some examples, the prompts can also include task descriptions related to the user's task processing requirements, describing to the model what needs to be completed and the process for completing the task.

[0066] In order to generate prompt words, in the example of Figure 5, the project search and filter plug-in 502 can query (514) and obtain (516) user information 508 of other users involved in the project management application 505 and the user 140 or the task processing requirements, fuzzy search (518) the project space and corresponding project 506 of the project involved in the task processing requirements and obtain (520) space and project information. In the project management application, the project space can be considered as a collection of a type of project. In some examples, the project search and filter plug-in 502 can also query (522) the user's team information, query (524) the project field list information, and obtain (526, 528) the project field list information and the user's team information. The project field list information indicates the field list defined in the project, and the user's team information can be applicable in scenarios involving enterprises and organizations.

[0067] Based on the acquired information, the project search and filter plug-in 502 may generate (520) prompt words for the model and call the model 340 to perform (532) the prompt word task. Based on the prompt word, the model 340 generates a model output and sends (534) the model output to the project search and filter plug-in 502. The model output includes at least the parameters required to call the search component and / or the filter component in the project management application to implement the user's task processing requirements.

[0068] In some embodiments, based on the task processing requirements indicated in the user's interactive information, it can be determined whether a fixed view corresponding to the search component or a conditional view corresponding to the filtering component is to be generated. For example, from the user input "Help me search for technical requirements related to XX program", it can be determined that a fuzzy search is required for items related to the keyword "XX program", and the search component needs to be called to generate a fixed view. If the user inputs "Help me search for requirements whose requirement names contain tests", it can be determined that a filtering task is involved, and the filtering condition is "Requirement name contains tests", so the filtering component needs to be called to generate a conditional view.

[0069] In some embodiments, the prompt words for the model 340 generated by the project search and filtering plug-in 502 can determine the type of view to be generated based on the natural language input by the user. For example, based on the user's input, the field type {{fieldtype}} that matches the corresponding project in the corresponding space can be determined. For the filtering language input by the user, it is necessary to match the field name and field key (Key) information in the field type fieldtype when outputting the filtering conditions. When matching fields, default fields and custom fields can be distinguished. For example, the default field usually has a fixed field name, field key, and the corresponding operator type, then it is necessary to match the user's field information in the project in the space and the field value corresponding to this default field. For another example, for a custom field, it is necessary to match the user's field information in the work item in the space, including the field name, field key, field type, field value, and field value ID.

[0070] In some embodiments, when the user inputs a field name and field key that cannot be matched to a work item, an error code and corresponding error code description are returned. For example, if a user inputs "Help me find defects with a priority of P5," and after matching, it is found that there is no defect work item and no priority field, the digital assistant 320 can reply to the user, "Sorry, the priority field you are looking for does not exist." In some embodiments, the digital assistant 320 can also further clarify the details of the task processing requirements to the user to ensure that the user's requirements can be met.

[0071] In some embodiments, when the user inputs a field name and field key that can be matched to a work item, but cannot match the field value and field value ID, the user needs to be told which field values ​​can be used under this field, and the output is performed after the user selects. For example, the user inputs "Help me find the business line that is a basic experience requirement", and after matching, it is found that the option values ​​of the business line field are search, test, and R&D, but there is no basic experience. At this time, the digital assistant 320 can reply to the user "Sorry, based on the information you provided, the option values ​​of the business line field are: search, test, and R&D, and there is no basic experience option. Please provide the correct business line option value, and I will check it for you."

[0072] In some embodiments, the model output can be generated according to a predetermined code template. For example, if the model output is to indicate a call to a search component in the project management application 505, the parameters indicated by the model output may include the view type, view name, and search keyword filled 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. The output format for the search component is shown in Table 1 below:

[0073] Table 1

[0074] If the model output indicates a call to a filter component in the project management application 505, the parameters indicated by the model output may include the view type, view name, and at least one filter condition populated in the code template. In some embodiments, the code template corresponding to the filter component may be a template for a conditional view. In some embodiments, the view name may be generated based on the user's filter condition keywords and / or timestamp naming. The output format for the filter component is shown in Table 2 below:

[0075] Table 2

[0076] For ease of understanding, several specific examples are used for illustration. In one example, if the user inputs "Help me find bugs related to rebranding in the test space." The digital assistant 320 determines to call the project search and filter plug-in 502. The project search and filter plug-in 502 constructs prompt words for the model 340 based on the user input. Based on the prompt words, the model 340 determines that the input query is mainly about fuzzy keyword search, and a fixed view needs to be generated. It then determines the category and name of the view, and determines that the keyword the user needs to query is rebranding. In this example, the input of the model 340 is as shown in Table 3 below:

[0077] Table 3

[0078] In another example, if the user inputs "In the X project space, which requirements have higher business priority?", the digital assistant 320 determines to call the project search and filter plug-in 502. Based on the user input, the project search and filter plug-in 502 constructs a prompt word for the model 340. Based on the prompt word, the model 340 determines that the user requirement involves a filter condition category and therefore needs to generate a conditional view. However, given the ambiguity of the user input, it is necessary to first confirm with the user which priorities are considered higher priority. The model 340 can determine that a matching business priority field is obtained, with the following relevant information: 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 the model 340 can instruct the digital assistant 320 to clearly define high priority to the user, for example, outputting to the user, "What priorities are considered higher priority? For example: P0 and P1?" If the user confirms the definition of high priority, the digital assistant 320 continues to generate the conditional view with the help of the model 340. At this time, the prompt words provided by the digital assistant 320 to the model 340 can be based on multiple rounds of interaction information between the user and the digital assistant.

[0079] In the example of FIG5 , it is assumed that based on the model output, it is determined that the search component 504 in the project management application 505 needs to be called. After obtaining the model output, the project search and filter plug-in 502 parses (540) the model output to extract parameters from it. In some embodiments, if the execution of the prompt word task by the model 340 is asynchronous and requires a certain amount of time, the project search and filter plug-in 502 can temporarily store (537) user information, control information, project information, etc. in the cache 509 and receive (538) cache success feedback from the cache 509. After parsing the model output, the project search and filter plug-in 502 can read (542) the cached information from the cache 509 to obtain (544) the cached user information, control information, project information, etc.

[0080] The project search and filter plug-in 502 may query (546) the default field list of the project view from the project management application 505 and obtain (548) the default field list of the project view. The project search and filter plug-in 502 may call the search component 504 in the project management application 505 to create a view based on the model output. By calling the search plug-in 504, the project search and filter plug-in 502 obtains (552) the view identifier from the project management application 505. The project search and filter plug-in 502 may provide (554) a view link of the generated view to the digital assistant 320. The digital assistant 320 may present (556) the view link to the user 140 as a reply to the user 140.

[0081] Figures 6A and 6B show examples of interactive interfaces with digital assistants in project management applications according to some embodiments of the present disclosure. In the interactive interface 601 shown in Figure 6A, the user interacts with the digital assistant (i.e., "XX Assistant") in the interactive window 610. Based on the interactive information 612 input by the user, the digital assistant determines the generated view with the help of the project search and filtering plug-in, and provides a reply message 612 to the user, which includes a view link 616. By clicking on the view link 616, you can access the view 602 shown in Figure 6B, which is the view generated by the search component in the project management application.

[0082] It should be understood that while some embodiments of the present disclosure are explained above using the example of a project management application, the specific implementation of the project management application and its functional components described in these embodiments is not limited thereto. In actual scenarios, various other types of project management applications and their functional components may exist. Furthermore, the embodiments of the present disclosure are also applicable to applications other than project management applications.

[0083] 7 shows a flow chart of a process 700 for task processing according to some embodiments of the present disclosure. The process 700 may be implemented at the terminal device 110. For ease of discussion, the process 700 will be described with reference to the environment 100 of FIG. 1 .

[0084] In block 710, the terminal device 110 determines task processing requirements associated with a target application based on interaction information received from the user during interaction with the digital assistant. In block 720, the terminal device 110 generates prompt words for the model based at least on the interaction information using a first plug-in, where the first plug-in corresponds to at least one functional component in the target application. In some embodiments, the first plug-in is selected by the user during interaction with the digital assistant. In some embodiments, the first plug-in includes an application programming interface (API) for at least one functional component in the target application.

[0085] In some embodiments, the prompt word includes at least one of the following: description information related to at least one functional component in the target application, task description information related to task processing requirements, and at least one example.

[0086] At block 730, terminal device 110 provides the prompt word to the model to obtain a model output. The model output includes at least parameters required to call a first functional component of the at least one functional component to implement the task processing requirement. 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 at least a code template corresponding to 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 filling the parameters into the code template corresponding to the first functional component.

[0087] In block 740 , the terminal device 110 utilizes the first plug-in to call the first functional component in the target application based on the parameters to generate at least a partial processing result of the task processing requirement.

[0088] In some embodiments, process 700 further includes: obtaining at least a portion of the processing result from the target application; and determining a reply to the interaction information based on at least a portion of the processing result to present to the user.

[0089] In some embodiments, the target application includes a project management application. In some embodiments, the first plug-in corresponds to at least one of a search component and a filter component in the project management application.

[0090] In some embodiments, the parameters required when calling the search component to implement the task processing requirement include at least one of the following: view type, view name, and search keyword. In some embodiments, the parameters required when calling the filter component to implement the task processing requirement include at least one of the following: view type, view name, and at least one filter condition.

[0091] 8 shows a schematic structural block diagram of an apparatus 800 for task processing according to some embodiments of the present disclosure. Apparatus 800 may be implemented as or included in terminal device 110. Each module / component in apparatus 800 may be implemented by hardware, software, firmware, or any combination thereof.

[0092] The apparatus 800 includes a requirement determination module 810 configured to determine, during interaction between the user and the digital assistant, a task processing requirement associated with a target application from interaction information from the user; and a prompt word generation module 820 configured to generate prompt words for a model based on at least the interaction information using a first plug-in, the first plug-in corresponding to at least one functional component in the target application. The apparatus 800 also includes a model calling module 830 configured to obtain a model output by providing prompt words to the model, the model output including at least parameters required to implement the task processing requirement when calling a first functional component in at least one functional component; and a functional component calling module 840 configured to call the first functional component in the target application based on the parameters using the first plug-in to generate at least a partial processing result of the task processing requirement.

[0093] In some embodiments, the first plug-in is selected by the user during the user's interaction with the digital assistant.

[0094] In some embodiments, the device 800 also includes: a result acquisition module configured to obtain at least part of the processing results from the target application; and a reply determination module configured to determine a reply to the interactive information based on at least part of the processing results to present to the user.

[0095] In some embodiments, the prompt word includes at least one of the following: description information related to at least one functional component in the target application, task description information related to task processing requirements, and at least one example.

[0096] 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 at least a code template corresponding to the first functional component. In some embodiments, the model output includes parameters, and the apparatus 800 further includes a template filling module configured to generate the executable code snippet for the first functional component by filling the parameters into the code template corresponding to the first functional component.

[0097] In some embodiments, the first plug-in includes an application programming interface (API) to at least one functional component in the target application.

[0098] In some embodiments, the target application includes a project management application. In some embodiments, the first plug-in corresponds to at least one of a search component and a filter component in the project management application.

[0099] In some embodiments, the parameters required when calling the search component to implement the task processing requirement include at least one of the following: view type, view name, and search keyword. In some embodiments, the parameters required when calling the filter component to implement the task processing requirement include at least one of the following: view type, view name, and at least one filter condition.

[0100] It should be understood that one or more steps in the above method can be performed by an appropriate electronic device or combination of electronic devices. Such electronic device or combination of electronic devices may include, for example, the server 130, the terminal device 110, and / or the combination of the server 130 and the terminal device 110 in FIG. 1 .

[0101] FIG9 shows a block diagram of an electronic device 900 suitable for implementing embodiments of the present disclosure. It should be understood that the electronic device 900 shown in FIG9 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 900 shown in FIG9 can be used to implement the terminal device 110 of FIG1 or the apparatus 800 shown in FIG8 .

[0102] As shown in FIG9 , electronic device 900 is a general-purpose electronic device. Components of electronic device 900 may include, but are not limited to, one or more processors or processing units 910, memory 920, storage device 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960. Processing unit 910 may be a real or virtual processor and is capable of performing various processes according to programs stored in memory 920. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing capabilities of electronic device 900.

[0103] The electronic device 900 typically includes a plurality of computer storage media. Such media can be any available media accessible to the electronic device 900, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 920 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory) or some combination thereof. The storage device 930 can be a removable or non-removable medium and can include a machine-readable medium, such as a flash drive, a disk or any other medium, which can be used to store information and / or data and can be accessed within the electronic device 900.

[0104] The electronic device 900 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 9 , a disk drive for reading or writing from a removable, non-volatile disk (e.g., a “floppy disk”) and an optical drive for reading or writing from a removable, non-volatile optical disk may 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 include a computer program product 925 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.

[0105] 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 as a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the electronic device 900 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.

[0106] 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, a speaker, or a printer. The electronic device 900 may also communicate with one or more external devices (not shown) through the communication unit 940 as needed, such as a storage device, a display device, or the like, with one or more devices that allow a user to interact with the electronic device 900, or with any device that allows the electronic device 900 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).

[0107] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.

[0108] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0109] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0110] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0111] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple implementations of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part for a module, program segment or instruction, and a part for a module, program segment or instruction comprises one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.

[0112] While various implementations of the present disclosure have been described above, the foregoing description is intended to be illustrative, not exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is selected to best explain the principles of the implementations, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for task processing, comprising: In an interaction between a user and a digital assistant, determining a task processing requirement associated with a target application from interaction information from the user; Generate a prompt word for a model based at least on the interaction information using a first plug-in, the first plug-in corresponding to at least one functional component in the target application; Obtaining a model output by providing the prompt word to the model, wherein the model output at least includes parameters required when calling a first functional component in the at least one functional component to implement the task processing requirement; as well as The first plug-in is used to call the first functional component in the target application based on the parameters to generate at least a partial processing result of the task processing requirement.

2. The method according to claim 1, wherein the first plug-in is selected by the user during the interaction between the user and the digital assistant.

3. The method according to claim 1, further comprising: Obtaining at least part of the processing result from the target application; as well as A reply to the interaction information is determined based on at least part of the processing result to present to the user.

4. The method according to claim 1, wherein the prompt word comprises at least one of the following: descriptive information related to the at least one functional component in the target application, Task description information related to the task processing requirements, At least one example.

5. The method according to claim 1, wherein the model output comprises an executable code snippet for the first functional component, the executable code snippet comprises the parameter, and the executable code snippet is generated based on at least a code template corresponding to the first functional component; or wherein the model output includes the parameters, and the method further comprises: The executable code snippet for the first functional component is generated by filling the parameter into the code template corresponding to the first functional component. The method according to claim 1 , wherein the first plug-in comprises an application programming interface (API) for the at least one functional component in the target application.

7. The method according to claim 1, wherein the target application comprises a project management application, and / or The first plug-in corresponds to at least one of a search component and a filter component in the project management application.

8. The method according to claim 7, wherein the parameters required when calling the search component to implement the task processing requirement include at least one of the following: view type, view name and search keyword, and / or The parameters required when calling the screening component to implement the task processing requirement include at least one of the following: view type, view name and at least one screening condition.

9. A device for task processing, comprising: a requirement determination module configured to determine, in an interaction between a user and a digital assistant, a task processing requirement associated with a target application from interaction information from the user; A prompt word generation module is configured to generate prompt words for the model based on at least the interaction information using a first plug-in, wherein the first plug-in corresponds to at least one functional component in the target application; A model calling module is configured to obtain a model output by providing the prompt word to the model, wherein the model output at least includes parameters required when calling a first functional component in the at least one functional component to realize the task processing requirement; as well as The function component calling module is configured to use the first plug-in to call the first function component in the target application based on the parameters to generate at least a partial processing result of the task processing requirement.

10. An electronic device, comprising: at least one processing unit; as well as At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the electronic device to perform the method according to any one of claims 1 to 9 when executed by the at least one processing unit.

11. A computer-readable storage medium having a computer program stored thereon, wherein the computer program can be executed by a processor to implement the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Data analysis system and method, client and storage medium

    CN113094419A

  • Human-computer interaction method, device and system

    CN116483980A

  • Knowledge question and answer method, device and equipment and storage medium

    CN116561278A

  • Session data processing method and device, equipment and storage medium

    CN116644145A

  • Automated intelligent content generation

    US20220229832A1

Cited By

  • Data processing method and device for project management, equipment and storage medium

    CN120744094A