Method and apparatus for processing task, and device and storage medium
By introducing task determination, usability judgment and feedback modules into the digital assistant, the problem that digital assistants are difficult to efficiently utilize terminal equipment applications is solved, and task execution efficiency and user interaction experience are improved.
Patent Information
- Application Number
- PCT/CN2024/124034
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-31
- Filing Date
- 2024-10-10
- Publication Date
- 2025-05-08
AI Technical Summary
Existing digital assistants are difficult to efficiently utilize applications on terminal devices when processing tasks indicated by users, resulting in inefficient assistance.
By introducing a task determination module, availability determination module and feedback determination module in the digital assistant, the association of the target task and the target application are determined and its usability is judged, and feedback information is provided to guide the task execution.
It improves the efficiency of digital assistants to perform tasks on terminal devices, provides a better user interaction experience, and enhances the ability to assist users.
Smart Images

Figure CN2024124034_08052025_PF_FP_ABST
Abstract
Description
Method, apparatus, device and storage medium for processing tasks
[0001] This application claims priority to the Chinese invention patent application entitled “Method, apparatus, device and storage medium for processing tasks” and application number 2023114379667, filed on October 31, 2023, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] Example embodiments of the present disclosure relate generally to the field of computers, and more particularly, to methods, apparatuses, devices, and computer-readable storage media for processing tasks. Background Art
[0003] Digital assistants are provided to assist users with various task processing needs in different applications and scenarios. Digital assistants usually have intelligent dialogue and task processing capabilities. In the process of interaction with the digital assistant, the user inputs interactive messages, and the digital assistant responds to the user input to provide reply messages and / or process the tasks indicated by the user. Generally, digital assistants can support users to input questions in natural language, and perform tasks and provide replies based on the understanding of natural language input and logical reasoning ability. Such an interactive method has become a tool that people love and rely on because of its flexible and convenient characteristics. In the interaction between users and digital assistants, it is expected that there will be more improved solutions to handle the tasks indicated by users.
[0004] Summary of the Invention
[0005] In a first aspect of the present disclosure, a method for processing a task is provided. In the method, based on a user's interaction with a digital assistant, a target task to be performed at a target device is determined. The digital assistant runs on the target device. In response to determining that the target task is associated with a target application on the target device, the availability of the target application is determined. The availability indicates whether the digital assistant is allowed to use the target application to perform the target task. Further, based on the availability, feedback information about the target task is determined.
[0006] In a second aspect of the present disclosure, a device for processing a task is provided. The device includes a task determination module, an availability determination module, and a feedback determination module. The task determination module is configured to determine a target task to be performed at a target device based on the interaction between the user and the digital assistant. The digital assistant runs on the target device. The availability determination module is configured to determine the availability of the target application in response to determining that the target task is associated with a target application on the target device. The availability indicates whether the digital assistant is allowed to use the target application to perform the target task. The feedback determination module is configured to determine feedback information about the target task based on the availability.
[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 summary 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 of registering an application at a device with a digital assistant according to some embodiments of the present disclosure;
[0013] FIG3 is a schematic diagram illustrating an example of an entity correspondence relationship between a device and a digital assistant according to some embodiments of the present disclosure;
[0014] FIG4 shows an example process for processing tasks according to some embodiments of the present disclosure;
[0015] FIG5 shows a flowchart of a process for processing a task according to some embodiments of the present disclosure;
[0016] FIG6 shows a block diagram of an apparatus for processing tasks according to some embodiments of the present disclosure; and
[0017] FIG7 shows a block diagram of a device capable of implementing various embodiments of the present disclosure. DETAILED DESCRIPTION
[0018] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0019] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operations of the disclosed technical solution based on the prompt message.
[0020] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0021] It is understandable that the above notification and user authorization process are merely illustrative and do not limit 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.
[0022] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) must comply with the requirements of relevant laws, regulations and relevant provisions.
[0023] 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.
[0024] It should be noted that the titles of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and any type of embodiment may be included under any section / subsection. Furthermore, the embodiments described in any section / subsection may be combined in any manner with any other embodiments described in the same section / subsection and / or in different sections / subsections.
[0025] 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.
[0026] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "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. The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may be included below.
[0027] As used herein, the term "model" can learn the association between corresponding inputs and outputs from training data, so that after training is completed, corresponding outputs can be generated for given inputs. The generation of the model can be based on machine learning technology. Deep learning is a machine learning algorithm that processes inputs and provides corresponding outputs by using multiple layers of processing units. In this article, "model" may also be referred to as "machine learning model", "machine learning network" or "network", and these terms are used interchangeably in this article. A model can also include different types of processing units or networks.
[0028] Digital assistants can serve as tools for people to work, study, and live effectively. Generally, the development of digital assistants is similar to that of general applications, requiring developers with programming skills to define the assistant's capabilities by writing complex code and deploying the assistant on an appropriate platform so that users can download, install, and use it. With the diversification of application scenarios and the increasing availability of machine learning technology, digital assistants with different capabilities have become possible to support task processing in various niche areas or meet the personalized needs of different users.
[0029] 1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. The environment 100 includes an assistant creation platform 110 and an assistant application platform 130 .
[0030] As shown in Figure 1, the assistant creation platform 110 can provide a digital assistant creation and publishing environment for users 105. In some embodiments, the assistant creation platform 110 can be a low-code platform that provides a collection of tools for creating digital assistants. The assistant creation platform 110 can support the visual development of digital assistants, so that developers can skip the manual coding process and speed up the development cycle and cost of applications. The assistant creation platform 110 can support any appropriate platform for users to develop digital assistants and other types of applications, for example, it can include a platform based on Application Platform as a Service (aPaaS). Such a platform can support users to efficiently develop applications and realize operations such as application creation and application function adjustment.
[0031] The assistant creation platform 110 can be deployed locally on the terminal device of the user 105, and / or can be supported by a remote server. For example, the terminal device of the user 105 can run a client of the assistant creation platform 110, which can support the interaction between the user and the assistant creation platform 110. In the case where the assistant creation platform 110 runs locally on the user's terminal device, the user 105 can directly use the client to interact with the local assistant creation platform 110. In the case where the assistant creation platform 110 runs on a server-side device, the server-side device can realize the supply of services to the client running in the terminal device based on the communication connection between the server and the terminal device. The assistant creation platform 110 can present a corresponding page 122 to the user 105 based on the operation of the user 105 to output and / or receive information to the user 105 and / or receive information from the user 105.
[0032] In some embodiments, the assistant creation platform 110 can be associated with a corresponding database, which stores the data or information required for the digital assistant creation process supported by the assistant creation platform 110. For example, the database can store the code and description information corresponding to the various functional modules that make up the digital assistant. The assistant creation platform 110 can also perform operations such as calling, adding, deleting, and updating on the functional modules in the database. The database can also store operations that can be performed on different functional blocks. Exemplarily, in a scenario where a digital assistant is to be created, the assistant creation platform 110 can call the corresponding functional blocks from the database to build a digital assistant.
[0033] In an embodiment of the present disclosure, a user 105 can create a digital assistant 120 as needed on an assistant creation platform 110 and publish the digital assistant 120. The digital assistant 120 can be published to any appropriate assistant application platform 130, as long as the assistant application platform 130 can support the operation of the digital assistant 120. After publishing, the digital assistant 120 can be used for dialogue interaction with the user 135. The client of the assistant application platform 130 can present an interactive window 132 of the digital assistant 120, such as a conversation window, in the client interface. As an intelligent assistant, the digital assistant 120 has intelligent dialogue and information processing capabilities. The user 135 can enter a conversation message in the conversation window, and the digital assistant 120 can determine the reply message based on the created configuration information and present it to the user in the interaction window 132. In some embodiments, depending on the configuration of the digital assistant 120, the interactive message with the digital assistant 120 may include messages in multimodal form, such as text messages (e.g., natural language text), voice messages, image messages, video messages, and the like.
[0034] In some embodiments, the digital assistant 120 can use a model to help perform interactions with the user. The digital assistant 120 can use the model to understand the user input and provide a reply to the user based on the output of the model. The model used by the digital assistant 120 can run locally on the assistant creation platform 110 and / or the assistant application platform 130 or on a remote server. In some embodiments, the model can be a machine learning model, a deep learning model, a learning model, a neural network, etc. In some embodiments, the model can be based on a language model (LM). The language model can have question-answering capabilities by learning from a large amount of corpus. The model can also be based on other appropriate models.
[0035] In this document, users 105 who create digital assistants are sometimes referred to as assistant creators, assistant developers, etc. Users 135 who interact with the created digital assistants are sometimes referred to as users, users, etc. of the digital assistants.
[0036] The assistant creation platform 110 and / or the assistant application platform 130 can run on appropriate electronic devices. The electronic devices here can be any type of device with computing capabilities, including terminal devices or server devices. The terminal device 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 positioning device, a television receiver, a radio broadcast receiver, an e-book device, a gaming device or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. The server device can, for example, include a computing system / server, such as a mainframe, an edge computing node, a computing device in a cloud environment, and the like. In some embodiments, the assistant creation platform 110 and / or the assistant application platform 130 can be implemented based on a cloud service.
[0037] The embodiments of the present disclosure involve the application stage after the digital assistant is created, and therefore can be implemented on an assistant application platform, such as a terminal device installed with an assistant application platform and / or a server corresponding to the assistant application platform. In the examples below, for the purpose of discussion, the description is from the perspective of the assistant application platform, such as the assistant application platform 130 shown in Figure 1. The page presented by the assistant application platform 130 can be presented via the terminal device of the user 135, and the user input can be received via the terminal device of the user 135.
[0038] It should be understood that the structure and functionality of the environment 100 are described for exemplary purposes only and do not imply any limitation on the scope of the present disclosure. For example, although FIG1 shows a single user interacting with the assistant creation platform 110 and a single user interacting with the assistant application platform 130, in reality, multiple users can access the assistant creation platform 110 to each create a digital assistant, and each digital assistant can be used to interact with multiple users.
[0039] Typically, during the interaction between a user and a digital assistant, the digital assistant can parse the user's input to determine the task indicated by the user. In some cases, processing such a task may require the use of an application installed on the terminal device used by the user. However, such a digital assistant may not be native to the terminal device. Therefore, it is necessary to enable the digital assistant to use such applications reasonably and efficiently.
[0040] According to an embodiment of the present disclosure, an improved scheme for digital assistant interaction is provided. According to the scheme, a digital assistant running on a target device interacts with a user. During the interaction process, a target task to be performed at the target device is determined. If the target task is associated with a target application on the target device, the availability of the target application is determined, and the availability indicates whether the digital assistant is allowed to use the target application to perform the target task. Based on the determined availability, feedback information about the target task is determined. For example, the digital assistant presents prompt information to the user or the digital assistant performs the target task according to the guidance information.
[0041] As a result, during the user's interaction with the digital assistant, local applications on the terminal device can be appropriately called to complete the tasks instructed by the user. From the user's perspective, the digital assistant can fully utilize local applications to provide various appropriate assistance, thereby achieving a good interactive experience. This improves the efficiency of the digital assistant's assistance to the user.
[0042] Some example embodiments of the present disclosure will be described in detail below with reference to examples in the accompanying drawings.
[0043] After being created, the digital assistant 120 can be installed and run on the terminal device of the user 135. In some embodiments, in order for the digital assistant 120 to know and properly use the application on the terminal device, the application on the terminal device can be registered with the digital assistant 120. In this document, registering an application with the digital assistant or registering an application with the digital assistant and similar expressions may refer to providing or exposing information associated with the application to the digital assistant and authorizing the digital assistant to use at least part of the application.
[0044] An example of registering an application with the digital assistant 120 is described below with reference to FIG2 . As shown in FIG2 , the digital assistant 120 is deployed and runs on a device 210. An application 215 is installed in the device 210. In some embodiments, if a preset event is detected at the device 210, registration of the application 215 with the digital assistant may be triggered. Accordingly, registration information 220 of the application 210 may be stored in the application information library 250. The registration information 220 may include, but is not limited to, version information of the application 215, a description of its functionality, the scope of access allowed to the digital assistant 120, and the like.
[0045] Preset events may include, but are not limited to, installation and updating of application 215, first operation and updating of digital assistant 120 on device 210, restart of device 210, etc. For example, digital assistant 120 may obtain registration information 220 of application 215 and store the registration information 220 in application information library 250.
[0046] The digital assistant 120 obtains and stores the registration information 220 with the permission and authorization of the user 136. For example, the digital assistant 120 may present a query to the user 135 in any suitable form, requesting the user 135 to confirm whether to register the application 215 with the digital assistant 120 and the scope of access permitted to the digital assistant 120, etc. Only after receiving a positive response from the user 135 does the digital assistant 120 obtain the registration information 220 and store it in the application information library 250.
[0047] In some embodiments, applications registered with the digital assistant 120 may be included in the candidate application set as candidate applications. The application information library 250 may be maintained by the server and / or client of the assistant application platform 130 and may be used to store information about each candidate application in the candidate application set. For example, the application 215 on the device 210 may be registered as a client application suitable for invocation by the digital assistant 120.
[0048] In some embodiments, in addition to client applications, the candidate application set may also include other types of applications suitable for invocation by the digital assistant, such as, but not limited to, platform applications provided by the assistant application platform 130, third-party applications provided by a third party (e.g., an application developer), etc. The embodiments of the present disclosure are not limited in this respect. Accordingly, as shown in FIG2 , the application information library 250 may store information about platform applications and third-party applications.
[0049] In some embodiments, the application 215 may include multiple functions (also referred to as application functions), all or part of which functions may be registered with the digital assistant 120. The digital assistant 120 may ask the user 135 (for example, in a natural language interactive manner) which or which functions to register with the digital assistant. Exemplarily, a content sharing application may include a playback function for media content and a publishing function for media content. The user 135 may choose to register the playback function with the digital assistant 120 without registering the publishing function. In this embodiment, the registration information 220 may include information about one or more functions to be registered with the digital assistant 120, such as a calling interface, etc.
[0050] The registered applications can be called by the digital assistant 120 in any suitable manner. As an example and not intended to be limiting, the registered applications can be implemented as or correspond to plug-ins suitable for being called by the digital assistant 120. For example, the application developer can define the functional descriptions that can be exposed to the digital assistant 120 in the form of plug-ins on the server side of the assistant application platform 130. Accordingly, the digital assistant 120 can report the available functions to the server side.
[0051] Just to more clearly understand the embodiments of the present disclosure, the correspondence between multiple entities is described with reference to Figure 3. As shown in Figure 3, L digital assistants 120 can be allowed at one device 210, where L is a positive integer. At the same time, N applications 215 can be installed or authorized for the digital assistant 120 to use at one device 210, where N is a positive integer. An application 215 can have M application functions 320, where M is a positive integer. For the digital assistant 120, one application 215 corresponds to one plug-in 315, and one application function 329 corresponds to one callable plug-in interface 360. It should be understood that the entity correspondence described above with reference to Figure 3 is merely exemplary and is not intended to be limiting.
[0052] Figure 4 shows an example process 400 for processing tasks according to some embodiments of the present disclosure. For ease of discussion, process 400 will be described with reference to the environment of Figure 1. Process 400 relates to the application stage of the digital assistant 120 after creation, and therefore can be implemented on the assistant application platform 130. It should be understood that the operations described below with respect to the assistant application platform 130 and / or the digital assistant 120 can specifically be performed by the terminal device and / or server running the assistant application platform 130 and / or the digital assistant 120, or can be understood as being performed with the help of the application corresponding to the application assistant platform 130 and / or the digital assistant 120.
[0053] In an embodiment of the present disclosure, the assistant application platform 130 can determine a target task to be performed at a target device based on the interaction between the user 135 and the digital assistant 120. The digital assistant 120 runs on the target device. The interaction between the user 135 and the digital assistant 120 can be performed in natural language, or at least include natural language. In some embodiments, the target device can be the device on which the current interaction between the user 135 and the digital assistant 120 occurs. In some embodiments, the target device can be another device that runs the digital assistant 120 and is associated with the user 135. For example, the digital assistant 120 can be running on multiple terminal devices of the user 135, and the user 135 can interact with the digital assistant 120 through one of the terminal devices to instruct the digital assistant 120 to perform a task on another terminal device.
[0054] In some embodiments, digital assistant 120 can utilize a machine learning model to determine a target task based on the interaction. For example, prompt words for the machine learning model can be generated based on one or more interaction messages from user 135 during the interaction. Accordingly, the machine learning model can generate a model output based on the prompt words. Digital assistant 120 can determine the target task based on the model output.
[0055] In some embodiments, a target task can be determined based on multiple interactions between user 135 and digital assistant 120. Based on a first user input from the user, the type of task to be performed can be determined. Based on the type, a reply from digital assistant 120 to the first user input is generated. The reply instructs user 135 to provide additional information about the task to be performed. Subsequently, a second user input can be received in response to the reply, and the target task can be determined based on the first and second user inputs.
[0056] As mentioned above, in some embodiments, a machine learning model can be used to determine the target task. For example, a first prompt word and a second prompt word can be generated based on the first user input and the second user input, respectively, and the combined first and second prompt words can be provided to the machine learning model. The target task can then be determined based on the model output of the machine learning model for the combined first and second prompt words.
[0057] An example process 400 is described with reference to FIG4 . The process 400 can be executed by the terminal device and / or server of the assistant application platform 130 and / or the digital assistant 120, and the execution entities of the actions or operations described below are only examples and are not intended to be limiting. As shown in FIG4 , in box 405, the digital assistant 120 can receive user input, for example, via a client. In box 410, the assistant application platform 130 can generate prompt words for the machine learning model based on the user input. The prompt words can be generated in any suitable manner, and the embodiments of the present disclosure are not limited in this respect. The prompt words are then provided to the machine learning model, which can run on the assistant application platform 130 or can be accessed by the assistant application platform 130 in any suitable manner.
[0058] At block 415, the assistant application platform 130 may obtain the model output of the machine learning model. Based on the model output, the type of task to be performed may be determined. For example, the user input may be "I want to send a short message to xx." Accordingly, the model output of the machine learning model may indicate that the type of task to be performed is sending a short message.
[0059] At block 420, a determination may be made as to whether the task to be performed is associated with an application, e.g., whether the execution of the task requires invoking an application. If the task to be performed is not associated with an application, process 400 proceeds to block 450. At block 450, a reply may be sent to user 135. For example, a message template may be determined for the reply, populated based on the user input received at block 405 and / or the output of the machine learning model, and presented to user 135, e.g., via a client.
[0060] If the task to be performed is associated with an application, the assistant application platform 130 can select an application suitable for performing the task from the set of candidate applications. In the example of Figure 4, the assistant application platform 130 can access the application information library 250 to inquire whether there is a suitable application. For example, determine whether there is an application suitable for performing this type of task. If there is a suitable application, process 400 continues. As mentioned above, in some cases, a single input from the user may not be able to fully indicate the target task. In this case, the digital assistant 120 can enable a chain process such as that shown in box 401 to make a decision.
[0061] For example, the assistant application platform 130 can generate a reply of the digital assistant to the last user input, which can instruct the user 135 to provide additional information about the task to be performed. Continuing with the above example, the reply message can instruct the user 135 to provide the specific content of the short message to be sent. The assistant application platform 130 can then receive additional user input. Based on the additional user input, additional prompt words can be determined. In box 425, the previous prompt words and the additional prompt words can be combined together. The combined prompt words can then be provided to the machine learning model 430. In box 430, the model output of the machine learning model 430 can be obtained, and the target task is determined based on the model output.
[0062] Continuing with the above example, the additional user input may include a short message with the content “meeting time has been determined.” Accordingly, based on the previous user input and the additional user input, the target task may be determined as “sending a short message with the content “meeting time has been determined” to xx.”
[0063] Process 400 continues with block 435 where the assistant application platform 130 may determine whether to invoke one or more applications. If it is determined not to invoke an application, process 400 proceeds to block 450. At block 450, a reply may be sent to the user 135. For example, a message template may be determined for the reply, populated based on multiple rounds of user input and / or output of a machine learning model, and presented to the user 135, for example, via a client.
[0064] If it is determined that an application should be called, process 400 proceeds to block 440. At block 440, an application call decision can be made. Specifically, a determination can be made as to whether the target task to be performed requires the invocation of an application on the target device, also referred to as a target application. If it is determined that the target application should be called, the availability of the target application can be determined, i.e., whether the digital assistant 120 is permitted to utilize the target application to perform the target task.
[0065] In some embodiments, it can be determined whether the target device has registered the target application with the digital assistant 120. If the target device has registered the target application with the digital assistant 120, the availability can be determined based on the registration information of the target application. For example, if the registration information of the target application can be queried in the application information library 250, it can be determined that the target application has been registered with the digital assistant 120. Further, the availability can be determined based on the registration information. In some embodiments, the availability can be application-dimensional. That is, as long as the registration information of the target application can be queried, it can be determined that the digital assistant 120 is allowed to use the target application to perform the target task.
[0066] In some embodiments, availability may be based on application functionality. As mentioned above, if the target application includes multiple application functions, some of these functions may be registered with the digital assistant while others may not be registered with the digital assistant 120. In such embodiments, availability may be further determined based on the functions required to perform the target task.
[0067] Exemplarily, the target function for performing the target task can be determined from multiple functions of the target application. If the registration information of the target application indicates that the target function is registered, it can be determined that the digital assistant 120 is allowed to use the target application to perform the target task. If the registration information of the target application indicates that the target function is not registered, it is determined that the digital assistant is not allowed to use the target application to perform the target task. Continuing with the above example, the message application on the target device may include a short message viewing function and a short message sending function. For the target task of "sending a short message with the content 'The meeting time has been determined' to xx", if the viewing function is registered to the digital assistant 120 and the sending function is not registered, then it can be determined that the target application is unavailable. That is, the digital assistant 120 is not allowed to use the target application to perform the target task. If the sending function is registered to the digital assistant 120, then it can be determined that the target application is available, that is, the digital assistant 120 is allowed to use the target application to perform the target task.
[0068] Continuing with process 400, if it is determined that the digital assistant 120 is unavailable, the assistant application platform 130 may generate a prompt message instructing the user to enable the target application for the digital assistant 120. Then, at block 445, the prompt message may be presented via the client. For example, a prompt message "Please enable the short message sending function for the digital assistant" may be presented in the conversation window with the user.
[0069] If it is determined that the digital assistant 120 is available, the assistant application platform 130 can determine the guidance information for performing the target task. The guidance information may include, for example, various configurations required to perform the target task, such as the identifier of the application (or its function) to be called, and the parameters to be filled in the application interface. Continuing with the above example, the guidance information may include the identifier of the short message sending function, the parameters of the object xx to be sent, the content to be sent, and the like. Then, in box 450, the digital assistant 120 may perform the target task according to the guidance information.
[0070] Through such multiple rounds of interaction, the task indicated by the user can be accurately located to help the user complete the task, thereby improving the efficiency of assisting the user.
[0071] In order to more clearly understand the embodiments of the present disclosure, an example scenario is described below, but it should be understood that this is merely illustrative and not intended to be limiting. A content sharing application is installed on the terminal device used by user 135, which includes a function for playing media content and a function for publishing media content. When the content sharing application is installed or started for the first time, the digital assistant 120 prompts the user 135 whether to register the content classification application to the digital assistant 120. The user 135 chooses to register the playback function but not the publishing function. In one example, in the subsequent use of the digital assistant 120, through multiple rounds of interaction with the user 135, the assistant application platform 130 determines that the target task is to play video A. Since the playback function of media content is registered with the digital assistant 120, it can be determined that the content sharing application is available. Accordingly, guidance information can be generated to play video A from the terminal device of user 135.
[0072] In another example, during subsequent use of digital assistant 120, through multiple rounds of interaction with user 135, assistant application platform 130 determines that the target task is to publish video B stored locally on the terminal device via a content sharing application. Because the media content publishing function is not registered with digital assistant 120, it can be determined that the content sharing application is unavailable. Accordingly, a prompt message can be generated and displayed to user 135 via the terminal device. For example, the prompt message can prompt user 135 to enable the publishing function for the digital assistant.
[0073] Example Process
[0074] FIG5 shows a flowchart of a process 500 for processing a task according to some embodiments of the present disclosure. Process 500 may be implemented at the assistant application platform 130, for example, by a terminal device and / or server of the assistant application platform 130 and / or the digital assistant 120. Process 500 is described below with reference to FIG1.
[0075] At block 502, a target task to be performed at a target device is determined based on a user's interaction with a digital assistant. The digital assistant runs on the target device.
[0076] In response to determining that the target task is associated with a target application on the target device, the availability of the target application is determined at block 504. The availability indicates whether the digital assistant is allowed to utilize the target application to perform the target task.
[0077] At block 506 , feedback information regarding the target task is determined based on the availability.
[0078] In some embodiments, determining a target task to be performed at a target device includes: determining a type of task to be performed based on a first user input from a user; generating a reply from the digital assistant to the first user input based on the type, the reply instructing the user to provide additional information about the task to be performed; receiving a second user input for the reply; and determining the target task based on the first user input and the second user input.
[0079] In some embodiments, determining the target task based on the first user input and the second user input includes: generating a first prompt word and a second prompt word based on the first user input and the second user input, respectively; providing the combined first prompt word and second prompt word to a machine learning model; and determining the target task based on the model output of the machine learning model for the first prompt word and the second prompt word.
[0080] In some embodiments, determining the availability of the target application includes: determining whether the target device has registered the target application with the digital assistant; and in response to determining that the target device has registered the target application with the digital assistant, determining the availability based on the registration information of the target application.
[0081] In some embodiments, the target application includes multiple functions. The registration information indicates which functions are registered with the digital assistant among the multiple functions. Determining availability based on the registration information of the target application includes: determining a target function for performing a target task from the multiple functions; in response to the registration information indicating that the target function is registered, determining that the digital assistant is allowed to use the target application to perform the target task; or in response to the registration information indicating that the target function is not registered, determining that the digital assistant is not allowed to use the target application to perform the target task.
[0082] In some embodiments, method 500 further includes: triggering registration of the target application with the digital assistant in response to a preset event at the target device.
[0083] In some embodiments, determining feedback information about the target task includes: in response to determining that the digital assistant is not allowed to use the target application to perform the target task, generating prompt information instructing the user to enable the target application for the digital assistant.
[0084] In some embodiments, determining feedback information about the target task includes: in response to determining that the digital assistant is allowed to utilize the target application to perform the target task, determining guidance information for performing the target task based on the interaction.
[0085] In some embodiments, the target application is selected from a set of candidate applications.
[0086] Example devices and equipment
[0087] 6 shows a schematic structural block diagram of an apparatus 600 for processing tasks according to certain embodiments of the present disclosure. The apparatus 600 may be implemented as or included in the assistant application platform 130. Each module / component in the apparatus 600 may be implemented by hardware, software, firmware, or any combination thereof.
[0088] As shown in the figure, the device 600 includes a task determination module 610, an availability determination module 620, and a feedback determination module 630. The task determination module 610 is configured to determine a target task to be performed at a target device based on the user's interaction with the digital assistant. The digital assistant runs on the target device. The availability determination module 620 is configured to determine the availability of the target application in response to determining that the target task is associated with a target application on the target device. The availability indicates whether the digital assistant is allowed to use the target application to perform the target task. The feedback determination module 630 is configured to determine feedback information about the target task based on the availability.
[0089] In some embodiments, the task determination module 610 includes a type determination module, a generation module, a receiving module, and a first target task determination module. The type determination module is configured to determine the type of task to be performed based on a first user input from a user. The generation module is configured to generate a reply of the digital assistant to the first user input based on the type. The reply instructs the user to provide additional information about the task to be performed. The receiving module is configured to receive a second user input for the reply. The first target task determination module is configured to determine the target task based on the first user input and the second user input.
[0090] In some embodiments, the first target task determination module includes a prompt word generation module, a provision module, and a second target task determination module. The prompt word generation module is configured to generate a first prompt word and a second prompt word based on a first user input and a second user input, respectively. The provision module is configured to provide the combined first prompt word and second prompt word to a machine learning model. The second target task determination module is configured to determine the target task based on a model output of the machine learning model for the first prompt word and the second prompt word.
[0091] In some embodiments, the availability determination module 620 includes a target application determination module and an application availability determination module. The target application determination module is configured to determine whether the target device has registered the target application with the digital assistant. The application availability determination module is configured to determine the availability of the target application based on the registration information of the target application in response to determining that the target device has registered the target application with the digital assistant.
[0092] In some embodiments, the target application includes multiple functions, and the registration information indicates the functions among the multiple functions that are registered to the digital assistant. The application availability determination module includes a target function determination module, a first determination module, and a second determination module. The target function determination module is configured to: determine the target function for performing the target task from the multiple functions. The first determination module is configured to: in response to the registration information indicating that the target function is registered, determine that the digital assistant is allowed to use the target application to perform the target task. The second determination module is configured to: in response to the registration information indicating that the target function is not registered, determine that the digital assistant is not allowed to use the target application to perform the target task.
[0093] In some embodiments, the apparatus 600 further includes a trigger module configured to trigger registration of a target application with the digital assistant in response to a preset event at the target device.
[0094] In some embodiments, the feedback determination module 630 includes a prompt generation module configured to: in response to determining that the digital assistant is not allowed to use the target application to perform the target task, generate a prompt message instructing the user to enable the target application for the digital assistant.
[0095] In some embodiments, the feedback determination module 630 includes a guidance information determination module configured to: in response to determining that the digital assistant is allowed to utilize the target application to perform the target task, determine guidance information for performing the target task based on the interaction.
[0096] In some embodiments, the target application is selected from a set of candidate applications.
[0097] FIG7 shows a block diagram of an electronic device 700 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 700 shown in FIG7 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 700 shown in FIG7 can be used to implement the assistant creation platform 110 and / or the assistant application platform 130 of FIG1 , and / or the apparatus 600 of FIG6 .
[0098] As shown in FIG7 , electronic device 700 is a general-purpose electronic device. Components of electronic device 700 may include, but are not limited to, one or more processors or processing units 710, memory 720, storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. Processing unit 710 may be a real or virtual processor and is capable of performing various processes according to programs stored in memory 720. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing capabilities of electronic device 700.
[0099] The electronic device 700 typically includes a plurality of computer storage media. Such media can be any accessible media that can be obtained by the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 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 730 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 that can be used to store information and / or data and can be accessed within the electronic device 700.
[0100] The electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 7 , a disk drive for reading from or writing to a removable, non-volatile disk (e.g., a “floppy disk”) and an optical drive for reading from or writing to 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 720 may include a computer program product 725 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.
[0101] The communication unit 740 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 700 can be implemented as a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the electronic device 700 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.
[0102] Input device 750 may be one or more input devices, such as a mouse, keyboard, or trackball. Output device 760 may be one or more output devices, such as a display, a speaker, or a printer. Electronic device 700 may also communicate with one or more external devices (not shown) via communication unit 740 as needed, such as storage devices, display devices, or the like, with one or more devices that allow a user to interact with electronic device 700, or with any device that allows electronic device 700 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).
[0103] 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.
[0104] 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.
[0105] 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.
[0106] 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.
[0107] 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.
[0108] 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 processing a task, comprising: determining a target task to be performed at a target device based on an interaction between the user and the digital assistant, the digital assistant running on the target device; In response to determining that the target task is associated with a target application on the target device, determining an availability of the target application, the availability indicating whether the digital assistant is allowed to utilize the target application to perform the target task; as well as Based on the availability, feedback information about the target task is determined.
2. The method of claim 1, wherein determining a target task to be performed at a target device comprises: determining a type of task to be performed based on a first user input from the user; generating, based on the type, a response from the digital assistant to the first user input, the response instructing the user to provide additional information about the task to be performed; receiving a second user input in response to the response; as well as The target task is determined based on the first user input and the second user input.
3. The method according to claim 2, wherein determining the target task based on the first user input and the second user input comprises: Generate a first prompt word and a second prompt word based on the first user input and the second user input respectively; providing the combined first cue word and the second cue word to a machine learning model; as well as The target task is determined based on a model output of the machine learning model for the first prompt word and the second prompt word.
4. The method according to claim 1, wherein determining the availability of the target application comprises: determining whether the target device registers the target application with the digital assistant; as well as In response to determining that the target device has registered the target application with the digital assistant, the availability is determined based on registration information of the target application.
5. The method of claim 4, wherein the target application includes a plurality of functions, the registration information indicates a function among the plurality of functions that is registered to the digital assistant, and determining the availability based on the registration information of the target application comprises: determining a target function for performing the target task from among the plurality of functions; In response to the registration information indicating that the target function is registered, determining that the digital assistant is allowed to perform the target task using the target application; or In response to the registration information indicating that the target function is not registered, it is determined that the digital assistant is not allowed to perform the target task using the target application.
6. The method according to claim 4, further comprising: In response to a preset event at the target device, registration of the target application with the digital assistant is triggered.
7. The method according to claim 1, wherein determining feedback information about the target task comprises: In response to determining that the digital assistant is not allowed to utilize the target application to perform the target task, a prompt message is generated, the prompt message instructing the user to enable the target application for the digital assistant.
8. The method according to claim 1, wherein determining feedback information about the target task comprises: In response to determining that the digital assistant is allowed to utilize the target application to perform the target task, guidance information for performing the target task is determined based on the interaction.
9. The method of claim 1, wherein the target application is selected from a set of candidate applications.
10. An apparatus for processing a task, comprising: a task determination module configured to determine a target task to be performed at a target device, the digital assistant running on the target device, based on the user's interaction with the digital assistant; an availability determination module configured to, in response to determining that the target task is associated with a target application on the target device, determine the availability of the target application, the availability indicating whether the digital assistant is allowed to utilize the target application to perform the target task; as well as The feedback determination module is configured to determine feedback information about the target task based on the availability.
11. 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.
12. 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
Headless task completion within digital personal assistants
CN107111516A
Intelligent calling method and device for voice assistant
CN112291428A
Application integration with digital assistant
CN114968027A
Vehicle intelligent voice interaction method, device and equipment and storage medium
CN115798470A
Automatic generation of tasks and retraining machine learning modules to generate tasks based on feedback for the generated tasks
US20210081878A1