Task processing method and device, equipment and storage medium
By introducing task determination, availability determination and feedback determination modules into the digital assistant, the problem that digital assistants are difficult to efficiently utilize terminal equipment applications is solved, and assistance efficiency and user experience are improved.
Patent Information
- Application Number
- CN202311437966.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2025-05-06
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 task determination modules, availability determination modules and feedback determination modules into the digital assistant, the correlation between target tasks and target applications is determined, and feedback information is provided based on availability, ensuring that the digital assistant can reasonably use applications on the terminal device.
It improves the assistance efficiency of digital assistants when processing user tasks, ensuring that users can obtain better interactive experience and task completion capabilities.
Smart Images

Figure CN119937845A_ABST
Abstract
Description
Technical Field
[0001] 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 processing tasks. Background Art
[0002] 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 an interactive message, and the digital assistant responds to the user input to provide a reply message and / or process the task indicated by the user. Generally, a digital assistant 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. Summary of the invention
[0003] In a first aspect of the present disclosure, a method for processing a task is provided. In the method, a target task to be performed at a target device is determined based on an interaction between a user and a digital assistant. 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.
[0004] In a second aspect of the present disclosure, a device for processing tasks 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 availability.
[0005] 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, the at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit. When the instructions are executed by the at least one processing unit, the device executes the method of the first aspect.
[0006] 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.
[0007] It should be understood that the contents described in this content section are not intended to limit the key features or important features of the embodiments of the present disclosure, nor are they 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
[0008] 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:
[0009] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented;
[0010] Figure 2 A schematic diagram showing an example of registering an application at a device with a digital assistant according to some embodiments of the present disclosure;
[0011] Figure 3 A schematic diagram showing an example of an entity correspondence relationship between a device and a digital assistant according to some embodiments of the present disclosure;
[0012] Figure 4 An example process for processing tasks according to some embodiments of the present disclosure is shown;
[0013] Figure 5 A flowchart showing a process for processing a task according to some embodiments of the present disclosure is shown;
[0014] Figure 6 A block diagram showing an apparatus for processing a task according to some embodiments of the present disclosure; and
[0015] Figure 7 A block diagram of a device capable of implementing various embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0016] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present 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.
[0017] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0018] As an optional but non-limiting implementation, in response to receiving an active request from the user, 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. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0019] 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 meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0020] 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) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0021] Embodiments of the present disclosure will be described in more detail below 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 being limited to the embodiments set forth herein. On the contrary, 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 only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0022] It should be noted that the titles of any sections / subsections provided herein are not restrictive. Various embodiments are described throughout this article, and any type of embodiment may be included under any section / subsection. In addition, 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 different sections / subsections.
[0023] Herein, unless explicitly stated, executing a step “in response to A” does not mean executing the step immediately after “A” but may include one or more intermediate steps.
[0024] 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.
[0025] As used herein, the term "model" can learn the association between the corresponding input and output from the training data, so that after the training is completed, the corresponding output can be generated for a given input. 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", which are used interchangeably in this article. A model may also include different types of processing units or networks.
[0026] Digital assistants can be used as tools for people to work, study, and live effectively. Generally, the development of digital assistants is similar to the development of general applications. Developers with programming skills need to define the various capabilities of digital assistants by writing complex codes and deploying digital assistants on appropriate operating platforms so that users can download, install, and use digital assistants. With the diversification of application scenarios and the increasing availability of machine learning technology, digital assistants with different capabilities have been developed to support task processing in various segments or to meet the personalized needs of different users.
[0027] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown. The environment 100 involves an assistant creation platform 110 and an assistant application platform 130.
[0028] like Figure 1 As shown, the assistant creation platform 110 can provide a digital assistant creation and publishing environment for the user 105. In some embodiments, the assistant creation platform 110 can be a low-code platform that provides a collection of tools for digital assistant creation. 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 may 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.
[0029] 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, based on the communication connection with the terminal device, realize the supply of services to the client running in 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, so as to output and / or receive information to the user 105.
[0030] 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 each functional module that constitutes the digital assistant. The assistant creation platform 110 can also perform operations such as calling, adding, deleting, and updating 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.
[0031] 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 interactive window 132. In some embodiments, depending on the configuration of the digital assistant 120, the interactive message with the digital assistant 120 may include a message in a multimodal form, such as a text message (e.g., natural language text), a voice message, an image message, a video message, and the like.
[0032] 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-and-answer capabilities by learning from a large amount of corpus. The model can also be based on other appropriate models.
[0033] In this article, the user 105 who creates the digital assistant is sometimes also referred to as the assistant creator, assistant developer, etc. The user 135 who interacts with the created digital assistant is sometimes also referred to as the user, user, etc. of the digital assistant.
[0034] The assistant creation platform 110 and / or the assistant application platform 130 can run on appropriate electronic devices. The electronic device here can be any type of device with computing power, including terminal devices or server devices. The terminal device can be any type of mobile terminal, fixed terminal or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication systems (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio broadcast receivers, e-book devices, gaming devices, or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. The server device can include, for example, 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 cloud services.
[0035] The embodiments of the present disclosure involve the application stage of a digital assistant after it is created, and therefore can be implemented on an assistant application platform, such as a terminal device installed with the assistant application platform and / or a server corresponding to the assistant application platform. In the following examples, for the sake of discussion, the description is from the perspective of the assistant application platform, for example Figure 1 The assistant application platform 130 shown. 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.
[0036] It should be understood that the structure and functionality of environment 100 are described for exemplary purposes only and do not imply any limitation on the scope of the present disclosure. Figure 1A single user interacting with the assistant creation platform 110 and a single user interacting with the assistant application platform 130 are shown, but in fact 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.
[0037] 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 an application reasonably and efficiently.
[0038] 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, 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.
[0039] Therefore, during the interaction between the user and the digital assistant, the local application of the terminal device can be appropriately called to complete the task instructed by the user. In this way, from the user's perspective, the digital assistant can make full use of local applications to provide various appropriate assistance, thereby obtaining a good interactive experience. This improves the efficiency of the digital assistant in assisting the user.
[0040] Some example embodiments of the present disclosure will be described in detail below with reference to examples of the accompanying drawings.
[0041] 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 reasonably use the application at the terminal device, the application at the terminal device can be registered with the digital assistant 120. In this document, registering an application with a digital assistant or registering an application with a digital assistant and similar expressions can 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.
[0042] Reference below Figure 2 An example of registering an application with the digital assistant 120 is described below. Figure 2As shown, the digital assistant 120 is deployed and runs on the device 210. An application 215 is installed in the device 210. In some embodiments, if a preset event at the device 210 is detected, it can trigger the registration of the application 215 with the digital assistant. Accordingly, the registration information 220 of the application 210 can 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, function description, and the scope of access allowed to the digital assistant 120.
[0043] The preset events may include, but are not limited to, installation and update of the application 215, first operation and update of the digital assistant 120 on the device 210, restart of the device 210, etc. Exemplarily, the digital assistant 120 may obtain the registration information 220 of the application 215 and store the registration information 220 in the application information library 250.
[0044] The acquisition and storage of the registration information 220 by the digital assistant 120 is performed with the permission and authorization of the user 136. For example, the digital assistant 120 may present inquiry information to the user 135 in any suitable form to request the user 135 to confirm whether to register the application 215 to the digital assistant 120 and the scope of access allowed to the digital assistant 120, etc. Only when the user 135 gives a positive answer, the digital assistant 120 acquires the registration information 220 and stores it in the application information library 250.
[0045] In some embodiments, the application registered to the digital assistant 120 may be included in the candidate application set as a candidate application. 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 of each candidate application in the candidate application set. The application 215 on the device 210 may be registered as a client application suitable for invocation by the digital assistant 120, for example.
[0046] In some embodiments, in addition to client applications, the candidate application set may also include other types of applications suitable for digital assistant invocation, 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. Figure 2 As shown, the application information library 250 can store information of platform applications and information of third-party applications.
[0047] In some embodiments, application 215 may include multiple functions (also referred to as application functions), all or part of which may be registered with digital assistant 120. Digital assistant 120 may ask user 135 (e.g., in a natural language interactive manner) which or which functions to register with the digital assistant. Exemplarily, content sharing applications may include a playback function for media content and a publishing function for media content. User 135 may choose to register the playback function with digital assistant 120 without registering the publishing function. In this embodiment, registration information 220 may include information about one or more functions to be registered with digital assistant 120, such as a calling interface, etc.
[0048] The registered application can be called by the digital assistant 120 in any suitable manner. As an example and without any limitation, the registered application can be implemented as or corresponds to a plug-in suitable for calling by the digital assistant 120. For example, the developer of the application can define the functional description that can be exposed to the digital assistant 120 in the form of a plug-in to the server of the assistant application platform 130. Accordingly, the digital assistant 120 can report the available functions to the server.
[0049] Only for a clearer understanding of the embodiments of the present disclosure, reference is made to Figure 3 Describes the correspondence between multiple entities. Figure 3 As shown, a device 210 may allow L digital assistants 120, where L is a positive integer. At the same time, a device 210 may be installed with or authorized to use N applications 215, where N is a positive integer. An application 215 may have M application functions 320, where M is a positive integer. For a digital assistant 120, an application 215 corresponds to a plug-in 315, and an application function 329 corresponds to a callable plug-in interface 360. It should be understood that the above reference Figure 3 The entity correspondence described is merely exemplary and is not intended to be limiting.
[0050] Figure 4 An example process 400 for processing a task according to some embodiments of the present disclosure is shown. For ease of discussion, reference will be made to Figure 1 process 400 is described in the context of an environment. Process 400 involves 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 regarding the assistant application platform 130 and / or the digital assistant 120 may specifically be performed by a terminal device and / or server running the assistant application platform 130 and / or the digital assistant 120, or may be understood to be performed with the aid of an application corresponding to the application assistant platform 130 and / or the digital assistant 120.
[0051] In an embodiment of the present disclosure, the assistant application platform 130 can determine the target task to be performed at the 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 a natural language, or at least include natural language. In some embodiments, the target device can be a device on which the current interaction between the user 135 and the digital assistant 120 occurs. In some embodiments, the target device can be other devices running the digital assistant 120 and 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.
[0052] In some embodiments, the digital assistant 120 may utilize a machine learning model to determine a target task based on the interaction. For example, a prompt word for the machine learning model may be generated based on one or more interaction messages of the user 135 in the interaction. Accordingly, the machine learning model may generate a model output based on the prompt word. The digital assistant 120 may determine the target task based on the model output.
[0053] In some embodiments, the target task can be determined based on multiple rounds of interaction between the user 135 and the digital assistant 120. The type of task to be performed can be determined based on a first user input from the user. Based on the type, a reply from the digital assistant 120 to the first user input is generated. The reply instructs the user 135 to provide additional information about the task to be performed. Then, a second user input for the reply can be received, and the target task is determined based on the first user input and the second user input.
[0054] As mentioned above, in some embodiments, a machine learning model may be used to determine the target task. For example, a first prompt word and a second prompt word may be generated based on the first user input and the second user input, respectively, and the combined first prompt word and the second prompt word may be provided to the machine learning model. Then, the target task may be determined based on the model output of the machine learning model for the combined first prompt word and the second prompt word.
[0055] refer to Figure 4 An example process 400 is described. The process 400 may be executed by the terminal device and / or server of the assistant application platform 130 and / or the digital assistant 120. The execution subject of the actions or operations described below is only an example and is not intended to be limiting. Figure 4As shown, 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 a prompt word for the machine learning model based on the user input. The prompt word can be generated in any suitable manner, and the embodiments of the present disclosure are not limited in this regard. The prompt word is 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.
[0056] At block 415, the assistant application platform 130 may obtain a model output of the machine learning model. Based on the model output, the type of task to be performed may be determined. Exemplarily, 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 to send a short message.
[0057] At block 420, it may be determined whether the task to be performed is associated with an application, for example, whether the execution of the task requires the invocation of 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 made to user 135. For example, a message template to be replied may be determined, and the message template may be filled in according to the user input received at block 405 and / or the output of the machine learning model, and presented to user 135, for example, via a client.
[0058] If the task to be performed is associated with an application, the assistant application platform 130 may select an application suitable for performing the task from the set of candidate applications. Figure 4 In the example of , the assistant application platform 130 can access the application information library 250 to query 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 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.
[0059] 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. Then, the assistant application platform 130 can 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. Then, the combined prompt words can 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.
[0060] Continuing with the above example, the additional user input may include a short message with the content “The 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 'The meeting time has been determined' to xx.”
[0061] Process 400 continues, and at block 435, the assistant application platform 130 may determine whether to call one or more applications. If it is determined not to call an application, process 400 proceeds to block 450. At block 450, the user 135 may be replied to. For example, a message template to be replied to may be determined, and the message template may be filled in 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.
[0062] If it is determined to call an application, process 400 proceeds to box 440. In box 440, an application call decision can be performed. Specifically, it can be determined whether the target task to be performed requires calling an application on the target device, also referred to as a target application. If it is determined to call the target application, the availability of the target application can be determined, that is, whether the digital assistant 120 is allowed to use the target application to perform the target task.
[0063] 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.
[0064] In some embodiments, availability may be in the dimension of application functions. 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.
[0065] 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.
[0066] Continue 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, in 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 a conversation window with the user.
[0067] 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 identification 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 identification of the sending function of the short message, 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.
[0068] Through such multiple rounds of interaction, the task indicated by the user can be accurately located so as to help the user complete such task, thereby improving the efficiency of assisting the user.
[0069] 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 exemplary and is 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 the media content is registered to 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.
[0070] In another 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 publish the video B stored locally on the terminal device through the content sharing application. Since the publishing function of the media content is not registered with the digital assistant 120, it can be determined that the content sharing application is unavailable. Accordingly, a prompt message can be generated and displayed to the user 135 through the terminal device. For example, the prompt message can prompt the user 135 to open the publishing function for the digital assistant.
[0071] Example Process
[0072] Figure 5 A flowchart of a process 500 for processing a task according to some embodiments of the present disclosure is shown. The process 500 may be implemented at the assistant application platform 130, for example, may be executed by the assistant application platform 130 and / or the terminal device and / or server of the digital assistant 120. Figure 1 Process 500 is described.
[0073] 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.
[0074] In response to determining that the target task is associated with a target application on the target device, an 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.
[0075] At block 506 , feedback information regarding the target task is determined based on the availability.
[0076] 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.
[0077] In some embodiments, determining a target task based on a first user input and a 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 a model output of the machine learning model for the first prompt word and the second prompt word.
[0078] 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.
[0079] In some embodiments, the target application includes multiple functions. The registration information indicates the functions registered to 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.
[0080] In some embodiments, method 500 further includes: in response to a preset event at the target device, triggering registration of the target application with the digital assistant.
[0081] 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.
[0082] 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.
[0083] In some embodiments, the target application is selected from a set of candidate applications.
[0084] Example devices and equipment
[0085] Figure 6A schematic structural block diagram of an apparatus 600 for processing tasks according to some embodiments of the present disclosure is shown. 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.
[0086] 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 the target task to be performed at the 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 620 is configured to determine the availability of the target application in response to determining that the target task is associated with the 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 availability.
[0087] 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 according to 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.
[0088] In some embodiments, the first target task determination module includes a prompt word generation module, a providing 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 providing module is configured to provide the combined first prompt word and the second prompt word to the machine learning model. The second target task determination module is configured to determine the target task based on the model output of the machine learning model for the first prompt word and the second prompt word.
[0089] 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: in response to determining that the target device has registered the target application with the digital assistant, determine the availability based on the registration information of the target application.
[0090] 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.
[0091] In some embodiments, the apparatus 600 further includes a trigger module configured to trigger registration of a target application with a digital assistant in response to a preset event at a target device.
[0092] 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.
[0093] 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.
[0094] In some embodiments, the target application is selected from a set of candidate applications.
[0095] Figure 7 A block diagram of an electronic device 700 is shown in which one or more embodiments of the present disclosure may be implemented. It should be understood that Figure 7 The electronic device 700 shown is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. Figure 7 The electronic device 700 shown can be used to implement Figure 1 Assistant creation platform 110 and / or assistant application platform 130, and / or Figure 6 Device 600.
[0096] like Figure 7As shown, the electronic device 700 is in the form of a general electronic device. The components of the electronic device 700 may include, but are not limited to, one or more processors or processing units 710, a memory 720, a storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. The processing unit 710 may be an actual or virtual processor and is capable of performing various processes according to a program stored in the memory 720. In a multi-processor system, multiple processing units execute computer executable instructions in parallel to improve the parallel processing capability of the electronic device 700.
[0097] The electronic device 700 typically includes a plurality of computer storage media. Such media may be any accessible media that is accessible to the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 may be a volatile memory (e.g., registers, caches, random access memory (RAM)), a non-volatile memory (e.g., a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 730 may be a removable or non-removable medium, and may include a machine-readable medium, such as a flash drive, a disk, or any other medium, which may be capable of being used to store information and / or data and may be accessed within the electronic device 700.
[0098] The electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Figure 7 As shown in , 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 the 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 that are configured to perform various methods or actions of various embodiments of the present disclosure.
[0099] The communication unit 740 implements communication with other electronic devices through a communication medium. Additionally, the functions of the components of the electronic device 700 can be implemented with a single computing cluster or multiple computing machines that can communicate through a communication connection. Therefore, 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.
[0100] The input device 750 may be one or more input devices, such as a mouse, a keyboard, a tracking ball, etc. The output device 760 may be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 700 may also communicate with one or more external devices (not shown) through the communication unit 740 as needed, such as a storage device, a display device, etc., communicate with one or more devices that allow a user to interact with the electronic device 700, or communicate with any device that allows the 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).
[0101] 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.
[0102] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices, equipment, and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0103] 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, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0104] 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, so that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0105] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square 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.
[0106] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill 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.