Methods, apparatus, devices and storage media for information exchange
By automatically identifying the target digital assistant to reply to user messages, the problem of complex user interactions with multiple digital assistants is solved, resulting in a more natural and convenient interactive experience.
Patent Information
- Application Number
- CN202410749580.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-11
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-06-11
AI Technical Summary
In existing technologies, user interactions with multiple digital assistants are complex and unnatural, requiring manual selection of the assistant, resulting in a poor user experience.
By receiving messages from users in the target session, the system analyzes and automatically determines the target digital assistant to respond, eliminating the need for manual specification and improving the convenience of interaction.
It simplifies the interaction between users and multiple digital assistants, lowers the barrier to entry, and makes the interaction more natural and convenient.
Smart Images

Figure CN118520954B_ABST
Abstract
Description
Technical Field
[0001] The exemplary embodiments disclosed herein generally relate to the field of computers, and particularly to methods, apparatuses, devices, and computer-readable storage media for information interaction. Background Technology
[0002] With the development of information technology, various terminal devices can provide people with a variety of services in work and life. Applications providing these services can be deployed on these terminal devices. Terminal devices or applications can provide users with digital assistant functions to assist them in using the devices or applications. How to improve the flexibility of user interaction with digital assistants is a technical issue that needs to be explored. Summary of the Invention
[0003] In a first aspect of this disclosure, a method for information interaction is provided. The method includes: receiving a first message sent by a user in a target session, the members of which include the user and at least two digital assistants; determining, based on the first message, a target digital assistant from the at least two digital assistants to respond to the first message; and presenting a response message sent by the target digital assistant in response to the first message.
[0004] In a second aspect of this disclosure, an apparatus for information interaction is provided. The apparatus includes: a message receiving module configured to receive a first message sent by a user in a target session, the members of which include the user and at least two digital assistants; a digital assistant determining module configured to determine, based on the first message, a target digital assistant from the at least two digital assistants for responding to the first message; and a response message presenting module configured to present a response message sent by the target digital assistant in response to the first message.
[0005] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.
[0006] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program that can be executed by a processor to implement the method of the first aspect.
[0007] 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
[0008] 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:
[0009] Figure 1 A schematic diagram of an example environment in which embodiments of the present disclosure can be implemented is shown;
[0010] Figure 2 A flowchart illustrating an example process of information interaction according to some embodiments of this disclosure is shown;
[0011] Figure 3 A schematic diagram of an example interface for information interaction according to some embodiments of the present disclosure is shown;
[0012] Figure 4 A flowchart illustrating an information interaction process according to some embodiments of the present disclosure is shown;
[0013] Figure 5 Block diagrams of apparatus for information interaction according to some embodiments of the present disclosure are shown; and
[0014] Figure 6 A block diagram of an apparatus capable of implementing several embodiments of the present disclosure is shown. Detailed Implementation
[0015] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0016] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0017] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0018] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0019] It is understood 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 related provisions.
[0020] 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.
[0021] 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.
[0022] In this document, unless explicitly stated otherwise, performing a step in response to A does not mean that the step is performed immediately after A, but may include one or more intermediate steps.
[0023] 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.
[0024] As used in this paper, the term "model" refers to a system that learns the relationship between inputs and outputs from training data, enabling it to generate corresponding outputs for a given input after training. Model generation can be based on machine learning techniques. Deep learning is a machine learning algorithm that uses multiple layers of processing units to process inputs and provide corresponding outputs. In this paper, "model" may also be referred to as a "machine learning model," a "machine learning network," or simply a "network," and these terms are used interchangeably. A model can also include different types of processing units or networks.
[0025] As briefly mentioned earlier, people are increasingly collaborating with language model robots, expanding their capabilities by engaging in dialogue with digital assistants. Currently, users can interact with digital assistants in one-on-one conversations. Alternatively, users can specify a digital assistant in a conversation (e.g., a group chat) by mentioning it (e.g., "@"). However, because users must manually specify a digital assistant using "@", the interaction between users and digital assistants becomes complex and unnatural.
[0026] Furthermore, some applications also allow users to invoke a previously used digital assistant via "@" during a conversation with that assistant, specifying that assistant to interact with them. However, this method also requires invoking the specified digital assistant via "@", and the conversation mode differs from common instant messaging (IM) modes, resulting in a higher cognitive barrier for users.
[0027] Embodiments of this disclosure propose an improved scheme for information interaction. According to various embodiments of this disclosure, a first message sent by a user in a target session, the members of which include the user and at least two digital assistants, is received. Based on the first message, a target digital assistant for replying to the first message is determined from the at least two digital assistants. Then, a reply message sent by the target digital assistant in response to the first message is presented. Thus, based on the message sent by the user, an appropriate digital assistant can be provided to reply to the user's message, thereby improving the convenience of user interaction with digital assistants.
[0028] Example Environment
[0029] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown. In this example environment 100, a component runtime platform 110 is able to support the operation of a business component 125. A user 140 can interact with the business component 125 via a client of the component runtime platform 110.
[0030] In some embodiments, service component 125 can be downloaded and installed on user 140's terminal device. In some embodiments, service component 125 can also be accessed in other ways, such as via a web page. Figure 1 In environment 100, in response to the startup of business component 125, the client of component runtime platform 110 can display the interface 150 of business component 125.
[0031] Business components 125 include, but are not limited to, one or more of the following: chat business components (also known as instant messaging (IM) components), document business components, audio and video conferencing business components, email business components, task business components, calendar business components, goal and key results (OKR) business components, etc. It is understandable that, although... Figure 1 The diagram shows a single business component, but in reality, multiple business components can be installed on a terminal device. Multiple business components can be integrated onto a component runtime platform 110, which can be considered a multi-functional collaboration platform. When multiple business components are installed on a terminal device, these components can be integrated onto one or more component runtime platforms 110. Within the component runtime platform 110, users can launch different business components as needed to perform corresponding information processing, sharing, communication, etc. Business component 125 can provide content entity 126. Content entity 126 can be a content instance created by user 140 or other users on business component 125. For example, depending on the type of business component 125, content entity 126 can be a document (e.g., a Word document, a PDF document, a presentation, a spreadsheet, etc.), email, message (e.g., a conversation message on an instant messaging business component), calendar, schedule, task, audio, video, image, etc.
[0032] In some embodiments, the component runtime platform 110 may provide a digital assistant 120. The digital assistant 120 may be provided by a separate business component, or it may be integrated into a business component 125 capable of providing content entities. The business component used to provide the client interface for the digital assistant may correspond to a single-function business component or a multi-functional collaboration platform, such as an office suite or other collaboration platforms capable of integrating multiple components. It is understood that, similar to business components, although... Figure 1 The image shows a single digital assistant, but there can actually be multiple digital assistants.
[0033] In some embodiments, the digital assistant 120 supports the use of plugins. Each plugin can provide one or more functions of a business component. Such plugins include, but are not limited to, one or more of the following: search plugin, contact plugin, messaging plugin, document plugin, form plugin, email plugin, calendar plugin, schedule plugin, task plugin, etc.
[0034] Digital assistant 120 can be a user's intelligent assistant, possessing intelligent dialogue and information processing capabilities. In embodiments of this disclosure, digital assistant 120 is used to interact with user 140 to assist user 140 in using terminal devices or business components. An interaction window with digital assistant 120 can be presented in the client interface. In the interaction window, user 140 can converse with digital assistant 120 by inputting natural language, images, audio files, video files, web page files, etc., to instruct digital assistant to assist in completing various tasks, including operations on content entity 126.
[0035] In some embodiments, digital assistant 120 may act as a contact for user 140, being included in the current user 140's contact list in the office suite or in the chat component's message stream. In some embodiments, user 140 and digital assistant 120 have a corresponding relationship. For example, a first digital assistant corresponds to a first user, a second digital assistant corresponds to a second user, and so on. In some embodiments, the first digital assistant may uniquely correspond to the first user, the second digital assistant may uniquely correspond to the second user, and so on. That is, the first digital assistant for the first user may be specific to or exclusive to the first user. For example, in the process of the first digital assistant providing assistance or services to the first user, the first digital assistant may utilize its historical interaction information with the first user, the data authorized by the first user that it can access, its current interaction context with the first user, etc. If the first user is an individual, the first digital assistant may be considered a personal digital assistant. It is understood that in the disclosed embodiments, the first digital assistant accesses data with granted permissions based on the first user's authorization. It should be understood that the terms "uniquely corresponding" or similar expressions in this disclosure are not intended to limit the first digital assistant to being updated accordingly based on the interaction process between the first user and the first digital assistant. Of course, depending on the actual needs, the digital assistant 120 does not necessarily have to be specific to the current user 140, but can be a general digital assistant.
[0036] In some embodiments, multiple interaction modes can be provided for the user 140 and the digital assistant 120, and the user can flexibly switch between these modes. When a certain interaction mode is triggered, a corresponding interaction area is presented to facilitate interaction between the user 140 and the digital assistant 120. The interaction methods between the user 140 and the digital assistant 120 differ under different interaction modes, thus flexibly adapting to the interaction needs of different scenarios.
[0037] In some embodiments, information processing services specific to user 140 can be provided based on historical interaction information between user 140 and digital assistant 120 and / or data ranges specific to user 140. In some embodiments, historical interaction information of user 140 interacting with digital assistant 120 in multiple interaction modes can all be associated with user 140 and stored. Thus, in one of the multiple interaction modes (any or a specified interaction mode), digital assistant 120 can provide services to user 140 based on the historical interaction information associated with user 140 stored therein.
[0038] The digital assistant 120 can be invoked or activated by an appropriate means (e.g., keyboard shortcuts, buttons, or voice) to present an interaction window with the user 140. The interaction window can be opened by selecting the digital assistant 120. The interaction window may include interface elements for information interaction, such as input boxes, message lists, message bubbles, etc. In other embodiments, the digital assistant 120 can be invoked through entry controls or menus provided on the page, or by inputting preset commands.
[0039] The interaction window between the digital assistant 120 and the user 140 may include a session window, such as a session window in the instant messaging module of an instant messaging service component or a target service component. In the session window, the interaction between the digital assistant 120 and the user 140 may be presented in the form of session messages. Alternatively or additionally, the interaction window between the digital assistant 120 and the user 140 may also include other types of windows, such as a floating window, where the user 140 can trigger the digital assistant 120 to perform corresponding operations by inputting commands, selecting shortcuts, etc.
[0040] In some embodiments, the digital assistant 120 may support a conversation window interaction mode, also known as conversation mode. In this interaction mode, a conversation window is presented between the user 140 and the digital assistant 120, in which the user 140 and the digital assistant 120 interact through conversation messages. In conversation mode, the digital assistant 120 can perform tasks based on the conversation messages in the conversation window. In the interaction window, the user 140 inputs interaction messages, and the digital assistant 120 responds to the user input by providing reply messages.
[0041] In some embodiments, the conversation mode between user 140 and digital assistant 120 can be invoked or activated by an appropriate means (e.g., shortcut keys, buttons, or voice) to present a conversation window. A conversation window with digital assistant 120 can be opened by selecting digital assistant 120. The conversation window may include interface elements for information interaction, such as input boxes, message lists, message bubbles, etc.
[0042] The component runtime platform 110 can be deployed locally on each user's (140's) terminal device and / or supported by a server device. For example, user 140's terminal device can run a client of the component runtime platform 110, which can support interaction between user 140 and the server-provided component runtime platform 110. When the component runtime platform 110 runs locally on the user's terminal device, user 145 can directly interact with the local component runtime platform 110 using the terminal device. When the component runtime platform 110 runs on a server device, the server device can provide services to the client running on the terminal device based on the communication connection with the terminal device. The component runtime platform 110 can present a corresponding interface 150 to user 140 based on user 140's operations, to output and / or receive information related to component usage from user 140.
[0043] In some embodiments, the implementation of at least some functions of the business component 125, and / or at least some functions of the digital assistant 120, may be based on target models. During the operation of the business component 125, one or more target models 155 may be invoked. Target models 155 may be used to understand user input and to provide services based on the output of target models 155, such as providing responses to the user.
[0044] Although shown as independent of component runtime platform 110, one or more target models 155 may run on component runtime platform 110 or other remote servers. In some embodiments, target model 155 may be a machine learning model, deep learning model, learning model, neural network, etc. In some embodiments, the model may be based on a language model (LM). A language model is capable of question answering by learning from a large corpus. Target model 155 may also be based on other suitable models.
[0045] The component runtime platform 110 can run on suitable electronic devices. These electronic devices can be any type of computing-capable device, including terminal devices or server devices. Terminal devices 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 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 of the foregoing, including accessories and peripherals of these devices or any combination thereof. Server devices can include, for example, computing systems / servers, such as mainframes, edge computing nodes, computing devices in cloud environments, and so on. In some embodiments, the component runtime platform 110 can be implemented based on cloud services.
[0046] It should be understood that the structure and function of environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.
[0047] The following description continues with reference to the accompanying drawings, which will continue to illustrate some exemplary embodiments of this disclosure. It should be understood that the pages shown in the drawings are merely examples, and various page designs are possible in practice. The various graphic elements on the page may have different arrangements and different visual representations, one or more elements may 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 primarily described with respect to component runtime platform 110. It should be understood that the actions described with respect to component runtime platform 110 may be performed by applications, components, or suites (e.g., business component 125) on component runtime platform 110, or may be performed by applications, components, or suites in conjunction with their server (e.g., a server).
[0048] The following is for reference Figure 2 and Figure 3 This disclosure describes the process of information exchange. Figure 2 A schematic diagram of an example process 200 for information interaction according to some embodiments of the present disclosure is shown. Figure 3 A schematic diagram of an example interface 300 for information interaction according to this disclosure is shown.
[0049] In box 211, the component runtime platform 110 receives the first message sent by the user in the target session. In some embodiments, the members of the target session include the user and at least two digital assistants. Figure 3The example interface 300 shown shows that the component running platform 110 receives message 311 sent by user 140 in "XX Studio". The members of "XX Studio" include user 140 and assistants B, assistant A, etc.
[0050] Each of the at least two digital assistants may have corresponding functionalities. In some embodiments, the digital assistants in the target session may include a transaction digital assistant and an administrative digital assistant. The transaction digital assistant may be used to implement one or more business functions. For example, a transaction digital assistant may include an information query assistant that helps users quickly search and summarize content, an assistant that helps users draw flowcharts, an assistant that helps users improve code, and so on.
[0051] The management digital assistant can be used to manage or assist users in managing a target session. In some embodiments, the management digital assistant has preset or user-configured management permissions for the target session. In some examples, the management digital assistant has preset management permissions and / or user-configured management permissions for the digital assistant. It is understood that the management digital assistant is a member of the target session, and the component runtime platform 110 may add the management digital assistant as a member of the target session after creating a target session consisting of at least two digital assistants and user 140.
[0052] In some embodiments, the component runtime platform 110 determines a target digital assistant from at least two digital assistants to respond to the first message, based on the first message. In some examples, the component runtime platform 110 determines the corresponding digital assistant from at least two digital assistants to respond to the user's message, based on the first message sent by the user.
[0053] In some embodiments, after identifying the target digital assistant, the component runtime platform 110 presents a response message from the target digital assistant to the first message. For example... Figure 3 In the example interface 300 shown, the component runtime platform 110 determines, based on the message 311 sent by user 140, that assistant B will respond to message 311 sent by user 140 from at least two digital assistants. Accordingly, the component runtime platform 110 can present the reply message 312 sent by assistant B in response to message 311.
[0054] Continuing with the description of example procedure 200, the target digital assistant for responding to the first message is determined from at least two digital assistants. In some embodiments, the component runtime platform 110 determines the target task indicated by the first message through analysis of the first message. The target task may be performing one or more operations, such as generating an image, modifying a document, or answering a question. It is understood that after receiving a message from user 140, the component runtime platform 110 can determine the intent of user 140 by parsing the message.
[0055] The component runtime platform 110 can determine the target task indicated by the first message in the following ways. In box 212, the component runtime platform 110 analyzes and processes the first message. For example, it can remove semantically meaningless words (e.g., modal particles, articles, etc.) from the first message, determine whether the first message includes a mention operation, etc. In box 213, based on the analysis of the first message, the component runtime platform 110 determines whether the first message includes mention information for a digital assistant. For example, it can determine whether the first message includes the mention symbol "@", or whether the first message includes the name of a digital assistant in the target session. In some examples, the component runtime platform 110 determines whether a message sent by user 140 includes a digital assistant specified by user 140, based on the analysis of messages sent by user 140.
[0056] If the message sent by user 140 specifies a digital assistant, then process 200 proceeds to box 214. In box 214, component runtime platform 110 uses the digital assistant specified by user 140 as the target digital assistant to reply to the message sent by user 140. For example, if user 140 sends the message "@A Assistant, please provide statistics on XXX", then component runtime platform 110 will present A Assistant's reply message to the message "@A Assistant, please provide statistics on XXX".
[0057] If the first message does not include a mention of the digital assistant, process 200 proceeds to box 215. In box 215, the component runtime platform 110 generates a prompt message for the target model based on the first message. For example, if the message from user 140 does not contain a mention of the digital assistant, the component runtime platform 110 constructs a processing request for the target model based on the message from user 140. In some embodiments, the component runtime platform 110 uses the target model to determine the target task based on the prompt message. In some examples, the component runtime platform 110 provides the prompt message to the target model to obtain the output of the target model and determines the target task indicated by user 140 based on the output of the target model.
[0058] In box 216, component runtime platform 110 matches the target task with the corresponding functionality of at least a portion of at least two digital assistants. For example, the target task can be matched with the functionality of a business digital assistant. Component runtime platform 110 understands the target task indicated by user 140 through a target model (e.g., a language model). Then, component runtime platform 110 compares the target task with the persona and skills of at least a portion of at least two digital assistants to determine the target digital assistant capable of responding to the message sent by user 140.
[0059] In some embodiments, for a given digital assistant, a target task can be compared with the digital assistant's feature-related descriptive information (e.g., feature configuration information). Such descriptive information may include, for example, the digital assistant's persona, skill names, skill descriptions, and skill examples. Alternatively or additionally, the target task can be compared with the digital assistant's feature-related user settings information. As an example, a user can configure one or more digital assistants' corresponding functions or tasks in the settings of a target session. Such user settings information can be rules, for example, that one or more digital assistants will respond when a certain keyword is included. That is, in this case, the user can optimize the routing capabilities for managing the digital assistant.
[0060] In some embodiments, the aforementioned descriptive information and user settings information may be provided to the target model to enable the target model to determine a digital assistant that matches the target task. Alternatively, a digital assistant that matches the target task may be determined based on other methods such as semantic matching or keyword matching.
[0061] Then, the component runtime platform can determine the target digital assistant based on the matching results. For example, in Figure 2 In the example, in box 217, the component running platform 110 determines whether a suitable digital assistant exists based on the matching results.
[0062] If the functionality of the first digital assistant among at least two digital assistants matches the target task, process 200 proceeds to box 214. In box 214, the component runtime platform 110 identifies the first digital assistant as the target digital assistant. In some examples, based on analysis and understanding of the message from user 140, the component runtime platform 110 identifies the first digital assistant that matches the target task indicated by the message from user 140 from the functionality corresponding to the at least two digital assistants, and designates the first digital assistant as the target digital assistant to reply to the message from user 140. Understandably, the component runtime platform 110 compares the target task with the functionality corresponding to the at least two digital assistants to determine the appropriate digital assistant to reply to the message from user 140.
[0063] In some embodiments, user 140 sends a message in a target session that includes at least two digital assistants, and the managing digital assistant can automatically route the message to the corresponding digital assistant. User 140 can also optimize the routing capabilities of the managing digital assistant by configuring the description of the target session, the persona of the digital assistant, skills, and other configurations.
[0064] like Figure 3 In the example interface 300 shown, if the component runtime platform 110 receives a message 311 (e.g., "Draw a picture") from user 140, it identifies the target task indicated by message 311. Then, the component runtime platform 110 performs an association matching based on the target task and the skills corresponding to at least two digital assistants in the current "XX Studio" to determine Assistant B corresponding to "Draw a picture". Finally, the component runtime platform 110 presents Assistant B's response message 312 to message 311.
[0065] If no digital assistant whose functionality matches the target task is identified from at least two digital assistants, process 200 proceeds to box 218. In box 218, the component runtime platform 110 identifies the management digital assistant in the target conversation as the target digital assistant. In some examples, the component runtime platform 110 compares the target task with the functionality corresponding to at least two digital assistants. If no suitable digital assistant is identified to reply to the message from user 140, the management digital assistant in the target conversation is selected as the target digital assistant to reply to the message from user 140.
[0066] In some embodiments, if the management digital assistant replies to the first message, the reply message to the first message may indicate that the target task cannot be completed by the digital assistant currently included in the target session. In other words, if the component runtime platform 110 does not determine a suitable digital assistant to reply to the message of user 140, it uses the management digital assistant in the target conversation as the target digital assistant. It is understood that the reply message to user 140 cannot be completed by the digital assistant currently included in the target session. In this case, the management digital assistant replies to user 140's message. For example, "I cannot process your request at this time."
[0067] In some embodiments, the component runtime platform 110 may also present recommendation information issued by the management digital assistant in response to the first message. The recommendation information indicates one or more digital assistants recommended to the user, each possessing functionality matching the target task. In some embodiments, the recommendation information may be part of a response message. Alternatively, the recommendation information may also be presented as a separate message.
[0068] In some examples, if a reply message to a message from user 140 cannot be completed by the digital assistant included in the current target session, the reply message to user 140 can be completed by the managing digital assistant. Accordingly, the reply message to user 140 may include recommendation information. The recommendation information presented by the component runtime platform 110 indicates one or more digital assistants suitable for replying to user 140's messages. The recommended digital assistants may be suitable digital assistants included in a digital assistant library or digital assistant center.
[0069] In some embodiments, the component runtime platform 110 receives an add instruction for a second digital assistant among one or more recommended digital assistants. The component runtime platform 110 then adds the second digital assistant to the target session if it receives the add instruction.
[0070] In some examples, if the component runtime platform 110 detects that user 140 clicks the corresponding add control for a second digital assistant among one or more recommended digital assistants, then it adds the second digital assistant to the target session. In other examples, if the component runtime platform 110 receives an add message from user 140 regarding a second digital assistant among one or more recommended digital assistants (e.g., "@Manage Digital Assistants, Add XX Assistant"), then it adds the second digital assistant to the target session.
[0071] In some embodiments, the component runtime platform 110 may also receive a second message sent by a user in a target session. The second message includes a reference to historical messages in the target session and a mention of a digital assistant in at least two digital assistants. The component runtime platform 110 then presents a response message from the mentioned digital assistant in response to the second message.
[0072] like Figure 3 In the example interface 300 shown, the component runtime platform 110 receives a message 313 sent by the user in the target session. Message 313 includes a reference to a historical message in the target session and a mention of Assistant A. Then, the component runtime platform 110 presents a reply message 314 sent by Assistant A in response to message 313. Understandably, if user 140 references a message in the target session and "@" Assistant A, Assistant A can respond to the referenced message.
[0073] In summary, users can interact with the digital assistant without specifying it via "@". Therefore, the process of mentioning the digital assistant can be omitted in user interactions, making it more convenient and natural for users and lowering the barrier to entry. Furthermore, when a user quotes a message and "@" the digital assistant, the assistant can respond to the quoted message, making it appear more intelligent and human-like.
[0074] Figure 4 A flowchart of a process 400 for information interaction according to some embodiments of the present disclosure is shown. Process 400 can be implemented at the component runtime platform 110. Reference is made below. Figure 1 Describe the process 400.
[0075] In box 410, component runtime platform 110 receives the first message sent by the user in the target session, the members of which include the user and at least two digital assistants.
[0076] In box 420, component runtime platform 110 determines the target digital assistant to reply to the first message from at least two digital assistants based on the first message.
[0077] In box 430, component runtime platform 110 presents a response message from the target digital assistant in response to the first message.
[0078] In some embodiments, determining the target digital assistant for responding to the first message from at least two digital assistants includes: determining the target task indicated by the first message through analysis of the first message; matching the target task with the corresponding functions of at least a portion of the digital assistants from the at least two digital assistants; and determining the target digital assistant based on the matching result.
[0079] In some embodiments, determining the target task indicated by the first message includes: determining, based on analysis of the first message, whether the first message includes a mention of a digital assistant; in response to determining that the first message does not include a mention of a digital assistant, generating a prompt message for a target model based on the first message; and determining the target task using the target model based on the prompt message.
[0080] In some embodiments, determining the target digital assistant based on the matching result includes: identifying the first digital assistant as the target digital assistant in response to a first digital assistant whose functionality matches the target task among at least two digital assistants.
[0081] In some embodiments, matching the target task with the corresponding functions of at least a portion of the at least two digital assistants includes: for a given digital assistant among the at least two digital assistants, comparing the target task with at least one of the following: a function-related descriptive information of the given digital assistant, or user settings information related to the function of the given digital assistant.
[0082] In some embodiments, determining the target digital assistant includes: in response to the failure to determine a digital assistant whose functionality matches the target task from at least two digital assistants, determining the management digital assistant in the target conversation as the target digital assistant, wherein the management digital assistant has preset or user-configured management permissions over the target conversation.
[0083] In some embodiments, the response message indicates that the target task cannot be completed by the digital assistant currently included in the target session.
[0084] In some embodiments, process 400 further includes: presenting recommendation information issued by a management digital assistant in response to the first message, the recommendation information indicating one or more digital assistants recommended to the user, the one or more digital assistants having functions that match the target task.
[0085] In some embodiments, process 400 further includes: receiving an addition instruction for a second digital assistant among the recommended one or more digital assistants; and in response to receiving the addition instruction, adding the second digital assistant to the target session.
[0086] In some embodiments, process 400 further includes: receiving a second message sent by a user in a target session, the second message including a reference to a historical message in the target session and a mention of a digital assistant in at least two digital assistants; and presenting a response message sent by the mentioned digital assistant in response to the second message.
[0087] Example devices and equipment
[0088] Figure 5 A schematic structural block diagram of an apparatus 500 for information interaction according to certain embodiments of the present disclosure is shown. The apparatus 500 may be implemented as or included in the component runtime platform 110. The various modules / components in the apparatus 500 may be implemented by hardware, software, firmware, or any combination thereof.
[0089] As shown in the figure, device 500 includes a message receiving module 510 configured to receive a first message sent by a user in a target session, the members of which include the user and at least two digital assistants. Device 500 also includes a digital assistant determination module 520 configured to determine, based on the first message, a target digital assistant from at least two digital assistants to reply to the first message. Device 500 further includes a reply message presentation module 530 configured to present a reply message sent by the target digital assistant in response to the first message.
[0090] In some embodiments, the digital assistant determination module 520 is further configured to determine the target task indicated by the first message by analyzing the first message; match the target task with the corresponding functions of at least a portion of the digital assistants among at least two digital assistants; and determine the target digital assistant based on the matching result.
[0091] In some embodiments, the digital assistant determination module 520 further includes a task determination module configured to determine, based on analysis of the first message, whether the first message includes mentions of the digital assistant; in response to determining that the first message does not include mentions of the digital assistant, generate a prompt message for a target model based on the first message; and determine a target task using the target model based on the prompt message.
[0092] In some embodiments, the digital assistant determination module 520 is further configured to: determine the first digital assistant as the target digital assistant in response to the fact that the function of the first digital assistant among at least two digital assistants matches the target task.
[0093] In some embodiments, the digital assistant determination module 520 is further configured to: for a given digital assistant among the at least two digital assistants, compare the target task with at least one of the following: a function-related description of the given digital assistant, or user setting information related to the function of the given digital assistant.
[0094] In some embodiments, the digital assistant determination module 520 is further configured to determine the management digital assistant in the target conversation as the target digital assistant in response to the failure to determine a digital assistant whose function matches the target task from at least two digital assistants, wherein the management digital assistant has preset or user-configured management permissions over the target conversation.
[0095] In some embodiments, the response message indicates that the target task cannot be completed by the digital assistant currently included in the target session.
[0096] In some embodiments, the device 500 further includes a recommendation information presentation module configured to present recommendation information issued by a management digital assistant in response to a first message, the recommendation information indicating one or more digital assistants recommended to the user, the one or more digital assistants having functions that match the target task.
[0097] In some embodiments, the device 500 further includes a digital assistant adding module configured to receive an adding instruction for a second digital assistant among one or more recommended digital assistants; and in response to receiving the adding instruction, to add the second digital assistant to the target session.
[0098] In some embodiments, the reply message presentation module 530 is further configured to receive a second message sent by a user in a target session, the second message including a reference to a historical message in the target session and a mention of a digital assistant in at least two digital assistants; and to present a reply message sent by the mentioned digital assistant in response to the second message.
[0099] Figure 6 A block diagram is shown illustrating an electronic device 600 in which one or more embodiments of the present disclosure may be implemented. It should be understood that... Figure 6 The electronic device 600 shown is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. Figure 6 The electronic device 600 shown can be used to achieve Figure 1 The component runtime platform 110.
[0100] like Figure 6 As shown, electronic device 600 is in the form of a general-purpose electronic device. Components of electronic device 600 may include, but are not limited to, one or more processors or processing units 610, memory 620, storage device 630, one or more communication units 640, one or more input devices 650, and one or more output devices 660. Processing unit 610 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 620. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of electronic device 600.
[0101] 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.
[0102] Electronic device 600 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 6As shown, 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 can be provided. In these cases, each drive can 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 this disclosure.
[0103] 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.
[0104] 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).
[0105] 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.
[0106] 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.
[0107] 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 apparatus to produce a machine such that, when executed by the processing unit 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.
[0108] 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.
[0109] 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.
[0110] 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 exchange method, comprising: Receive the first message sent by the user in the target session, the members of the target session include the user and at least two digital assistants, the at least two digital assistants include a business digital assistant and a management digital assistant, the business digital assistant is used to implement one or more business functions, and the management digital assistant is used to manage the target session or assist the user in managing the target session; Based on the first message, determine the target digital assistant to reply to the first message from the at least two digital assistants; In response to the target digital assistant being different from the management digital assistant, the management digital assistant automatically routes the first message to the target digital assistant; as well as The response message issued by the target digital assistant in response to the first message is presented in the target session.
2. The method of claim 1, wherein determining the target digital assistant for replying to the first message from the at least two digital assistants comprises: By analyzing the first message, the target task indicated by the first message is determined; Match the target task with the corresponding functions of at least a portion of the at least two digital assistants; as well as The target digital assistant is determined based on the matching results.
3. The method of claim 2, wherein determining the target task indicated by the first message comprises: Based on the analysis of the first message, determine whether the first message includes any mention of the digital assistant; In response to determining that the first message does not include mentions for the digital assistant, a prompt message for the target model is generated based on the first message; as well as Based on the aforementioned prompts, the target task is determined using the target model.
4. The method of claim 2, wherein determining the target digital assistant based on the matching result comprises: In response to the fact that the function of the first digital assistant among the at least two digital assistants matches the target task, the first digital assistant is identified as the target digital assistant.
5. The method of claim 2, wherein matching the target task with corresponding functions of at least a portion of the at least two digital assistants comprises: For a given digital assistant among the at least two digital assistants, the target task is compared with at least one of the following: The description information related to the functions of the given digital assistant, or User settings information related to the functionality of the given digital assistant.
6. The method of claim 2, wherein determining the target digital assistant comprises: In response to the failure to identify a digital assistant whose functionality matches the target task from among the at least two digital assistants, the management digital assistant is identified as the target digital assistant, wherein the management digital assistant has preset or user-configured management permissions for the target session.
7. The method of claim 6, wherein the reply message indicates that the target task cannot be completed by the digital assistant currently included in the target session.
8. The method according to claim 6, further comprising: The system presents recommendation information for the first message issued by the management digital assistant, the recommendation information indicating one or more digital assistants recommended to the user, the one or more digital assistants having functions that match the target task.
9. The method according to claim 8, further comprising: Receive an instruction to add a second digital assistant among the recommended one or more digital assistants; as well as In response to receiving the add instruction, the second digital assistant is added to the target session.
10. The method according to claim 1, further comprising: Receive a second message sent by the user in the target session, the second message including a reference to historical messages in the target session and a mention of the digital assistant in the at least two digital assistants; as well as The response message from the mentioned digital assistant in response to the second message is displayed.
11. A device for information interaction, comprising: The message receiving module is configured to receive the first message sent by the user in the target session. The members of the target session include the user and at least two digital assistants. The at least two digital assistants include a business digital assistant and a management digital assistant. The business digital assistant is used to implement one or more business functions, and the management digital assistant is used to manage the target session or assist the user in managing the target session. A digital assistant determination module is configured to determine, based on the first message, a target digital assistant for responding to the first message from among the at least two digital assistants; The message sending module is configured to automatically route the first message to the target digital assistant in response to the target digital assistant being different from the management digital assistant; as well as The reply message presentation module is configured to present a reply message issued by the target digital assistant in response to the first message in the target session.
12. An electronic device, comprising: At least one processing unit; as well as At least one memory, 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 10 when executed by the at least one processing unit.
13. A computer-readable storage medium having a computer program stored thereon, the computer program being executable by a processor to implement the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Conversation management method, system and equipment of conversation robot and medium
CN117033606A
Model-based interaction method and device, electronic equipment and storage medium
CN117235222A
Assistant recommendation method and device, client and storage medium
CN117971090A