Information processing method and apparatus, device and storage medium
Patent Information
- Application Number
- PCT/CN2025/142318
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-21
- Filing Date
- 2025-12-12
- Publication Date
- 2026-09-24
Smart Images

Figure CN2025142318_24092026_PF_FP_ABST
Abstract
Description
Information processing methods, apparatus, equipment and storage media
[0001] This application claims priority to Chinese Patent Application No. 202510340930.X, filed on March 21, 2025, entitled "Method, Apparatus, Device and Storage Medium for Information Processing", the entire contents of which are incorporated herein by reference. Technical Field
[0002] The exemplary embodiments disclosed herein generally relate to the field of computers, and particularly to methods, apparatus, devices and computer-readable storage media for information processing. Background Technology
[0003] With the development of information technology, various terminal devices can provide users with a variety of services in work and life. For example, terminal devices can deploy applications that provide services. Applications can be designed to provide users with digital assistants and present functional blocks for implementing various services or functions. Digital assistants can use the functional blocks in the application to assist users in processing various information. Summary of the Invention
[0004] In a first aspect of this disclosure, an information processing method is provided. The method includes: in response to receiving a function block configuration instruction for a session between a user and a digital assistant, presenting a configuration interface regarding a plurality of function blocks available to the digital assistant; receiving function block configuration information for the session through the configuration interface, the function block configuration information indicating at least one candidate function block among the plurality of function blocks that is enabled; and generating a response from the digital assistant to user input based on the function block configuration information.
[0005] In a second aspect of this disclosure, an apparatus for information processing is provided. The apparatus includes: a function block presentation module configured to present a configuration interface regarding a plurality of function blocks available to the digital assistant in response to receiving a function block configuration instruction for a session between a user and a digital assistant; a function block configuration module configured to receive function block configuration information for the session through the configuration interface, the function block configuration information indicating at least one candidate function block among the plurality of function blocks that is enabled; and an information response module configured to generate a response from the digital assistant to user input from the user based on the function block configuration information.
[0006] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor. When executed by the at least one processor, the instructions cause the device to perform the method of the first aspect.
[0007] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The medium stores computer instructions that, when executed by a processor, implement the method of the first aspect.
[0008] In a fifth aspect of this disclosure, a computer program product is provided. The product includes a computer program, wherein when executed by a processor, the computer program implements the method according to a first aspect of this disclosure.
[0009] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:
[0011] Figure 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure may be implemented;
[0012] Figures 2A to 2F illustrate example interfaces for information processing according to some embodiments of the present disclosure;
[0013] Figure 3 illustrates a schematic diagram of an example process for information processing according to some embodiments of the present disclosure;
[0014] Figure 4 shows a flowchart of an example process for information processing according to some embodiments of the present disclosure;
[0015] Figure 5 shows a schematic structural block diagram of an example apparatus for information processing according to some embodiments of the present disclosure; and
[0016] Figure 6 shows a block diagram of an electronic device capable of implementing several embodiments of the present disclosure. Detailed Implementation
[0017] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0018] It should be noted that the headings of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and embodiments of any type may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.
[0019] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based 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 also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0020] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.
[0021] In this specification and the embodiments, any processing of personal information will be carried out only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information other than that necessary for basic functions will not affect the user's use of basic functions.
[0022] The following section provides a detailed description of various example implementations of this scheme, with reference to the accompanying drawings.
[0023] Figure 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in Figure 1, the example environment 100 may include a user 110, a terminal device 120 associated with the user 110, and a server 150.
[0024] In environment 100, terminal device 120 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, handheld computers, portable gaming terminals, VR / AR devices, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, terminal device 120 may also support any type of interface for user 110 (such as "wearable" circuitry).
[0025] Terminal device 120 may deploy an application 130 that provides services. Application 130 can be of various types, providing a digital assistant to assist user 110 in processing information or interacting with user 110. Therefore, application 130 can be considered an application with intelligent dialogue capabilities. In some embodiments, the digital assistant provided by application 130 can be implemented through a trained machine learning model (also simply referred to as a model) configured on a server 150 that communicates with application 130 and possesses certain capabilities (such as language generation, logical reasoning, multimodal processing, etc.). The model can be used to process the information interacting between user 110 and application 130 to meet user 110's interaction needs.
[0026] As an example, server 150, communicating with application 130, can be configured with a Large Language Model (LLM). The LLM can perform natural language processing on the text information input by user 110 through application 130 to generate a response tailored to the user's input. As another example, server 150, communicating with application 130, can be configured with a Computer Vision (CV) model. The CV model can perform image classification, object detection, image segmentation, and other processing on the image information input by user 110 through application 130 to generate a response tailored to the image information. As yet another example, server 150, communicating with application 130, can be configured with a multimodal model. The multimodal model can process information from multiple modalities (e.g., images, text) input by user 110 through application 130 to generate a response tailored to the multimodal information. It should be understood that only example models configured for servers communicating with applications are given here. In practical applications, more, fewer, or other models can be configured for the server communicating with the application, depending on the requirements. The embodiments disclosed herein do not impose any limitations on this. The information that the digital assistant in application 130 assists user 110 in processing or interacts with user 110 can be of various types, including: text information, image information, audio and video information, etc.
[0027] In some embodiments, application 130 or the digital assistant provided by application 130 may be configured or integrated with multiple functional blocks. A functional block is a module formed by encapsulating code or instructions that implement a specific function. Different functional blocks can be used to implement different services or functions. Functional blocks can be considered or implemented as callable tools. Functional blocks may at least partially utilize machine learning models (e.g., LLM) to implement specific functions or services, such as image generation, text translation, data analysis, etc. In some embodiments, functional blocks may be implemented as workflows including one or more processing nodes. Processing nodes may utilize machine learning models (e.g., LLM) to process the node's input information. As an example, application 130 may be an office management application. Application 130 and / or the digital assistant may be configured or integrated with functional blocks for implementing services such as data analysis, process management, task management, scheduling, and address book. As another example, application 130 may be an artificial intelligence application. Application 130 and / or the digital assistant may be configured or integrated with functional blocks for implementing services such as chat Q&A, image drawing, translation, and writing. It should be understood that only example applications and example functional blocks within these applications are given herein. This disclosure does not impose any restrictions on the applicable applications, application configurations, or integrated functional blocks.
[0028] It should be understood that the above are merely example applications to which this disclosure applies. This disclosure applies to any suitable application. User 110 may interact with application 130 via terminal device 120 and / or its attached devices.
[0029] In some embodiments, if application 130 is active, terminal device 120 can present interface 140 through application 130. Interface 140 can be any interface in application 130, including: a settings interface for a digital assistant, a function block configuration interface, an interface for receiving user input, etc.
[0030] In some embodiments, terminal device 120 communicates with server 150 to provide services to application 130.
[0031] Server 150 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. Server 150 may include, for example, computing systems / servers such as mainframes, edge computing nodes, computing devices in a cloud environment, etc. Server 150 can provide backend services for application 130 in terminal device 120.
[0032] A communication connection can be established between server 150 and terminal device 120. The communication connection can be established via wired or wireless means. The communication connection may include, but is not limited to, Bluetooth connection, mobile network connection, Universal Serial Bus (USB) connection, Wireless Fidelity (WiFi) connection, etc., and the embodiments disclosed herein are not limited in this respect.
[0033] It should be understood that the structure and function of the various elements in environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.
[0034] Currently, applications with intelligent dialogue capabilities suffer from limitations in both the capabilities of the configured models and the functionality of the pre-defined functional blocks, making it difficult to meet users' personalized and diverse needs. Existing applications typically only allow users to select the desired functional blocks from a pre-configured list, failing to support user-defined functional blocks. This further hinders the application's ability to meet individual user requirements. Furthermore, if a user selects a specific functional block before inputting information, the application can only invoke that chosen block to process the input message, unable to flexibly determine whether other functional blocks within the application need to be invoked. This results in poor application flexibility and a poor user experience.
[0035] Embodiments of this disclosure propose a scheme for information processing. In this scheme, in response to receiving a function block configuration instruction for a user-digital assistant session, a configuration interface is presented regarding the function blocks available to the digital assistant. Function block configuration information for the session is received through the configuration interface, the function block configuration information indicating at least the candidate function blocks that are enabled among the presented function blocks. Based on the function block configuration information, a response from the digital assistant to the user's input is generated.
[0036] In this way, the embodiments of this disclosure enable users to configure the functional blocks available to the digital assistant through a configuration interface, and also enable the functional blocks they need to use within the configuration interface. In other words, users can independently configure the functional blocks they need to use through the configuration interface. This approach improves the operational flexibility of functional blocks, meets users' personalized needs, and enhances the user experience. During interaction, responses to user input can be generated based on the user's configuration information for functional blocks. Alternatively, responses to user input can be generated using candidate functional blocks enabled by the user. This approach makes the generated responses more tailored to the user's personalized needs, further enhancing the user experience.
[0037] The following description will continue with reference to the accompanying drawings, which will provide some exemplary embodiments of this disclosure.
[0038] Figures 2A to 2F illustrate example interfaces 200A to 200F according to some embodiments of the present disclosure. Interfaces 200A to 200F may, for example, be provided by the terminal device 120 shown in Figure 1.
[0039] It should be understood that the interface shown in the accompanying drawings is merely an example, and various interface designs are possible in practice. The various graphic elements in the interface can have different arrangements and different visual representations, one or more elements can be omitted or replaced, and one or more other elements may also be present. The embodiments of this disclosure are not limited in this respect. Furthermore, in the following description, exemplary embodiments will be described primarily with respect to terminal device 120. It should be understood that the actions described with respect to terminal device 120 can be performed by application 130 on terminal device 120, or by application 130 in collaboration with its server (e.g., server 150). In some embodiments, in a scenario where terminal device 120 is in collaboration with its server (e.g., server 150), terminal device 120 may request the server to provide information to be presented, or the server may proactively or in response to an operation by terminal device 120 provide information to be presented to terminal device 120. In this document, server 150 may utilize LLM to generate responses to user input. Server 150 may provide the generated responses to terminal device 120.
[0040] In some embodiments, terminal device 120 may provide the example interface 200A shown in FIG. 2A through application 130. Interface 200A may indicate a conversational interface between user 110 and the digital assistant provided by application 130. Interface 200A may include at least a region 210 for receiving user input, a component 211 for function blocks, and a component 212 for sending user input. For example, if user 110 wishes to configure a function block used by application 130, component 211 may be triggered. Triggering component 211 may generate a function block configuration instruction.
[0041] In embodiments of this disclosure, terminal device 211, in response to receiving a function block configuration instruction for a session between user 110 and the digital assistant, presents a configuration interface regarding the function blocks available to the digital assistant. User 110 can configure the function blocks to be used independently in the configuration interface.
[0042] Figure 2B illustrates an example configuration interface 200B. The configuration interface 200B may include at least a function block configuration area 220. Area 220 may present information about multiple function blocks available to the digital assistant of application 130. For example, area 220 may include corresponding configuration components or configuration areas for these function blocks. In some embodiments, the multiple function blocks may include at least one predetermined function block pre-configured for the digital assistant; for example, configuration interface 200B presents configuration components 221 for function block 1, 222 for function block 2, 223 for function block 3, 224 for function block 4, ..., and configuration components for function block N. The information about the function blocks may include status information 225 and controls 226 indicating further configuration for the function block. As an example, function block 1 may be an image processing function block, and component 226 may indicate the configuration of information such as image resolution and image size for the image processing function block. As another example, function block 1 may be a search engine function block, and control 226 may indicate the configuration of the search engine used by the digital assistant. It should be understood that only an example of function block configuration information is given here. In practical applications, more, fewer, or other function block configuration information can be presented in the configuration interface as needed, as long as such configuration information can meet the user's configuration requirements for function blocks. The embodiments of this disclosure do not impose any restrictions on this.
[0043] In embodiments of this disclosure, terminal device 120 receives function block configuration information for a session between user 110 and a digital assistant through the aforementioned configuration interface. The function block configuration information at least indicates which candidate function blocks are enabled among the function blocks available to the digital assistant. In other words, through the configuration interface, user 110 can configure the tools they wish to use, for example, at least enabling the tools they wish to use. The process of generating a response to user input based on the candidate function blocks indicated by the function block configuration information will be described below, and will not be repeated here.
[0044] The following description, with reference to the accompanying drawings, illustrates an example configuration process for the function blocks.
[0045] Referring again to the configuration interface 200B shown in Figure 2B, user 110 can enable a certain number of function blocks according to their needs. For example, if user 110 wishes to use function blocks 1, 2, and 4, they can trigger the corresponding "Enable" control for each function block to generate an enable instruction. Terminal device 120 receives the enable instruction through configuration interface 200B and can display visual elements indicating that the function blocks are enabled in configuration interface 200B. For example, the visual element could be displaying the "Enable" control corresponding to the enabled function block as selected. For instance, terminal device 120 displays the "Enable" control corresponding to function block 1 enabled by user 110 in a thick outline in configuration interface 200B to indicate that the "Enable" control corresponding to function block 1 is selected. It should be understood that only example visual elements indicating that a function block is in an enabled state are provided here, or in other words, only example presentation of the control corresponding to a function block enabled by the user being selected is provided here. In practical applications, any suitable visual elements or any appropriate form can be used to indicate that the control corresponding to the enabled function block is selected, as long as the user can intuitively determine that the function block is enabled through these visual elements or presentation forms. The embodiments of this disclosure do not impose any limitations on this. It is understood that the server 150 of application 130 can add the function block enabled by user 110 as a candidate function block, so as to generate a response to the user input based on the candidate function block in the future.
[0046] In some embodiments, the configuration interface 200B shown in FIG2B may also present a custom component 227 for the function block. If the pre-configured function block presented by the configuration interface 200B for the digital assistant cannot meet the needs of user 110, user 110 may trigger the custom component 227. The triggering of the custom component 227 may generate a function block customization instruction. After receiving the function block customization instruction, the terminal device 120 may present information about the custom function block. The custom function block may be provided by any suitable service or provider (e.g., a third-party platform other than application 130). In some embodiments, the custom function block may be provided by a digital assistant creation service. The digital assistant creation service may support user 110 in creating custom function blocks, or may provide user 110 with custom function blocks corresponding to the permissions that user 110 has. The information of the custom function block may at least include the addition component corresponding to the custom function block. User 110 may add the corresponding custom function block to application 130 by triggering the addition component instruction corresponding to the custom function block.
[0047] For example, after receiving a function block customization instruction through the configuration interface 200B, the terminal device 120 can present the interface 200C shown in Figure 2C. The information of the customized function block presented by the interface 200C may include information of the customized function block provided by a third-party platform. For example, as shown in the interface 200C, the third-party platform may include or provide application 1, application 2, ..., application N. Accordingly, the interface 200C can present component 230 for application 1. It is understood that the application of the third-party platform can provide user 110 with services different from those provided by application 130.
[0048] Referring again to interface 200C shown in Figure 2C, if user 110 wishes to select a custom function block provided or built into application 1, component 230 for application 1 can be triggered on interface 200C. After receiving the selection of application 1 through interface 200C, terminal device 120 can present components for the custom function block under application 1 on interface 200C, including component 231 for custom function block 1, component 232 for custom function block 2, component 233 for custom function block 3, ..., and component for custom function block N. Interface 200C also presents add controls corresponding to the custom function block, such as add control 234 corresponding to custom function block 1 231. User 110 can trigger the add control corresponding to the custom function block through interface 200C. Terminal device 120 can respond to the triggering of the add control corresponding to the custom function block and update the state of the custom function block presented on interface 200C. For example, if the terminal device 120 receives a trigger on the add control 235 corresponding to the custom function block 3 through the interface 200C, the custom function block 3 can be presented as "added". It should be understood that only example information about the custom function block is given here. In practical applications, more, less, or other information about the custom function block can be presented as needed, as long as this information can meet the user's customization needs for the function block, and the embodiments of this disclosure do not limit this.
[0049] In some embodiments, after receiving an instruction to add function block 3 through interface 200C shown in FIG. 2C, terminal device 120 can update configuration interface 200B regarding the function blocks available to the digital assistant of application 130. As shown in FIG. 2D, the updated configuration interface 200D can present configuration component 246 for function block M that is in an enabled state. It is understood that function block M is function block 3 presented by interface 200C. Terminal device 120 can also add function block M that is in an enabled state presented by interface 200D as a candidate function block.
[0050] In some embodiments, user 110 may select a function block from candidate function blocks before triggering the sending component 212 shown in FIG. 2A that indicates user input. Terminal device 120, in response to receiving a selection instruction for a function block in the candidate function blocks (e.g., function block 1 presented in interface 200D shown in FIG. 2D), may present interface 200E as shown in FIG. 2E. Interface 200E may present information about the selected function block 1 in the area 250 above the area 210 indicating user input to prompt user 110 of the selected function block. It should be understood that only an example presentation of the selected function block is given herein. In practical applications, the selected function block may be presented in any suitable form in the user's conversational interface with the application's digital assistant, and the embodiments of this disclosure are not limited thereto.
[0051] In some embodiments, in response to receiving a trigger on the sending component 212 indicating user input via the interface 200E shown in FIG. 2E, the terminal device 120 may present the interface 200F shown in FIG. 2F. Area 260 in interface 200F presents the information input by user 110. Area 261 in interface 200F presents the response from the digital assistant of application 130 to the information input by user 110.
[0052] In some embodiments, before providing user input to the digital assistant, user 110 can select a function block from a list of enabled candidate function blocks. The selected function block can be considered locked.
[0053] The following describes an example process for generating a response to user input, with reference to Figure 3.
[0054] As shown in Figure 3, in some embodiments, the terminal device 120 receives a trigger on the sending component 212 indicating user input through the interface 200E shown in Figure 2E, and can transmit the received user input to the server 150 communicatively connected to the application 130. The server 150 can perform task splitting on the user input. In some embodiments, the server 150 can utilize an agent with task planning capabilities to perform task splitting. The agent can invoke a machine learning model (e.g., LLM) based on the user input and the agent's functions (or responsibilities) to achieve task splitting and planning. For example, the user input could be "Please provide the personal information of painter XXX and present his representative paintings". The agent can invoke LLM to split the user input into task 1, which instructs searching for "the personal information of painter XXX", and task 2, which instructs "present representative paintings of painter XXX" in image form. It should be understood that only example user input and example splitting process of user input are given here. The embodiments of this disclosure do not limit the information of user input and the process of splitting user input into tasks.
[0055] Furthermore, server 150 can match the split tasks with the enabled candidate function blocks in application 130 to determine the target function block for processing user input from the candidate function blocks. An example is described with reference to processing branch 310 in Figure 3. If no candidate function block is selected, or if no candidate function block is locked, server 150 determines the candidate function block that matches the task as the target function block. For example, if server 150 determines that task 1 in the user input does not match candidate function block 1, task 2 matches candidate function block 2, and task N matches candidate function block N, then candidate function block 2 and candidate function block N can be determined as target function blocks. Understandably, server 150 can invoke each target function block to process the task corresponding to that target function block and generate the corresponding execution result.
[0056] It should be noted that if the target function block contains a custom function block of user 110, server 150 can obtain the input and output parameter information of the custom function block based on the interface between application 130 and the provider of the custom function block (such as the application of the third-party platform providing the custom function block mentioned above). Server 150 can use the input parameter information in the user input that matches the custom function block to perform information processing, and generate corresponding execution results based on the output parameter information of the custom function block.
[0057] Next, server 150 can assemble the generated multiple execution results in response to user input. Server 150 can then invoke a model to generate a response to user input based on the assembled results. Server 150 can output the generated response to user input to application 130 in terminal device 120. Terminal device 120 can display the response to user input through area 261 in interface 200F shown in Figure 2F.
[0058] Referring to branch 320 in Figure 3, another example can be described. If user 110 selects a candidate function block before sending user input, or if a candidate function block is locked (e.g., function block 1 presented in interface 200D as shown in Figure 2D), server 150 calls function block 1 by default and generates the corresponding execution result. Furthermore, server 150 can also match a target function block for processing the task from the remaining candidate function blocks based on the task corresponding to the user input. After calling the target function block and obtaining the corresponding execution result, server 150 can assemble the execution result corresponding to function block 1 with the execution results corresponding to other target function blocks. Then, server 150 can call the model to generate a response to the user input based on the assembled result. Server 150 can output the generated response to the user input to application 130 in terminal device 120. Terminal device 120 can present the response to the user input through area 261 in interface 200F as shown in Figure 2F.
[0059] It should be understood that in the examples described above, any action described relative to server 150 can be implemented by server 150 using an intelligent agent providing the relevant service. That is, the action described relative to the server can be implemented by an intelligent agent.
[0060] In this way, the embodiments of this disclosure enable users to freely enable the required function blocks through the configuration interface provided by the terminal device, thereby improving the ease of operation of function blocks. The terminal device 120 also provides components that support user-defined function blocks through the application, allowing users to select or create custom function blocks from third-party platforms according to their needs. This approach not only meets users' personalized and differentiated needs and improves the user experience of the application, but also enhances the application's scalability, enabling it to be applicable to more fields and / or scenarios. Furthermore, after a user selects a function block before inputting information, the application's digital assistant can not only generate a response to the user's input based on the selected function block, but also flexibly determine and match whether there are function blocks among the candidate function blocks that assist in completing the task corresponding to the user's input. If it is determined that there is a function block among the candidate function blocks that assists in completing the task corresponding to the user's input, the application can also call candidate function blocks other than the user-selected function block to generate a response to the user's input. This approach improves the application's flexibility and further enhances the user experience of the application.
[0061] Figure 4 shows a flowchart of an example process 400 for information processing according to some embodiments of the present disclosure. Process 400 can be implemented at a terminal device 120. Process 400 will now be described with reference to Figure 1.
[0062] As shown in Figure 4, in box 410, terminal device 120, in response to receiving a function block configuration instruction for a session between user 110 and digital assistant, presents a configuration interface for multiple function blocks available to the digital assistant.
[0063] In box 420, terminal device 120 receives function block configuration information for a session through a configuration interface. The function block configuration information indicates at least one candidate function block that is enabled among a plurality of function blocks.
[0064] In box 430, terminal device 120 generates a response from digital assistant to user input from user 110 based on function block configuration information.
[0065] In some embodiments, the plurality of function blocks include at least one predetermined function block pre-configured to the digital assistant, and the terminal device 120 receiving function block configuration information includes: in response to receiving an enable instruction for one or more predetermined function blocks in the at least one predetermined function block through a configuration interface, the terminal device 120 adds one or more predetermined function blocks as at least one candidate function block.
[0066] In some embodiments, the plurality of function blocks include at least one custom function block accessible to user 110, and the terminal device 120 receiving function block configuration information includes: the terminal device 120 presenting information about at least one custom function block in response to receiving a function block customization instruction through a configuration interface; and the terminal device 120 adding the selected custom function block as at least one candidate function block in response to the selection of a custom function block among the at least one custom function block.
[0067] In some embodiments, at least one custom function block is provided by a digital assistant creation service.
[0068] In some embodiments, the terminal device 120 obtains the input parameter information and output parameter information of the selected custom function block from the provider of the selected custom function block, in order to generate a response.
[0069] In some embodiments, the terminal device 120 presents visual elements in the configuration interface that indicate that at least one candidate functional block is enabled.
[0070] In some embodiments, the terminal device 120 generating a digital assistant's response to user input includes: the terminal device 120 determining one or more target function blocks from at least one candidate function block based at least one task indicated by the user input; the terminal device 120 obtaining the corresponding execution results of the one or more target function blocks; and the terminal device 120 determining a response to the user input based on the corresponding execution results of the one or more target function blocks.
[0071] In some embodiments, the terminal device 120 determines one or more target function blocks by: in response to at least one candidate function block not being selected by the user 110, the terminal device 120 determines the function block that matches at least one task among the at least one candidate function blocks as one or more target function blocks.
[0072] In some embodiments, the terminal device 120 determines one or more target function blocks by: the terminal device 120 determining the first function block as one of the one or more target function blocks in response to the user 110 selecting a first function block from at least one candidate function block; and the terminal device 120 determining at least one second function block from at least one candidate function block that matches at least one task as part of one or more target functions.
[0073] Embodiments of this disclosure also provide corresponding apparatus for implementing the methods or processes described above. Figure 5 shows a schematic structural block diagram of an example apparatus 500 for information processing according to certain embodiments of this disclosure. Apparatus 500 may be implemented as or included in terminal device 120. The various modules / components in apparatus 500 may be implemented by hardware, software, firmware, or any combination thereof.
[0074] As shown in Figure 5, the device 500 includes: a function block presentation module 510, configured to present a configuration interface for a plurality of function blocks available to the digital assistant in response to receiving a function block configuration instruction for a user-digital assistant session; a function block configuration module 520, configured to receive function block configuration information for the session through the configuration interface, the function block configuration information indicating at least one candidate function block that is enabled among the plurality of function blocks; and an information response module 530, configured to generate a response from the digital assistant to the user's input based on the function block configuration information.
[0075] In some embodiments, the plurality of function blocks include at least one predetermined function block pre-configured to the digital assistant, and the function block configuration module 520 may also be configured to: in response to receiving an enable instruction for one or more predetermined function blocks in the at least one predetermined function block through a configuration interface, the terminal device 120 adds one or more predetermined function blocks as at least one candidate function block.
[0076] In some embodiments, the plurality of function blocks include at least one custom function block accessible to the user 110, and the function block configuration module 520 may also be configured to: the terminal device 120, in response to receiving a function block customization instruction through a configuration interface, present information about at least one custom function block; and the terminal device 120, in response to selecting a custom function block among the at least one custom function block, add the selected custom function block as at least one candidate function block.
[0077] In some embodiments, at least one custom function block is provided by a digital assistant creation service.
[0078] In some embodiments, the apparatus 500 further includes a processing module configured to allow the terminal device 120 to obtain input parameter information and output parameter information of the selected custom function block from the provider of the selected custom function block, for use in generating a response.
[0079] In some embodiments, the apparatus 500 further includes an interface presentation module configured to present visual elements in a configuration interface indicating that at least one candidate function block is enabled.
[0080] In some embodiments, the information response module 530 may also be configured to: the terminal device 120 determine one or more target function blocks from at least one candidate function blocks based at least one task indicated by the user input; the terminal device 120 obtain the corresponding execution results of the one or more target function blocks; and the terminal device 120 determine a response to the user input based on the corresponding execution results of the one or more target function blocks.
[0081] In some embodiments, the information response module 530 may also be configured such that, in response to at least one candidate function block not being selected by the user 110, the terminal device 120 determines the function block that matches at least one task among the at least one candidate function block as one or more target function blocks.
[0082] In some embodiments, the information response module 530 may also be configured to: in response to the user 110 selecting a first function block from at least one candidate function block, the terminal device 120 determines the first function block as one of one or more target function blocks; and the terminal device 120 determines at least one second function block from at least one candidate function block that matches at least one task as part of one or more target functions.
[0083] Figure 6 illustrates a block diagram of an electronic device 600 capable of implementing one or more embodiments of the present disclosure. As shown in Figure 6, the electronic device 600 is in the form of a general-purpose electronic device. Components of the electronic device 600 may include, but are not limited to, at least one processor 610 or processing unit, memory 620, storage device 630, one or more communication units 640, one or more input devices 650, and one or more output devices 660. The processor 610 may be a physical or virtual processor and is capable of performing various processes according to a program stored in memory 620. In a multiprocessor system, multiple processors execute computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 600.
[0084] Electronic device 600 typically includes multiple computer storage media. Such media can be any accessible media that is accessible to electronic device 600, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 620 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 630 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media that can be used to store information and / or data and can be accessed within electronic device 600.
[0085] Electronic device 600 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 6, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks may be provided. In these cases, each drive may be connected to a bus (not shown) via one or more data media interfaces. Memory 620 may include computer program product 625 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.
[0086] The communication unit 640 enables communication with other electronic devices via a communication medium. Additionally, the functionality of the components of the electronic device 600 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the electronic device 600 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.
[0087] Input device 650 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 660 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 600 can also communicate with one or more external devices (not shown) via communication unit 640 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 600, or with any device that enables electronic device 600 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).
[0088] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.
[0089] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0090] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0091] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0093] Various implementations of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they 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 chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.
Claims
1. An information processing method, comprising: In response to receiving a function block configuration instruction for a user's session with the digital assistant, a configuration interface for multiple function blocks available to the digital assistant is presented; The configuration interface receives function block configuration information for the session, wherein the function block configuration information indicates at least one candidate function block that is enabled among the plurality of function blocks; as well as Based on the function block configuration information, the digital assistant generates a response to the user's input.
2. The method of claim 1, wherein the plurality of function blocks includes at least one predetermined function block pre-configured to the digital assistant, and receiving the function block configuration information includes: In response to receiving an enable instruction for one or more of the at least one predetermined function blocks through the configuration interface, the one or more predetermined function blocks are added as the at least one candidate function block.
3. The method according to claim 1 or 2, wherein the plurality of functional blocks includes at least one user-accessible custom functional block, and receiving the functional block configuration information includes: In response to receiving a function block customization instruction through the configuration interface, information about the at least one customized function block is presented; as well as In response to the selection of a custom function block among the at least one custom function block, the selected custom function block is added as the at least one candidate function block.
4. The method of claim 3, wherein the at least one custom function block is provided by a digital assistant creation service.
5. The method according to any one of claims 1 to 4, further comprising: Obtain the input and output parameter information of the selected custom function block from the provider of the selected custom function block, in order to generate the response.
6. The method according to any one of claims 1 to 5, further comprising: The configuration interface presents visual elements indicating that at least one candidate function block is in the enabled state.
7. The method according to any one of claims 1 to 6, wherein generating the digital assistant's response to the user input comprises: Based at least one task indicated by the user input, determine one or more target function blocks from the at least one candidate function block; Obtain the corresponding execution results of the one or more target functional blocks; as well as Based on the execution results of the one or more target function blocks, a response to the user input is determined.
8. The method of claim 7, wherein determining the one or more target functional blocks comprises: In response to the fact that the at least one candidate function block is not selected by the user, the function block that matches the at least one task among the at least one candidate function blocks is determined as one of the one or more target function blocks.
9. The method of claim 7, wherein determining the one or more target functional blocks comprises: In response to the user selecting a first function block from the at least one candidate function blocks, the first function block is determined as one of the one or more target function blocks; as well as At least one second functional block that matches the at least one task from the at least one candidate functional block is identified as part of the one or more target functions.
10. An apparatus for information processing, comprising: The function block presentation module is configured to, in response to receiving a function block configuration instruction for a user’s session with the digital assistant, present a configuration interface for multiple function blocks available to the digital assistant. The function block configuration module is configured to receive function block configuration information for the session through the configuration interface, wherein the function block configuration information indicates at least one candidate function block that is enabled among the plurality of function blocks; as well as The information response module is configured to generate a response from the digital assistant to the user's input based on the function block configuration information.
11. An electronic device, comprising: At least one processor; as well as At least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, 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 processor.
12. A computer-readable storage medium having stored thereon computer-executable instructions that can be executed by a processor to implement the method according to any one of claims 1 to 9.
13. A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 9.