Method for interaction with digital assistant, apparatus, device and storage medium
By setting up a continuous storage configuration for the digital assistant, the problem that digital assistants have difficulty remembering user information for a long time is solved, and the accuracy and user experience of reply are improved.
Patent Information
- Application Number
- PCT/CN2024/080416
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-31
- Filing Date
- 2024-03-06
- Publication Date
- 2025-05-08
AI Technical Summary
When existing digital assistants interact with users, it is difficult for them to remember the information entered by users for a long time, resulting in insufficient responses and a decline in user experience.
By setting up a continuous storage configuration for the digital assistant, key types of information in the interaction information are automatically extracted and stored, and read and used in subsequent interactions to determine user responses.
It improves the accuracy and pertinence of digital assistant responses, improves the user interaction experience, and enables digital assistants to remember users' key information.
Smart Images

Figure CN2024080416_08052025_PF_FP_ABST
Abstract
Description
Method, apparatus, device and storage medium for digital assistant interaction
[0001] This application claims priority to the Chinese invention patent application entitled “Methods, devices, equipment and storage media for digital assistant interaction” filed on October 31, 2023, with application number 2023114379101, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] Example embodiments of the present disclosure generally relate to the field of computers, and more particularly, to methods, apparatuses, devices, and computer-readable storage media for digital assistant interaction. Background Art
[0003] Digital assistants are provided to assist users with various task processing needs in different applications and scenarios. Digital assistants usually have intelligent dialogue and task processing capabilities. During the interaction with the digital assistant, the user inputs interactive messages, and the digital assistant provides reply messages in response to the user input. Generally, digital assistants can support users to input questions in natural language, and perform tasks and provide replies based on the understanding of natural language input and logical reasoning ability. This kind of interaction method has become a tool that people love and rely on because of its flexible and convenient characteristics. In the interaction between users and digital assistants, more improved solutions are expected.
[0004] Summary of the Invention
[0005] In a first aspect of the present disclosure, a method for digital assistant interaction is provided. The method includes: receiving interaction information between a user and a digital assistant; based on the storage configuration of the digital assistant, in response to determining that the interaction information includes information of the first type indicated by the storage configuration and the information of the first type is not stored, writing the information of the first type into a storage area corresponding to the first type; or based on the storage configuration of the digital assistant, in response to determining that the interaction information depends on the information of the first type indicated by the storage configuration and the information of the first type is stored, reading the stored information of the first type from the storage area corresponding to the first type; and determining a reply of the digital assistant to the user based on the stored or read information of the first type.
[0006] In a second aspect of the present disclosure, a device for digital assistant interaction is provided. The device includes: an information receiving module configured to receive interaction information between a user and the digital assistant; an information writing module configured to, based on the storage configuration of the digital assistant, write the first type of information into a storage area corresponding to the first type in response to determining that the interaction information includes the first type of information and the first type of information is not stored; an information reading module configured to, based on the storage configuration of the digital assistant, read the stored first type of information from the storage area corresponding to the first type in response to determining that the interaction information depends on the first type of information and the first type of information is stored; and a reply determination module configured to determine the digital assistant's reply to the user based on the stored or read first type of information.
[0007] In a third aspect of the present disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the electronic device to perform the method of the first aspect.
[0008] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein a computer program is stored on the medium, and when the computer program is executed by a processor, the method of the first aspect is implemented.
[0009] It should be understood that the content described in this section is not intended to limit the key features or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0011] FIG1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;
[0012] FIG2 shows an example flow chart for digital assistant interaction according to some embodiments of the present disclosure;
[0013] FIG3 shows a schematic diagram of creating a storage configuration for a digital assistant according to some embodiments of the present disclosure;
[0014] FIG4 illustrates an example of an interaction interface between a user and a digital assistant according to some embodiments of the present disclosure;
[0015] FIG5 illustrates a flow chart of a process for digital assistant interaction according to some embodiments of the present disclosure;
[0016] FIG6 shows a block diagram of an apparatus for digital assistant interaction according to some embodiments of the present disclosure; and
[0017] FIG7 shows a block diagram of an electronic device in which one or more embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION
[0018] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.
[0019] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, i.e., "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may be included below.
[0020] Herein, unless explicitly stated otherwise, executing a step “in response to A” does not mean executing the step immediately after “A” but may include one or more intermediate steps.
[0021] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition, use, storage or deletion of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0022] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the information involved in this disclosure should be informed to relevant users and authorization should be obtained from relevant users in an appropriate manner in accordance with relevant laws and regulations. Relevant users can include any type of right holders, such as individuals, enterprises, and groups.
[0023] For example, in response to receiving an active request from a user, a prompt message is sent to the relevant user to clearly prompt the relevant user that the operation requested to be performed will require obtaining and using the information of the relevant user, so that the relevant user can independently choose whether to provide information to the software or hardware such as the electronic device, application, server or storage medium that executes the operation of the technical solution of the present disclosure based on the prompt message.
[0024] As an optional but non-limiting implementation, in response to receiving an active request from a relevant user, a prompt message may be sent to the relevant user in the form of a pop-up window, in which the prompt message may be presented in text form. Furthermore, the pop-up window may also include a selection control for the user to select "agree" or "disagree" to provide information to the electronic device.
[0025] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0026] As used herein, the term "model" can learn the association between corresponding inputs and outputs from training data, so that after training is completed, corresponding outputs can be generated for given inputs. The generation of the model can be based on machine learning technology. Deep learning is a machine learning algorithm that processes inputs and provides corresponding outputs by using multiple layers of processing units. A neural network model is an example of a model based on deep learning. In this article, "model" may also be referred to as "machine learning model", "learning model", "machine learning network" or "learning network", and these terms are used interchangeably in this article.
[0027] Digital assistants can serve as tools for people to work, study, and live effectively. Generally, the development of digital assistants is similar to that of general applications, requiring developers with programming skills to define the assistant's capabilities by writing complex code and deploying the assistant on an appropriate platform so that users can download, install, and use it. With the diversification of application scenarios and the increasing availability of machine learning technology, digital assistants with different capabilities have become possible to support task processing in various niche areas or meet the personalized needs of different users.
[0028] 1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. The environment 100 includes an assistant creation platform 110 and an assistant application platform 130 .
[0029] As shown in Figure 1, the assistant creation platform 110 can provide a digital assistant creation and publishing environment for users 105. In some embodiments, the assistant creation platform 110 can be a low-code platform that provides a collection of tools for creating digital assistants. The assistant creation platform 110 can support the visual development of digital assistants, so that developers can skip the manual coding process and speed up the development cycle and cost of applications. The assistant creation platform 110 can support any appropriate platform for users to develop digital assistants and other types of applications, for example, it can include a platform based on Application Platform as a Service (aPaaS). Such a platform can support users to efficiently develop applications and realize operations such as application creation and application function adjustment.
[0030] The assistant creation platform 110 can be deployed locally on the terminal device of the user 105, and / or can be supported by a remote server. For example, the terminal device of the user 105 can run a client of the assistant creation platform 110, which can support the interaction between the user and the assistant creation platform 110. In the case where the assistant creation platform 110 runs locally on the user's terminal device, the user 105 can directly use the client to interact with the local assistant creation platform 110. In the case where the assistant creation platform 110 runs on a server-side device, the server-side device can realize the supply of services to the client running in the terminal device based on the communication connection between the server and the terminal device. The assistant creation platform 110 can present a corresponding page 122 to the user 105 based on the operation of the user 105 to output and / or receive information to the user 105 and / or receive information from the user 105.
[0031] In some embodiments, the assistant creation platform 110 can be associated with a corresponding database, which stores the data or information required for the digital assistant creation process supported by the assistant creation platform 110. For example, the database can store the code and description information corresponding to the various functional modules that make up the digital assistant. The assistant creation platform 110 can also perform operations such as calling, adding, deleting, and updating on the functional modules in the database. The database can also store operations that can be performed on different functional blocks. Exemplarily, in a scenario where a digital assistant is to be created, the assistant creation platform 110 can call the corresponding functional blocks from the database to build a digital assistant.
[0032] In an embodiment of the present disclosure, a user 105 can create a digital assistant 120 as needed on an assistant creation platform 110 and publish the digital assistant 120. The digital assistant 120 can be published to any appropriate assistant application platform 130, as long as the assistant application platform 130 can support the operation of the digital assistant 120. After publishing, the digital assistant 120 can be used for dialogue interaction with the user 135. The client of the assistant application platform 130 can present an interactive window 132 of the digital assistant 120, such as a conversation window, in the client interface. As an intelligent assistant, the digital assistant 120 has intelligent dialogue and information processing capabilities. The user 135 can enter a conversation message in the conversation window, and the digital assistant 120 can determine the reply message based on the created configuration information and present it to the user in the interaction window 132. In some embodiments, depending on the configuration of the digital assistant 120, the interactive message with the digital assistant 120 may include messages in multimodal form, such as text messages (e.g., natural language text), voice messages, image messages, video messages, and the like.
[0033] In this document, users 105 who create digital assistants are sometimes referred to as assistant creators, assistant developers, etc. Users 135 who interact with the created digital assistants are sometimes referred to as users, users, etc. of the digital assistants.
[0034] The assistant creation platform 110 and / or the assistant application platform 130 can run on appropriate electronic devices. The electronic devices here can be any type of device with computing capabilities, including terminal devices or server devices. The terminal device can be any type of mobile terminal, fixed terminal or portable terminal, including a mobile phone, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multimedia tablet, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an e-book device, a gaming device or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. The server device can, for example, include a computing system / server, such as a mainframe, an edge computing node, a computing device in a cloud environment, and the like. In some embodiments, the assistant creation platform 110 and / or the assistant application platform 130 can be implemented based on a cloud service.
[0035] The digital assistant creation process involved in the embodiments of the present disclosure can be implemented on an assistant creation platform, a terminal device on which the assistant creation platform is installed, and / or a server corresponding to the assistant creation platform. In the examples below, for the purpose of discussion, the description is made from the perspective of the assistant creation platform, such as the assistant creation platform 110 shown in Figure 1. The page presented by the assistant creation platform 110 can be presented via the terminal device of the user 105, and user input can be received via the terminal device of the user 105.
[0036] It should be understood that the structure and functionality of the environment 100 are described for exemplary purposes only and do not imply any limitation on the scope of the present disclosure. For example, although FIG1 shows a single user interacting with the assistant creation platform 110 and a single user interacting with the assistant application platform 130, in reality, multiple users can access the assistant creation platform 110 to each create a digital assistant, and each digital assistant can be used to interact with multiple users.
[0037] Typically, during user interactions with digital assistants, limited by factors such as the length of model input, digital assistants will at most extract limited contextual information from past interactions to understand user input. However, users interacting with digital assistants may prefer that the digital assistant retain certain information for a long time, allowing them to continuously provide more targeted responses. If the digital assistant needs to repeatedly ask for this information during the interaction with the digital assistant, it will result in a poor user experience.
[0038] According to an embodiment of the present disclosure, an improved scheme for creating a digital assistant is provided. According to the scheme, the digital assistant has a persistent storage configuration to indicate one or more types of information. In the interaction between the user and the digital assistant, it is determined whether the interaction information includes or depends on a certain type of information indicated by the persistent storage configuration. If it is determined that the interaction information includes a certain type of information and the information of this type has not been stored, the information of this type is stored in a storage area corresponding to the type. If it is determined that the interaction information depends on the first type of information and the first type of information has been stored, the stored information of the first type is read from the storage area corresponding to the first type. The digital assistant's reply to the user is determined based on the stored or read first type of information.
[0039] As a result, during the interaction between the user and the digital assistant, specific types of information can be read and stored, allowing the digital assistant to continuously use this information as interaction context to determine user responses. This allows the digital assistant to always remember certain key information from the user's perspective, resulting in a positive interaction experience. This improves the accuracy and pertinence of the digital assistant's responses, enhancing the interaction experience.
[0040] Some example embodiments of the present disclosure will be described in detail below with reference to the examples in the accompanying drawings. It should be understood that the pages shown in the accompanying drawings are merely examples, and a variety of page designs may exist. The various graphical elements in a page may have different arrangements and different visual representations, one or more elements may be omitted or updated, and one or more additional elements may also be present. The embodiments of the present disclosure are not limited in this respect.
[0041] Figure 2 shows an example process 200 for digital assistant interaction according to some embodiments of the present disclosure. For ease of discussion, process 200 will be described with reference to the environment of Figure 1. Process 200 relates to the application stage of the digital assistant 120 after creation, and therefore can be implemented on the assistant application platform 130. It should be understood that the operations described below with respect to the assistant application platform 130 and / or the digital assistant 120 can specifically be performed by a terminal device and / or server running the assistant application platform 130 and / or the digital assistant 120, or can be understood as being performed with the aid of an application corresponding to the application assistant platform 130 and / or the digital assistant 120.
[0042] The digital assistant 120 is used to interact with a user (e.g., user 135). As shown in FIG2 , during the interaction between the user 135 and the digital assistant 120, the assistant application platform 130 may determine, based on the storage configuration 212 of the digital assistant 120, whether the interaction information 210 between the user 135 and the digital assistant 120 includes or depends on one or more types of information indicated by the persistent storage configuration. The persistent storage configuration indicates one or more types of information to be stored for the digital assistant 120, and may include a definition of one or more types of information to be stored for the digital assistant 120. During the interaction between the user 135 and the digital assistant 120, according to the storage configuration 212, the digital assistant 120 will store, update and / or query and read the indicated one or more types of information, and interact with the user 135 based on these types of information to determine a reply to the user.
[0043] In some embodiments, the digital assistant 120 will use a model to help perform interactions with the user. The digital assistant 120 will use the model to understand the user input and provide a response to the user based on the output of the model. The model used by the digital assistant 120 can run locally on the assistant creation platform 110 or on a remote server. In some embodiments, the model can be a machine learning model, a deep learning model, a learning model, a neural network, etc. In some embodiments, the model can be based on a language model (LM). The language model can have question-and-answer capabilities by learning from a large amount of corpus. The model can also be based on other appropriate models.
[0044] During the interaction between the user and the digital assistant 120, due to factors such as the length of the model input, the digital assistant will at most extract limited contextual information from historical interactions to understand the user input. However, for users interacting with the digital assistant, they may prefer that the digital assistant be able to retain certain information for a long time so that it can continue to provide more targeted responses. If the digital assistant needs to repeatedly ask for this information during the interaction with the digital assistant, it will result in a reduced user experience. Therefore, in an embodiment of the present disclosure, the digital assistant 120 is configured with at least one type of information to be stored. Through this storage configuration, the at least one defined type of information will be automatically extracted and stored during the interaction between the digital assistant 120 and the user for subsequent interactions. If the user updates a certain type of information during the interaction, the previously stored information of that type will be overwritten or updated. These defined types of information will be stored long-term for the specific user interacting with the digital assistant 120. This storage configuration of the digital assistant is also called a persistent storage configuration. In this way, from the perspective of the user interacting with the digital assistant 120, the digital assistant 120 can always remember certain key information, thereby providing a good interactive experience.
[0045] Figure 3 shows a schematic diagram of creating a storage configuration 300 for a digital assistant 120 according to some embodiments of the present disclosure. Interface 300 of Figure 3 can be understood as part of the creation page for a digital assistant 120. In interface 300, the creator of a digital assistant 120 can configure the storage configuration for the digital assistant 120. In interface 300, the creator of the digital assistant 120 can add the type name and description of the information to be stored. In the example of Figure 3, assume the configured type is "Food Taste," which records the user's food preferences. Furthermore, the creator can delete an already added type of information by deleting control 310, or add more types of information by adding control 302. In some embodiments, the storage configuration can define the type of information to be stored in a one-to-one key-value pair format, where the "key" information indicates the type to be stored and the "value" indicates the specific information within that type. In some embodiments, more complex structured data can be defined in the storage configuration. For example, a one-to-many data structure can be defined to store multiple information values for a certain type. Alternatively, a many-to-many data structure can be defined to store multiple information values for multiple types. There is no specific limitation on the format of the information to be stored for a long time.
[0046] In addition to the storage configuration 212 of the digital assistant 120 being defined by the creator of the digital assistant 120 during the creation phase, in some embodiments, the storage configuration 212 of the digital assistant 120 can optionally be customized during the application phase between the user 135 and the digital assistant 120. The embodiments of the present disclosure are not limited in this regard.
[0047] After the storage configuration 212 of the digital assistant 120 is defined, as mentioned above, during the interaction between the digital assistant 120 and the user 135, it can be determined whether the interaction information 210 of each interaction includes or depends on one or more types of information indicated by the storage configuration 212. Here, the interaction information 210 to be used for determination may include one or more conversation messages (also referred to as "user queries") input by the user 135 to the digital assistant 120, and / or one or more rounds of conversation messages between the user 135 and the digital assistant 120. The digital assistant 120 has the ability to extract interaction information in conjunction with the conversation context.
[0048] In some embodiments, it may be determined whether part or all of the interaction information 210 matches the names of one or more types indicated by the storage configuration 212. For example, the names of one or more types indicated by the storage configuration 212 may be defined as "keywords," and then a determination may be made as to whether the interaction information 210 matches the names of one or more types indicated by the storage configuration 212 by matching the keywords of the interaction information 210.
[0049] The interaction information 210 includes one or more types of information indicated by the storage configuration 212, meaning that the interaction information 210 provides specific information of one or more types. For example, if the storage configuration indicates that information of the user's "food taste" type is to be stored, then providing information such as "I like hot pot" in the user's interaction information means that the interaction information includes information of the "food taste" type indicated by the configuration information.
[0050] Interaction information 210 depends on one or more types of information indicated by storage configuration 212, meaning that further responses to interaction information 210 are determined based on one or more types of stored information. For example, if the user enters interaction information such as "Please recommend some restaurants for me," the digital assistant may need to use information related to the user's "food preferences" when determining a response to the user in order to provide a more accurate response.
[0051] If it is determined that the interaction information 210 includes information of the first type and the information of the first type is not stored, the assistant application platform 130 writes the information of the first type into the storage area corresponding to the first type. If it is determined that the interaction information 210 depends on information of the first type and the information of the first type is already stored, the stored information of the first type is read from the storage area corresponding to the first type.
[0052] Referring back to FIG. 2 , in FIG. 2 , one or more types of information indicated by the storage configuration may be stored in storage device 230, with each type of information being assigned a corresponding storage area 232 in storage device 230 for storing information of that type. As shown in FIG. 2 , different storage areas 232 are used to store information 1 corresponding to type 1, information corresponding to type 2, and so on, up to information N corresponding to type N. Depending on the specific interaction between user 135 and digital assistant 120, the one or more types of information indicated by storage configuration 212 may already be stored (e.g., for types 1 and N), or may not be stored (e.g., for type 2).
[0053] Storage device 230 can be any type of device capable of long-term persistent data storage. Storage device 230 can be any suitable data repository or storage system, such as a remote dictionary server (Redis). The embodiments of the present disclosure do not limit the specific type of storage device 230.
[0054] In some embodiments, the digital assistant 120 can use the model to determine whether the interaction information 210 includes or depends on one or more types of information indicated by the storage configuration 212. Specifically, a prompt input for the model can be constructed based on the storage configuration 212 and the interaction information 210. The prompt input is used to guide the model to determine whether the interaction information 210 hits one or more types indicated by the storage configuration 212. The prompt input can, for example, include a system prompt for the model. The prompt input will be provided to the model to obtain the output of the model. The output of the model indicates whether the interaction information 210 includes or depends on one or more types of information indicated by the persistent storage configuration.
[0055] In some embodiments, the digital assistant 120 may also be registered with a corresponding plug-in to perform writing and reading of various types of information indicated by the storage configuration 212. In this article, the plug-in is named "read-write plug-in" 220. The read-write plug-in 220 may be configured with corresponding tools (or functions) for implementing writing and reading of various types of information indicated by the storage configuration 212. In some embodiments, in addition to the storage configuration 212 and the current interaction information 210 of the digital assistant, a prompt word input for the model may also be constructed based on the description 214 of the read-write plug-in. In this way, the prompt word input can guide the model to write one or some types of information mentioned in the interaction information 210 into the corresponding storage area, or read from the corresponding storage area.
[0056] In some embodiments, the read-write plug-in 220 can be configured as one or more functions to implement the writing and reading of information. Figure 2 shows an example function that the read-write plug-in 220 can call. For example, the setMemory function 222 can be configured to set (write) information of a specific type, the getMemory function 224 can be configured to obtain (read) information of a specific type, the appendMemory function 226 can be configured to write one-to-many type information, the listmemory function 228 can be configured to write many-to-many type information, and so on. Note that only some example functions are given here. In actual applications, different functions can be set for the read-write plug-in 220 as needed to implement reading and writing information of different data structures.
[0057] In some embodiments, the description 214 of the read-write plug-in includes a description of the read-write tasks that the read-write plug-in can implement, an indication of the tools or functions included in the read-write plug-in (e.g., functions 222, 224, 226, and 228 in FIG. 2 ), a description of the functions that these functions can implement, parameters required for the operation of the functions, etc. In some embodiments, the description 214 of the read-write plug-in can be provided for constructing a prompt word input for the model. The construction of such prompt word input can be defined in the creation phase of the digital assistant, or it can be defined in the application phase of the digital assistant.
[0058] Thus, by calling the read-write plug-in 220 of the digital assistant 120, one or more types of information indicated in the storage configuration 212 can be written into the corresponding storage area. Alternatively, by calling the read-write plug-in 220 of the digital assistant 120, one or more types of information stored can be read from the corresponding storage area.
[0059] Furthermore, the digital assistant 120 determines the reply of the digital assistant 120 to the user 135 based on the stored or read first type of information. In Figure 2, if it is determined that the interaction information 210 includes the first type of information, the digital assistant 120 can (for example, with the help of the read-write plug-in 220) extract the information corresponding to the first type from the interaction information 210 and write the extracted information to the storage area 232 corresponding to the persistent storage device 230. Further, the digital assistant 120 can also determine the digital assistant's reply 240 to the user 135 based on the first type of information. If it is determined that the interaction information 210 depends on the first type of information, the digital assistant 120 can (for example, with the help of the read-write plug-in 220) read the information 242 corresponding to the first type from the storage area 232 corresponding to the persistent storage device 230. Further, the digital assistant 120 can also determine the digital assistant's reply 245 to the user 135 based on the first type of information.
[0060] FIG4 illustrates an example of an interaction interface 400 between user 135 and digital assistant 120, according to some embodiments of the present disclosure. In this example, it is assumed that digital assistant 120 can be invoked in a messaging application to interact with the user. Selecting digital assistant 120 in contact area 420 presents a conversation window 410 corresponding to digital assistant 120. The user can enter a conversation message in conversation window 410 and view responses from digital assistant 120 in conversation window 410.
[0061] In the example of FIG. 4 , assume that the persistent storage configuration of digital assistant 120 indicates at least the type "food taste." During a user interaction with digital assistant 120, the user enters a conversation message 430 that matches the type "food taste" in the persistent storage configuration. Thus, the information corresponding to this type, "hot pot," can be extracted from conversation message 430 and stored in the storage area of persistent storage device 230. Furthermore, in this interaction, digital assistant 120 also determines a reply message 432 to the user based on the stored information.
[0062] In subsequent interactions, the information corresponding to this category, "hot pot," is always recorded and can be read and used by digital assistant 120 at any time, rather than being forgotten as time passes between interactions. In a subsequent interaction, the user continues to enter a conversation message 434 that matches the previously stored category "food taste" in the persistent storage configuration. At this point, since the information corresponding to this category, "hot pot," has already been stored, digital assistant 120 can read this information from the corresponding storage area and, based on this information, determine a reply message 436 to the user.
[0063] In some embodiments, if user 135 again provides information of a certain type in the persistent storage configuration during an interaction with digital assistant 120, the previously stored information of that type may be updated. For example, if it is determined that the interaction information between user 135 and digital assistant 120 includes information of a first type, but the stored information of the first type is different from the information in the current interaction information, the stored information of the first type may be updated with the information of the first type included in interaction information 210. In this way, the latest information provided by user 135 can be continuously updated and recorded as the interaction progresses, thereby enabling interaction with the digital assistant.
[0064] In some embodiments, if it is determined that the interaction information 210 depends on the first type of information and the first type of information is not stored, a prompt message is provided to the user 135 to prompt the user 135 to provide the first type of information. In this way, the user can be prompted to actively provide the required information to improve the accuracy of the interaction. For example, in the interaction example of Figure 4, assuming that the user does not provide the conversation message 430, but directly asks for restaurant recommendations in the conversation message 434, then the reply message of the digital assistant 120 can prompt the user to first provide information about the type of "food taste" in order to complete the restaurant recommendation desired by the user. After the user provides information about the type of "food taste" according to the prompt message, the digital assistant 120 can not only record the information under the corresponding type, but also complete the restaurant recommendation based on the information obtained.
[0065] FIG5 shows a flow chart of a process 500 for digital assistant interaction according to some embodiments of the present disclosure. The process 500 may be implemented at the assistant application platform 130. The process 500 is described below with reference to FIG1.
[0066] In block 510 , the assistant application platform 130 determines, based on the storage configuration of the digital assistant, whether the interaction information between the user and the digital assistant includes or depends on the first type of information indicated by the storage configuration.
[0067] In block 520 , if the assistant application platform 130 determines that the interaction information includes information of the first type and the information of the first type is not stored, the assistant application platform 130 writes the information of the first type into a storage area corresponding to the first type.
[0068] In block 530 , if the assistant application platform 130 determines that the interaction information depends on the first type of information and the first type of information has been stored, the assistant application platform 130 reads the stored first type of information from the storage area corresponding to the first type.
[0069] In block 540 , the assistant application platform 130 determines a reply of the digital assistant to the user based on the stored or read first type of information.
[0070] In some embodiments, the storage configuration includes a definition of one or more types of information to be stored for the digital assistant, the one or more types including the first type.
[0071] In some embodiments, process 500 further includes: if the stored information of the first type is different from the information of the first type included in the interaction information, updating the stored information with the information of the first type included in the interaction information.
[0072] In some embodiments, the process 500 further includes: if it is determined that the interaction information depends on the first type of information and the first type of information is not stored, providing prompt information to the user to prompt the user to provide the first type of information.
[0073] In some embodiments, determining whether the interaction information includes or depends on the first type of information indicated by the storage configuration includes: constructing a prompt word input for the model based on the storage configuration and the interaction information; and obtaining an output of the model by providing the prompt word input to the model, the output of the model indicating whether the interaction information includes or depends on the first type of information indicated by the storage configuration.
[0074] In some embodiments, the storage area corresponding to the first type includes a storage area in a storage device.
[0075] In some embodiments, writing the first type of information into the storage area corresponding to the first type includes: writing the first type of information into the storage area corresponding to the first type by calling a read-write plug-in of the digital assistant.
[0076] In some embodiments, reading the stored first type of information from the storage area corresponding to the first type includes: reading the stored first type of information from the storage area corresponding to the first type by calling the read-write plug-in of the digital assistant.
[0077] 6 shows a block diagram of an apparatus 600 for digital assistant interaction according to some embodiments of the present disclosure. The apparatus 600 may be implemented in or included in the assistant application platform 130, for example. The various modules / components in the apparatus 600 may be implemented by hardware, software, firmware, or any combination thereof.
[0078] As shown in the figure, the device 600 includes an information determination module 610, which is configured to determine, based on the storage configuration of the digital assistant, whether the interaction information between the user and the digital assistant includes or depends on the first type of information indicated by the storage configuration. The device 600 also includes an information writing module 620, which is configured to write the first type of information into the storage area corresponding to the first type if it is determined that the interaction information includes the first type of information and the first type of information is not stored.
[0079] The apparatus 600 further includes an information reading module 630 configured to read the stored first type of information from a storage area corresponding to the first type if it is determined that the interaction information depends on the first type of information and the first type of information has been stored. The apparatus 600 further includes a reply determination module 640 configured to determine the digital assistant's reply to the user based on the stored or read first type of information.
[0080] In some embodiments, the storage configuration includes a definition of one or more types of information to be stored for the digital assistant, the one or more types including the first type.
[0081] In some embodiments, the apparatus 600 further includes an information updating module configured to: if the stored information of the first type is different from the first type of information included in the interaction information, update the stored information with the first type of information included in the interaction information.
[0082] In some embodiments, the apparatus 600 further includes an information prompt module configured to: if it is determined that the interaction information depends on the first type of information and the first type of information is not stored, provide prompt information to the user to prompt the user to provide the first type of information.
[0083] In some embodiments, the information determination module 610 includes: a prompt word construction module, configured to construct a prompt word input for the model based on the storage configuration and the interaction information; and an output acquisition module, configured to obtain the output of the model by providing the prompt word input to the model, wherein the output of the model indicates whether the interaction information includes or depends on the first type of information indicated by the storage configuration.
[0084] In some embodiments, the storage area corresponding to the first type includes a storage area in a storage device.
[0085] In some embodiments, the information writing module 620 is configured to write the first type of information into the storage area corresponding to the first type by calling the read-write plug-in of the digital assistant.
[0086] In some embodiments, the information reading module 630 is configured to read the stored first type of information from the storage area corresponding to the first type by calling the read-write plug-in of the digital assistant.
[0087] FIG7 shows a block diagram of an electronic device 700 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 700 shown in FIG7 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 700 shown in FIG7 may include or be implemented as the assistant creation platform 110 and / or the assistant application platform 130 of FIG1 , and / or the apparatus 600 of FIG6 .
[0088] As shown in FIG7 , electronic device 700 is a general-purpose electronic device. Components of electronic device 700 may include, but are not limited to, one or more processors or processing units 710, memory 720, storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. Processing unit 710 may be a real or virtual processor and is capable of performing various processes according to programs stored in memory 720. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing capabilities of electronic device 700.
[0089] The electronic device 700 typically includes a plurality of computer storage media. Such media can be any accessible media that can be obtained by the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 730 can be a removable or non-removable medium and can include a machine-readable medium, such as a flash drive, a disk, or any other medium that can be used to store information and / or data and can be accessed within the electronic device 700.
[0090] The electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 7 , a disk drive for reading from or writing to a removable, non-volatile disk (e.g., a “floppy disk”) and an optical drive for reading from or writing to a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data media interfaces. The memory 720 may include a computer program product 725 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.
[0091] The communication unit 740 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 700 can be implemented as a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the electronic device 700 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.
[0092] Input device 750 may be one or more input devices, such as a mouse, keyboard, or trackball. Output device 760 may be one or more output devices, such as a display, a speaker, or a printer. Electronic device 700 may also communicate with one or more external devices (not shown) via communication unit 740 as needed, such as storage devices, display devices, or the like, with one or more devices that allow a user to interact with electronic device 700, or with any device that allows electronic device 700 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0093] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.
[0094] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0095] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.
[0096] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0097] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple implementations of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction comprises one or more executable instructions for realizing the logical function of the specification. In some updated implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0098] While various implementations of the present disclosure have been described above, the foregoing description is intended to be illustrative, not exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is selected to best explain the principles of the implementations, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the various implementations disclosed herein.
Claims
1. A method for digital assistant interaction, comprising: Receiving interaction information between a user and the digital assistant; Based on the storage configuration of the digital assistant, in response to determining that the interaction information includes information of a first type indicated by the storage configuration and the information of the first type is not stored, writing the information of the first type into a storage area corresponding to the first type; or Based on the storage configuration of the digital assistant, in response to determining that the interaction information depends on the first type of information indicated by the storage configuration and the first type of information has been stored, reading the stored first type of information from the storage area corresponding to the first type; as well as The digital assistant determines a reply to the user based on the stored or read first type of information.
2. A method according to claim 1, wherein the storage configuration includes a definition of one or more types of information to be stored for the digital assistant, the one or more types including the first type.
3. The method according to claim 1, further comprising: In response to determining that the stored information of the first type is different from the information of the first type included in the interaction information, the stored information is updated with the information of the first type included in the interaction information.
4. The method according to claim 1, further comprising: Based on the storage configuration of the digital assistant, in response to determining that the interaction information depends on a first type of information indicated by the storage configuration and the first type of information is not stored, prompt information is provided to the user to prompt the user to provide the first type of information.
5. The method according to claim 1, further comprising: constructing a prompt word input for a model based on the storage configuration and the interaction information; as well as By providing the cue word input to the model, an output of the model is obtained, the output of the model indicating whether the interaction information includes or depends on the first type of information indicated by the storage configuration. The method according to claim 1 , wherein the storage area corresponding to the first type comprises a storage area in a storage device.
7. The method according to claim 1, wherein writing the information of the first type into a storage area corresponding to the first type comprises: Writing the information of the first type into a storage area corresponding to the first type by calling the read-write plug-in of the digital assistant; and The step of reading the stored information of the first type from the storage area corresponding to the first type includes: By calling the read-write plug-in of the digital assistant, the stored information of the first type is read from the storage area corresponding to the first type.
8. A device for digital assistant interaction, comprising: An information receiving module, configured to receive interaction information between a user and the digital assistant; an information writing module configured to, based on a storage configuration of the digital assistant, write the information of the first type into a storage area corresponding to the first type in response to determining that the interaction information includes information of the first type indicated by the storage configuration and the information of the first type is not stored; or an information reading module, configured to read the stored information of the first type from the storage area corresponding to the first type in response to determining that the interaction information depends on the information of the first type and the information of the first type has been stored, based on the storage configuration of the digital assistant; as well as A reply determination module is configured to determine the digital assistant's reply to the user based on the stored or read first type of information.
9. An electronic device, comprising: at least one processing unit; as well as at least one memory coupled to the at least one processor The electronic device further comprises a processing unit and stores instructions for execution by the at least one processing unit, wherein the instructions, when executed by the at least one processing unit, cause the electronic device to execute the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, wherein the computer program can be executed by a processor to implement the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method and apparatus for smart man-machine chat based on artificial intelligence
CN105094315A
Man-machine interaction method and device for intelligent robot
CN106774832A
Data processing method for chat and related device
CN114003702A
Context construction method based on large language model
CN116821309A
The conversational assistant for conversational engagement
US20220310079A1