User profiles using thinking chain knowledge maps for querying machine learning systems
By generating a specific CoT-KG for each user, the challenges of dialogue assistants in understanding dialogue context and predicting user questions are solved, resulting in more accurate responses and real-time updates, thus improving the user experience.
Patent Information
- Application Number
- CN202511170433.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-08-20
- Filing Date
- 2025-08-20
- Publication Date
- 2026-03-03
AI Technical Summary
Existing AI-based conversational assistants face challenges in understanding and remembering conversational context, predicting the user's next question or topic, and updating knowledge graphs in real time, especially in scenarios spanning multiple conversations or covering a wide range of topics.
The CoT-KG (CoT-KG) model is used to model the user's thought process, generating a knowledge graph specific to each user. The machine learning model predicts the user's query target topic and updates the graph in real time to improve the accuracy and consistency of the response.
It improves the conversational assistant's ability to understand the context of conversations across multiple sessions or broad topics, enhances its ability to predict the user's next question or topic, and simplifies the real-time maintenance and updating process of the knowledge graph, providing a more seamless and engaging user experience.
Smart Images

Figure CN121597829A_ABST
Abstract
Description
Technical Field
[0001] This disclosure typically relates to machine learning. Background Technology
[0002] Artificial intelligence (AI) is a rapidly developing field in recent years, with significant advancements in natural language processing (NLP) and information retrieval systems (IRS). NLP, a subfield of AI, focuses on enabling machines to understand, interpret, and generate human language. IRS, on the other hand, is the field of organizing and retrieving information from large volumes of documents. In the context of AI-based conversational assistants, these technologies are frequently used to enhance the assistant's understanding and responsiveness, thereby allowing it to interact better with users.
[0003] Currently, AI-based conversational assistants primarily use machine learning models, such as Large Language Models (LLMs), multimodal language models, or variational autoencoders with multimodal autoencoders, to understand and respond to user input. These models are trained on large amounts of data and can generate human-like responses to a wide range of questions. Additionally, knowledge graphs (KGs) are frequently used to enhance the robot's understanding by providing structured representations of knowledge. This allows the robot to better understand the context of user questions and provide more accurate responses.
[0004] Despite advancements in AI-based conversational assistants, several challenges remain to be addressed. One major issue is the bot's ability to understand and remember conversational context. This is particularly challenging in scenarios where conversations span multiple sessions or cover a wide range of topics. Another challenge is the bot's ability to accurately predict the next question or topic a user might ask. This is crucial for providing a seamless and engaging user experience, but it remains a significant challenge in current technology. Furthermore, while knowledge gatherers (KGs) can enhance bot understanding, they are often difficult to maintain and update, especially in real-time scenarios. Summary of the Invention
[0005] Typically, this disclosure describes techniques for enhancing the use of a conversational assistant by incorporating a model of thought chains corresponding to a specific user, which employs machine learning to tailor responses to queries from users. In one example of the techniques disclosed, a system such as a conversational assistant system processes records of past queries for each of a plurality of different users and processes corresponding past responses by a machine learning model to generate a knowledge graph corresponding to each of the plurality of different users. In some examples, the knowledge graph includes a thought chain knowledge graph (CoT-KG) modeling the thought chains of each specific user among the plurality of different users. The knowledge graph includes nodes and edges, each node representing a topic presented within the user's past queries, and each edge representing co-occurrence among topics presented within the user's past queries.
[0006] The system receives queries from users and determines one or more topics presented within those queries. The system determines the target query based at least in part on each topic presented within the query and the knowledge graph corresponding to the user. The target query includes target topics predicted as the ultimate goal of the user's query, which the user is predicted to be attempting to reach during several query and response interactions with the system.
[0007] The system provides a user's query to a machine learning model, which then generates a response to that query. In some examples, the machine learning model is an LLM (Local Level Machine). The system constrains the machine learning model to include the target topic of the target query within the response. The system outputs the response to the user's query for display.
[0008] The techniques disclosed herein can provide specific improvements to computer-related fields of machine learning, and more specifically, to computer-related fields of conversational AI with practical applications. For example, the techniques disclosed herein can improve a conversational assistant's ability to understand and remember the context of a conversation, even if the conversation spans multiple sessions or covers a wide range of topics. As another example, the techniques disclosed herein can enhance a conversational assistant's ability to accurately predict the next question or topic a user might ask, thereby providing a more seamless and engaging user experience. As yet another example, the techniques disclosed herein can simplify the maintenance and updating of the knowledge storage (KG) in real-time scenarios, which is currently a significant challenge in the field of AI-based conversational assistants.
[0009] In one example, this disclosure describes a system comprising: processing circuitry means in communication with a storage medium, configured to: process records of a user’s past queries to generate a knowledge graph corresponding to the user, the knowledge graph including nodes and edges, each node representing a topic presented in a topic within the user’s past queries, and each edge representing a co-occurrence between topics presented in the user’s past queries; determine a topic presented in the user’s query; determine a target query including a target topic based at least in part on the topics presented in the query and the knowledge graph corresponding to the user; provide the user’s query to a machine learning model to generate a response to the user’s query by the machine learning model, wherein the target topic constrains the machine learning model to include the target topic of the target query in the response; and output the response to the user’s query.
[0010] In another example, this disclosure describes a method comprising: processing records of a user's past queries by a processing circuit means to generate a knowledge graph corresponding to the user, the knowledge graph including nodes and edges, each node representing a topic presented in the user's past queries, and each edge representing co-occurrence among topics presented in the user's past queries; determining, by the processing circuit means, topics presented in the user's query; determining, by the processing circuit means, a target query including a target topic, based at least in part on the topics presented in the query and the knowledge graph corresponding to the user; providing the user's query to a machine learning model by the processing circuit means to generate a response to the user's query by the machine learning model, wherein the target topic constrains the machine learning model to include the target topic of the target query in the response; and outputting the response to the user's query by the processing circuit means.
[0011] In another example, this disclosure describes a non-transitory computer-readable medium including instructions that, when executed, are configured to cause processing circuitry to: process records of a user's past queries to generate a knowledge graph corresponding to the user, the knowledge graph including nodes and edges, each node representing a topic presented in the user's past queries, and each edge representing co-occurrence among topics presented in the user's past queries; determine topics presented in the user's query; determine a target query including a target topic based at least in part on the topics presented in the query and the knowledge graph corresponding to the user; provide the user's query to a machine learning model to generate a response to the user's query by the machine learning model, wherein the target topic constrains the machine learning model to include the target topic of the target query in the response; and output the response to the user's query.
[0012] Details of one or more examples of the technology disclosed herein are set forth in the accompanying drawings and description below. Other features, objects, and advantages of the technology will become apparent from the description and drawings, as well as from the claims. Attached Figure Description
[0013] Figure 1 This is a block diagram illustrating an example system for performing a conversational assistant according to the technology disclosed herein.
[0014] Figure 2 This is a block diagram illustrating another example system for performing a conversational assistant according to the technology disclosed herein.
[0015] Figure 3 This is a block diagram illustrating an example dialogue chain according to the technology disclosed herein.
[0016] Figure 4 This is a block diagram illustrating an example CoT-KG according to the technology of this disclosure.
[0017] Figure 5 This is a block diagram illustrating an example computing device for performing a conversational assistant according to the technology of this disclosure.
[0018] Figure 6 This is a flowchart illustrating an example operation of the technology according to this disclosure.
[0019] In all the accompanying drawings and implementations, the same reference numerals refer to the same elements. Detailed Implementation
[0020] Recent advancements in the LLM (Language, Literature, and Modeling) field have been evidenced by significant improvements in the quality and adoption of conversational assistants by enterprises. Due to their language understanding and reasoning capabilities, LLMs serve as a superior alternative to rule-based engines for building conversational assistants. Typically, enterprise conversational assistants are designed to provide responses tailored to a business-defined group of users, rather than offering user-specific responses.
[0021] Knowledge bases (KGs) are directed graphs that construct data into a knowledge base. Nodes in a KG can represent topics, while edges can represent relationships between topics represented by corresponding nodes. Regular machine learning systems can use KGs to model the thought processes of the machine learning system itself. By constraining the machine learning system to produce responses that follow structured thought processes, the use of regular KGs can increase the likelihood of the machine learning system producing coherent responses and reduce the occurrence of illusions (e.g., illogical topics) generated by the machine learning system.
[0022] Conventional machine learning systems, specifically LLMs, are trained on large amounts of data generated by multiple different users. Therefore, such conventional machine learning systems are generalized to be applicable to a wide variety of users. Consequently, these conventional machine learning systems, such as LLMs and multimodal systems (e.g., audio, video, and text), cannot capture the individual preferences of a specific user. Furthermore, such conventional machine learning systems may not be able to provide content specific to an individual user. With advancements in LLMs, businesses are working to build conversational assistants that can respond based on individual user profiles. Integrating user-specific profiles and preferences into LLM responses can improve the quality of the user experience and help businesses parse user queries more quickly.
[0023] According to the technology disclosed herein, a system implementing a conversational assistant as described herein employs a novel type of knowledge graph (referred to herein as Context Topic-KG) to model the user's thought processes using a knowledge graph. Each node in the CoT-KG user profile graph is an input-output pair referred to herein as a topic. This allows the system to represent topics in any modality and integrate seamlessly with multimodal language models, variational autoencoders with multimodal autoencoders, and / or LLMs.
[0024] As described in this paper, a user-specific CoT-KG is created. CoT-KG is a mechanism for profiled users by modeling their thought process chains across multiple modalities (e.g., text, image, audio, and video) and their historical interactions with the conversational assistant. The user profile is then used to learn the user's thought process chains for tailoring the LLM's response. For example, by leveraging CoT-KG, the conversational assistant can predict the intent behind a user's query and predict future follow-up queries the user might ask. The LLM then uses these predictions to generate a response that incorporates the user's overall predictive goal. Therefore, the technique described in this paper enables conversational assistants that achieve fewer queries and faster query parsing compared to conventional conversational assistants employing machine learning.
[0025] Furthermore, the conversational assistant system described herein exhibits improved understanding and memory. By using knowledge graphs to model the user's thought processes, the techniques disclosed herein significantly improve the conversational assistant's ability to understand and remember conversational context. Even when conversations span multiple sessions or cover a wide range of topics, the system is able to accurately predict the next question or topic the user is likely to ask. Therefore, compared to conventional conversational assistants employing machine learning, the conversational assistant described herein can provide a more seamless and engaging user experience.
[0026] The system described herein can also enable integration with multiple modalities and / or multiple types of media, such as audio, video, text, or gestures received from the user. Unlike conventional techniques, systems operating according to the technology disclosed herein operate in multiple modalities on user input and output, including LLMs, multimodal language models, or variational autoencoders with multimodal autoencoders. This allows dialogue assistants as described herein to handle multiple modalities on user input and provide a more comprehensive and efficient user experience.
[0027] Furthermore, the system described in this paper enables real-time maintenance and updating of the knowledge graph. A key challenge in the field of AI-based conversational assistants is the maintenance and updating of the knowledge graph in real-time scenarios. The technical solution presented in this paper simplifies this process by allowing the system to learn from user interactions and update the knowledge graph accordingly. The techniques disclosed in this paper operate on user inputs and outputs in multiple modalities on LLMs, multimodal language models, and / or variational autoencoders with multimodal autoencoders, making them highly adaptive and efficient. Moreover, each node in the CoT-KG user profile graph is an input-output pair, which simplifies the maintenance and updating of the knowledge graph. This is a significant improvement over conventional techniques, where knowledge graphs are often difficult to maintain and update, especially in real-time scenarios.
[0028] Figure 1 This is a block diagram illustrating an example system 100 for performing a conversational assistant according to the technology of this disclosure. System 100 includes a machine learning model 114, a knowledge base (KG) 104, and a user interaction history database 112. The conversational assistant of system 100 employs machine learning model 114 to customize responses to queries 110 received from user 130 via user device 132. According to the technology of this disclosure, and as described in more detail below, the machine learning model 114 is instructed by KG 104, which attempts to model the thought processes of user 130 and is generated based on a record of past interactions between user 130 and system 100. As described in more detail below, system 100 can improve its understanding and memory of the conversational assistant using a CoT-KG.
[0029] User 130 could be, for example, a customer of a business. The business could provide a conversational assistant through system 100, with which user 130 could communicate to ask questions about the products or services offered by the business, and to obtain documentation, guides, troubleshooting help, customer support, etc., related to those products or services. In other examples, user 130 could be an administrator or employee who could interact with system 100 to perform troubleshooting, management, or support related to the products or services offered by the business.
[0030] User 130 submits query 110 to system 100. As described herein, a query may also be referred to as a prompt. Query 110 may take the form of multiple modalities or multiple different types of media. For example, query 110 may be a text query transmitted to system 100 via user device 132. As another example, query 110 may be a video query transmitted via a video input device or an audio query transmitted via an audio input device. In some examples, query 110 may take the form of facial expressions or gestures conveyed by user 130 and measured by a face tracking device or motion tracking device.
[0031] Typically, system 100 receives query 110 from a user via user equipment(s) 132. For example, user equipment(s) 132 may be one or more devices providing a user interface that user 130 can use to interact with system 100, such as computing devices, desktop computers, laptop computers, mobile devices, tablet computers, personal digital assistants (PDAs), or "smartphones." In some examples, such as when query 110 takes a modal form other than a text query, user equipment(s) 132 may be or may include video input devices, audio input devices, face tracking devices, motion tracking devices, gesture tracking devices, or other suitable types of user interfaces.
[0032] System 100 can be implemented on any computer hardware with sufficient computing power. In some examples, System 100 can be implemented within a single computing device, while in other examples, System 100 can be implemented across a distributed computing system such as a cloud computing platform. In some examples, System 100 includes a computing engine implemented in a circuit arrangement. For example, the computing engine of System 100 may include any one or more logic circuits such as a microprocessor, controller, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or equivalent discrete or integrated logic circuits. In another example, System 100 may include any suitable computing system such as a desktop computer, laptop computer, game console, personal digital assistant (PDA), smart TV, handheld device, tablet computer, mobile phone, “smartphone,” etc. In some examples, at least a portion of System 100 may be distributed across a cloud computing system, data center, or across a network (such as the Internet), another public or private communication network (e.g., broadband, cellular, Wi-Fi, and / or other types of communication networks) for transferring data between computing systems, servers, and computing devices.
[0033] In some examples, system 100 can be implemented in a circuit, such as via one or more processors and / or one or more storage devices (in... Figure 1(Not shown in the image). One or more devices, modules, storage areas, or other components of system 100 may be interconnected to enable inter-component communication (physically, communicatively, and / or operatively). In some examples, such connectivity may be provided via a system bus, network connection, inter-process communication data structure, or any other method for conveying data. One or more processors of system 100 may implement functions associated with system 100 and / or execute instructions. Examples of processors include microprocessors, application processors, display controllers, auxiliary processors, one or more sensor hubs, and any other hardware configured as a processor, processing unit, or processing device. System 100 may use one or more processors to perform operations according to one or more aspects of this disclosure, using software, hardware, firmware, or a mixture of hardware, software, and firmware residing in and / or executing at system 100.
[0034] One or more storage devices within system 100 (in Figure 1 (Not shown) The storage device may store information for processing during operation of system 100. In some examples, one or more storage devices are temporary storage, meaning that the primary purpose of the one or more storage devices is not long-term storage. The storage device on system 100 may be configured to store information short-term in volatile memory, and therefore not retain the stored contents if it is deactivated. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the art. In some examples, the storage device may also include one or more computer-readable storage media. The storage device may be configured to store a larger amount of information than volatile memory. The storage device may also be configured to store information long-term in non-volatile memory space and retain the information after an activation / deactivation cycle. Examples of non-volatile memory include magnetic hard disks, optical disks, floppy disks, flash memory, or electrically programmable memory (EPROM) or electrically erasable programmable memory (EEPROM). The storage device may store program instructions and / or data associated with one or more modules described according to one or more aspects of this disclosure.
[0035] System 100 may provide an operating environment or platform for one or more modules that can be implemented as software, but in some examples may include any combination of hardware, firmware, and software. The one or more processors may execute instructions, and the one or more storage devices may store instructions and / or data of one or more modules. The combination of processors and storage devices may retrieve, store, and / or execute instructions and / or data of one or more applications, modules, or software. The processors and / or storage devices may also be operatively coupled to one or more other software and / or hardware components, including, but not limited to, those described below. Figure 2 and Figure 5 One or more components are shown.
[0036] User interaction history database 112 is a database that includes records of past interactions for multiple different users, including user 130, between each corresponding user and system 100. For example, database 112 includes records of past queries by user 130 and past responses by system 100 to those queries. As discussed above, these queries can be multimodal, as they may include natural gestures, facial expressions, emotions, tone of voice, typing feedback, likes or dislikes, or comments provided by user 130 to system 100. For example, as described herein, multimodal refers to multiple types of content, such as images, text, audio and / or video-based content, as well as other types of content not explicitly described herein. In some examples, database 112 includes historical searches performed by user 130, such as via a search engine or web browser. In some examples, database 112 includes one or more topics of interest to the user. In some examples, database 112 includes a profile of user 130, which may include, for example, the country of residence or employment, the type of employment or sector in which user 130 works, user 130's job code, or user 130's geographical location. In some examples, database 112 includes voice modulation and / or avatars selected by user 130 for use by a conversational assistant provided by system 100.
[0037] According to the technology disclosed herein, KG 104 is a KG that models the thought chain of user 130. A KG is a knowledge base that constructs data in the form of a directed graph including nodes and edges between nodes. Nodes in a KG can be used to represent topics, and edges can be used to represent relationships between topics represented by corresponding nodes. Conventionally, KGs can be used to model the thought chains of machine learning models to increase the likelihood of coherent responses and reduce the occurrence of illusions. A conventional KG can achieve this by constraining the machine learning model to generate responses that follow the thought chain modeled by the KG, with the intent that the progression of topics within the exchange between the user and the conversational assistant should follow a logical flow in which each subsequent topic is related to each previous topic, and that illogical topics for the conversational assistant should be minimized.
[0038] According to the technology disclosed herein, KG 104 includes a CoT-KG corresponding to user 130 and models the thought chain of user 130. This contrasts with conventional KGs that can be used to model the thought chain of machine learning models. By modeling the thought chain of user 130, machine learning model 114 can predict the next topic to be queried by user 130, such as user 130's final target topic, predict subsequent queries queried by user 130, or predict additional topics of interest to user 130. This allows system 100 to provide customized, user-specific responses to user 130's queries. A large corpus of text data can be used to develop the context topic CoT-KG 104 as described herein. The corpus includes different ranges of topics and categories to ensure the comprehensiveness of the CoT-KG. (See below for more details.) Figure 3 and Figure 4 As described in more detail, system 100 generates a corresponding KG 104 for each specific user based on records of past interactions between each corresponding user and system 100 stored in user interaction history database 112.
[0039] In some examples, system 100 implements a mechanism for real-time updates of KG 104. This involves continuously monitoring the interactions between user 130 and the dialogue assistant provided by system 100 and updating KG 104 based on new information. The update process is performed in a manner that maintains the integrity of the graph structure of KG 104 and does not lead to overfitting.
[0040] For example, system 100 may update KG 104 at least in part based on received user feedback for response 120. System 100 receives a second query from user 130 via user device 132. System 100 determines a second target query including a second target topic based at least in part on a second topic presented in the second query and the updated KG 104 corresponding to user 130. System 100 provides the second query to ML model 114 to generate a second response to user 130's second query, wherein the second target topic constrains ML 114 to include the second target topic of the second target query in the second response. System 100 outputs the second response to user 130's second query. In this way, system 100 can provide a response that is updated at least in part based on KG 104 corresponding to user 130 and at least in part based on feedback received from user 130 for response 120.
[0041] System 100 includes a machine learning model 114. In some examples, the machine learning model 114 is an artificial neural network. For example, the machine learning model 114 may be an LLM. In other examples, the machine learning model 114 may be a multimodal language model. In still other examples, the machine learning model 114 may be a variational autoencoder with a multimodal autoencoder. In yet another example, the machine learning model 114 may implement another type of architecture, such as a deep learning model or a transformer-based architecture.
[0042] In some examples, the machine learning model 114 is operated by a third-party application or service. The machine learning model 114 can be executed using a public cloud infrastructure, private cloud infrastructure, or hybrid cloud infrastructure that is separate from other components of system 100. Other components of system 100 can communicate with this machine learning model 114 via a network.
[0043] In some examples, machine learning model 112 is an LLM. An LLM is a computational model capable of general language generation and other natural language processing tasks such as classification. Based on a language model, an LLM learns statistical relationships from large amounts of text during computationally intensive, self-supervised, and semi-supervised training processes. LLMs, in the form of generative AI, can be used to generate text by taking input text and repeatedly predicting the next lexical unit or word. An LLM can be an artificial neural network using a transformer architecture. The transformer is a deep learning architecture based on a multi-head attention mechanism. The transformer converts text into a numerical representation called a lexical unit. Each lexical unit is converted into a vector via a lookup from a table of word embeddings. Then, at each layer, each lexical unit is contextualized within a context window by utilizing other unmasked lexical units within the context window via a parallel multi-head attention mechanism, which amplifies the signal for key lexical units while reducing the signal for less important lexical units.
[0044] In some examples, machine learning model 112 is a multimodal language model. In other examples, machine learning model 112 is a variational autoencoder with a multimodal autoencoder. A variational autoencoder is an artificial neural network architecture employing a variational Bayesian approach, connecting a neural encoder network to its decoder via a probabilistic latent space corresponding to the parameters of a variational distribution. Thus, the encoder maps each point of a large, complex dataset to a distribution within the latent space, rather than to a single point in that space. The decoder operates in the opposite way, mapping the latent space to the input space based on the distribution. This allows variational autoencoders to avoid or mitigate the problem of overfitting the training data. A multimodal language model or a variational autoencoder with a multimodal autoencoder enables machine learning model 112 to support multimodal data as input, such as content of multiple modalities, such as images, text, audio, and / or video-based content, in addition to other types of content not explicitly described herein.
[0045] Machine learning model 114 is trained to receive a query 110 from user 130 and a user-specific KG 104 as input, and to generate a user-specific response 120 to the query 110 as output. As described herein, the response of machine learning model 114 may also be referred to as an “answer.” Response 120 is typically in the form of text, such as a text string. However, in some examples, response 120 may take the form of a variety of different modalities, such as images for display to user 130, such as text, pictographs, or symbols; audio, such as generated speech; video, such as an avatar and the avatar’s corresponding motion, gesture, or appearance; or a combination of the above. In some examples, user-specific response 120 may include the selection of voice modulation and / or avatar for use by a conversational assistant provided by system 100 for subsequent communication with user 130.
[0046] In some examples, system 100 processes training data to train machine learning model 114 to generate responses to queries. In some examples, the training data may include one or more sets of queries and corresponding responses and / or one or more corresponding CoT-KGs generated based on the set of queries and corresponding responses. System 100 can train machine learning model 114 using the training data to perform various tasks, including question answering, text generation, and dialogue management. In some examples, the training process is iterative, where machine learning model 114 fine-tunes one or more CoT-KGs at each step. For example, machine learning model 114 may convert the training data into vectors and tensors (e.g., multidimensional arrays), on which machine learning model 114 may apply mathematical operations, such as linear algebra, nonlinear, or alternative computational operations. In some examples, a big data framework is implemented to allow the use of large amounts of available data as training data.
[0047] In some examples, system 100 uses training data to teach machine learning model 112 to weight different features presented within a query. For example, system 100 may use training data to teach machine learning model 112 to apply different coefficients that represent the greater or lesser importance of features presented within a query relative to constructing an appropriate response to that query. The amount of training data required to train model 112 can depend on the type of query that machine learning model 112 is intended to respond to, the complexity of the query, and the type and / or quality of queries and answers used as training data. In some examples, training data may include at least hundreds, thousands, or millions of examples to train an efficient machine learning model to function as a conversational assistant. In some examples, system 100 uses training data to optimize machine learning model 112 and increase the accuracy of the results produced by machine learning model 112.
[0048] In one example, system 100 may additionally include test data (not depicted). The performance of the conversational assistant implemented by system 100 and the performance of machine learning model 114 can be tested. This may involve evaluating the conversational assistant's ability to understand and remember the context of a conversation with a specific user (e.g., user 130), and its ability to predict the next question or topic that user 130 might ask. The testing process is typically rigorous and involves a wide range of users and scenarios. For example, the test data may include multiple queries. System 100 may apply the trained machine learning model 112 to the test data to evaluate the accuracy of the responses generated by machine learning model 112 or the error rate of machine learning model 112. In some examples, system 100 applies the trained machine learning model 112 to the test data to verify that the trained machine learning model 112 accurately generates responses that are coherent and relevant to the corresponding queries. In some examples, system 100 applies the trained machine learning model 112 to test data to verify that the trained machine learning model 112 performs accurately above a threshold percentage (e.g., 50%, 75%, 90%, 95%, 99%).
[0049] According to the technology disclosed herein, a conversational assistant system such as system 100 processes records of past queries by a user and corresponding past responses from a machine learning model 114 stored in an interaction database 112 for each of a plurality of different users to generate a different Knowledge Group (KG) corresponding to each of the plurality of users. For example, system 100 processes records of past queries by user 130 and corresponding past responses from a machine learning model 114 stored in an interaction database 112 to generate a KG 104 corresponding to user 130. KG 104 includes nodes and edges, each node representing a topic presented in user 130's past queries, and each edge representing a co-occurrence among topics presented in user 130's past queries.
[0050] System 100 receives query 110 from user 130 via user device 132. System 100 determines one or more topics presented within query 110 based on query 110. System 100 determines a target query based at least in part on each topic presented within query 110 and KG 104 corresponding to user 130. The target query includes a target topic predicted as the final goal of query 110 from user 130, which user 130 is predicted to attempt to reach during several query and response interactions with system 100. For example, the target query could represent the user's penultimate question, where the target topic represents a response or answer from machine learning model 114, after which user 130 can end the interaction with the conversational assistant provided by system 100.
[0051] System 100 provides a query 130 to machine learning model 114 to generate a user-specific response 120. System 100 constrains machine learning model 114 to include the target topic of the target query within the response 120. System 100 outputs the response 120 to user 130's query 110 for display. Because, as described herein, each KG 104 is user-specific and models the user-specific thought process, machine learning model 114 can generate responses 120 specific to each user 130 and different for different users. System 100 outputs the response 120 to user 130's query 110 for display. Therefore, as described herein, system 100 can use user-specific generated KG 104 to assist machine learning model 114 in generating responses 120 that are more likely to resolve user 130's target query or target topic, thereby enabling the conversational assistant implemented by system 100 to produce more contextually accurate responses that may be more helpful in resolving user 130's query than conventional systems.
[0052] The technologies disclosed herein can benefit a variety of applications in fields such as data center customer service, virtual assistants, and education systems. In customer service, the technologies disclosed herein can significantly enhance the efficiency and effectiveness of customer support. By understanding how users think and anticipating their future questions, the chatbots described herein can provide more accurate and timely responses, thereby improving customer satisfaction. This is particularly useful in industries where customers have complex or technical issues, such as telecommunications, financial services, and healthcare. In virtual assistants, the technologies disclosed herein can provide a more personalized and intuitive user experience. By modeling users' thought processes, virtual assistants as described herein can predict users' needs and provide proactive suggestions or recommendations. This can greatly improve the convenience and usability of virtual assistants, making them more appealing to a wider range of users. In education systems, the technologies disclosed herein can be used to develop smarter and more adaptive learning systems. By understanding students' thinking patterns and anticipating future questions, the system can provide more targeted and efficient teaching strategies. This can greatly improve student learning outcomes, making education easier and more efficient. Systems operating according to the technologies disclosed herein can achieve AI chatbots that are more intelligent and responsive than conventional technologies. For example, a system operating according to the technology disclosed herein can allow the use of chatbots or virtual assistants suitable for use by businesses and individuals who rely on digital platforms for customer service and virtual assistance. Furthermore, with the advent of 5G and other emerging technologies, systems operating according to the technology disclosed herein can achieve AI chatbots that are more intelligent and adaptive than conventional learning systems.
[0053] Figure 2This is a block diagram illustrating an example system 200 for performing a conversational assistant according to the technology of this disclosure. In some examples, system 200 is... Figure 1 The implementation of system 100. System 200 includes a topic detector 202, user profiles CoT-KG 204A to 204N (collectively referred to as "CoT-KG 204"), a CoT-KG builder 208, a user interaction history database 212, a target query generator 206, an optional context retriever 210, and an LLM 214. Each of components 202, 206, 204, 208, 210, 212, and 214 can be implemented, for example, via one or more processors and / or one or more storage devices (in... Figure 2 (Not depicted in the text) but implemented in the circuit. As described herein, system 200 performs the function of receiving data from a user (e.g., ...). Figure 1 The user 130) queries the user 110 and generates a user-specific response 120 in response to the query based on the COT-KG 204A corresponding to the user.
[0054] User interaction history database 212 is a database of historical dialogue data between multiple different users, including the respective users and LLM 214. For example, database 212 includes records of past queries by user 130 and past responses by LLM 214 to user 130's past queries. As discussed above, these queries can be multimodal, as they may include natural gestures, facial expressions, emotions, tone of voice, typing feedback, likes or dislikes, or comments provided by user 130 to system 200. In some examples, a user's past queries include multimodal queries, which include two or more of text queries, audio queries, or video queries. In some examples, database 112 includes historical searches performed by user 130, such as via a search engine or web browser. In some examples, database 112 includes one or more topics of interest to the user. In some examples, database 112 includes a profile of user 130, which may include, for example, the country of residence or employment, the type of employment or sector in which user 130 works, user 130's job code, or user 130's geographical location. In some examples, database 112 includes voice modulation and / or avatars selected by user 130 for use by a conversational assistant provided by system 100.
[0055] CoT-KG builder 208 constructs a CoT-KG 204 for each of multiple users. This CoT-KG 204 models the corresponding user's thought process by mining past dialogue data between the user and the LLM 214 stored in the interaction database 212. Typically, CoT-KG builder 208 constructs different CoT-KG 204s for each different user. CoT-KG builder 208 can obtain information from various sources to generate user-specific CoT-KG 204s, such as records of the user's past queries, the user's profile, and one or more topics of interest associated with the user. For example, CoT-KG builder 208 processes records stored in the interaction database 212 from the user's past queries and past responses to those queries by the LLM 214 to construct user-specific CoT-KG 204s.
[0056] In some examples, historical dialogue data may include, for example, dialogue data for queries using multiple modalities or multiple media types (e.g., responses), as well as user feedback on the responses, such as natural gestures, facial or body expressions, conveyed emotions, the user's voice tone, text or typing feedback, "like" or "dislike" indications, or other types of comments. In some examples, this historical dialogue data is processed to predict whether the user is enjoying the conversation (or has enjoyed a previous conversation or topic). System 200 may store this prediction for future use, for inclusion in the generation of CoT-KG 204 for the user. Therefore, System 200, operating according to the technology of this disclosure, can significantly enhance the user experience and the time spent answering the target query of user 130, which might otherwise not have been directly identified based on the user's initial query.
[0057] In some examples, the CoT-KG builder 208 also mines user feedback from the user's past interaction history to construct a user-specific CoT-KG 204. As another example, the CoT-KG builder 208 can also construct a user-specific CoT-KG 204 based on a profile of user 130 stored in a user interaction history database 212, which may include, for example, the country of residence or employment, the type or department of employment where user 130 works, user 130's job code, or user 130's geographical location. As yet another example, the CoT-KG builder 208 can also construct a user-specific CoT-KG 204 for use by a conversational assistant provided by system 100, based on the voice modulation and / or avatar selected by user 130. As yet another example, the CoT-KG builder 208 can also construct a user-specific CoT-KG 204 based on historical searches performed by user 130, such as via a search engine or web browser.
[0058] In some examples, to generate a CoT-KG 204 for a user, the CoT-KG builder 208 obtains records of the user's past queries from the interactive database 212, as well as past responses to the user's past queries by the LLM 214. For each pair of past queries and corresponding past responses from the LLM 214, the CoT-KG builder 208 generates a chain of topics identified as present within that pair and linked in a consecutive order. For each topic in the topic chain of each pair, the CoT-KG builder 208 generates nodes representing the topic within the CoT-KG 204 for the user. Further, for every two consecutive topics in the topic chain of each pair, the CoT-KG builder 208 generates an edge between the two corresponding nodes in the CoT-KG 204 for the user.
[0059] Each user profile KG (e.g., CoT-KG) 204 is a user-specific weighted undirected knowledge graph. Each node in CoT-KG 204 represents a topic that has been discussed or queried by the corresponding user in the past. Furthermore, each edge in CoT-KG 204 represents the co-occurrence of two topics in past conversations between the user and LLM 214, corresponding to the two nodes connected by that edge. In some examples, the edge weight represents the probability that the two corresponding topics represented by the two nodes connected by the edge co-occur within a single query in the user's past queries.
[0060] Topic detector 202 processes user query 110 to identify one or more underlying intents or topics presented within user query 110. In some examples, user query 110 includes a text string, and topic detector 202 processes the text string to identify one or more identified topics presented within the text string. In some examples, user query 110 includes audio such as spoken language, and topic detector 202 processes the audio to identify one or more identified topics presented within the audio. In some examples, user query 110 includes video, such as video data of facial expressions or gestures performed by user 130. In this example, topic detector 202 processes the video data to identify one or more identified topics presented within the video. In some examples, topic detector 202 may perform semantic understanding of user query 110 to identify one or more underlying topics presented within user query 110.
[0061] The target query generator 206 receives one or more identified topics from the topic detector 202. The target query generator 206 utilizes the CoT-KG 204A corresponding to user 130 to predict one or more subsequent or follow-up queries that user 130 may provide, at least in part, based on one or more identified topics. The target query generator 206 also generates overlay target queries, the encapsulation of which will be included in one or more relevant target topics in the response 120 generated by LLM 214.
[0062] Context retrieval 210 is an optional component. In some examples, context retrieval 210 is a knowledge base query engine. Querying a knowledge base (such as CoT-KG 204) may require domain-specific knowledge related to the storage system. For example, context retrieval 210 may be included in the case where a dialogue assistant implemented by system 200 performs retrieval augmentation generation (RAG). RAG is the process of optimizing the output of LLM 214 to reference authoritative knowledge bases outside its training data source before generating a response. Typically, LLM 214 is trained on large amounts of data and can use billions of parameters to generate responses 120 for tasks such as answering questions, translating languages, and completing sentences. By implementing RAG, context retrieval 210 can extend LLM 214 to a specific domain or to an organization's internal knowledge base without retraining LLM 214. The use of context retrieval 210 can be a cost-effective way to improve the response 120 of LLM 214 output to be more relevant, accurate, and useful in a variety of contexts. In situations where the conversational assistant implemented by system 200 acts as a technical support or quality assurance agent to resolve technical difficulties faced by user 130 regarding technology or complex products, using context retrieval 210 to interface with an external knowledge base may be particularly useful. In some examples, context retrieval 210 may enable queries to external knowledge bases using natural language.
[0063] LLM 214 is an artificial neural network, as described herein, trained to receive user query 110 as input and generate user-specific response 120 as output. As described herein, LLM 214 is constrained by CoT-KG 204A corresponding to user 130 to include one or more relevant target topics of the identified target query within the user-specific response 120. In some examples, the user-specific response 120 includes user-specific or preferred prompts and / or responses. In some examples, the user-specific response 120 may include selection of voice modulation and / or avatars used by a dialogue assistant, provided by system 100, for subsequent communication with user 130. In some examples, system 200 may output response 120 for use via a display device (…). Figure 2 (Not displayed in the middle) to be displayed to user 130.
[0064] LLM 214 is a computational model capable of general language generation and other natural language processing tasks such as classification. Based on a language model, LLM 214 learns statistical relationships from large amounts of text during computationally intensive, self-supervised, and semi-supervised training processes. LLM 214, in the form of generative AI, can be used to generate text by taking input text and repeatedly predicting the next lexical unit or word. In some examples, LLM 214 is an artificial neural network using a transformer architecture. The transformer is a deep learning architecture based on a multi-head attention mechanism. The transformer converts text into a numerical representation called a lexical unit. Each lexical unit is converted into a vector by a lookup from a table of word embeddings. Then, at each layer, each lexical unit is contextualized within a context window by utilizing other unmasked lexical units within a context window through a parallel multi-head attention mechanism, which amplifies the signal for key lexical units while reducing the signal for less important lexical units.
[0065] User feedback 216 captured from Figure 1 User feedback 216 is used to process user feedback on the performance of system 200 for user 130. In some examples, user feedback 216 uses the received user feedback in the response of LLM 214 and updates the KG 204 corresponding to that user based at least in part on the user feedback. In some examples, user feedback 216 receives user feedback scores for each pair of query-response pairs, including the user's query 130 and the response of LLM 214, the current topic associated with the query-response pair, and the previous topics of the current topic. (See below for further details.) Figure 4 As described in more detail, the CoT-KG builder 208 can use user feedback scores to update the weights of the edges in the CoT-KG 204 that connect two nodes representing a topic presented in the previous query and a node in the topic presented in the query.
[0066] In some examples, LLM 214 is an application or service operated by a third party. LLM 214 can be executed using a public, private, or hybrid cloud infrastructure separate from other components of System 200. Other components of System 200 (such as 202, 206, 210) can communicate with LLM 214 via a network (such as the Internet).
[0067] Figure 3 This is a block diagram illustrating an example dialogue chain 300 according to the technology disclosed herein. As described above, the dialogue chain 300 is generated based on a record of past queries by the user and corresponding past responses from a machine learning model. Typically, the dialogue chain 300 is generated based on a single dialogue comprising a query-response pair between the user and system 100.
[0068] As described above, Figure 2The CoT-KG builder 208 models each user dialogue as a chain, where each query-response pair is modeled as a topic. Dialogue chain 300 includes node chains 302A to 302D (collectively referred to as "nodes 302"). Each node 302 represents a corresponding topic within topics 304A to 304D (collectively referred to as "topics 304") presented within the dialogue represented by the query-response pair between the user and system 100. Furthermore, each node 302 is linked to subsequent nodes 302 according to the sequential order in which its corresponding topic 304 appears within the query-response pair. In some examples, if two or more topics are determined to be semantically similar, the two or more topics can be combined into a single node.
[0069] Topic 302D is referred to herein as "ε". An ε topic indicates that the conversation ends after system 100 provides a response to the user's latest query. The purpose of including an ε topic is to indicate to the target query generator 206 that a topic 304 with an ε topic as a neighbor is likely the user's target topic. In other words, the user is more likely to end the conversation when they receive a response that satisfies their final query (or target query). As described herein, machine learning model 114 can encourage the generation of responses that include topics 404 adjacent to the ε topic, thereby increasing the likelihood of providing a useful response that satisfies the user's target query.
[0070] According to the technology disclosed herein, the CoT-KG builder 208 constructs a dialogue chain 300 based on historical dialogues, which include pairs of past queries from user 130 and corresponding past responses from machine learning model 114. To construct a dialogue chain that can be used to build a knowledge graph, the CoT-KG builder 208 iterates through each historical dialogue in the user interaction history database 212. For each dialogue, the CoT-KG builder 208 generates a dialogue chain by identifying topics for each query-response pair. In some examples, the CoT-KG builder 208 links topics to each other based on the sequential order in which the topics appear during the interaction between user 130 and system 100.
[0071] Figure 4 This is a block diagram illustrating an example CoT-KG 400 according to the technology disclosed herein. As described above, the CoT-KG 400 is generated based on one or more dialogue chains, which are generated based on records of past user queries and corresponding past responses from a machine learning model. The CoT-KG 400 may be based on, for example, including... Figure 3 One or more dialogue chains 300 are used to generate an example of CoT-KG. Typically, CoT-KG 400 is specific to each user and is generated on a per-user basis.
[0072] The CoT-KG 400 includes multiple nodes 402A to 402E (collectively referred to as “nodes 402”). Each node 402 represents a topic presented in a user’s past queries. The CoT-KG 400 also includes multiple edges 404AB, 404AC, 404CD, and 404Dε (collectively referred to as “edges 404”) that interconnect nodes 402. Each edge 404 represents the probability of co-occurrence between two topics presented in a user’s past queries (and, in some examples, the probability of this co-occurrence being accepted by user 130). Each edge 404 is also associated with a weight that represents the probability of co-occurrence of two topics represented by the two nodes connected by the edge in a single past query of the user. In some examples, the weight represents the probability that a first topic is followed by a second topic in a previous dialogue including a query-response pair between the user and system 100.
[0073] According to the technology disclosed herein, the CoT-KG builder 208 constructs a CoT-KG 400 to model user thought chains from historical conversations. (See above regarding...) Figure 4 As described, the CoT-KG builder 208 generates multiple dialogue chains based on historical dialogues, including, for example, dialogue chain 300, which consists of pairs of past queries from user 130 and corresponding past responses from machine learning model 114.
[0074] For each topic within each dialogue chain, the CoT-KG builder 208 creates a corresponding node 402 in the CoT-KG 400 corresponding to that topic (unless the corresponding node in CoT-KG 400 already exists). For each edge between two topics in each dialogue chain, the CoT-KG builder 208 creates a corresponding edge 404 between the nodes 402 in the CoT-KG 400 corresponding to those two topics (unless the corresponding edge 404 in CoT-KG 400 already exists).
[0075] Furthermore, the CoT-KG builder 208 updates the weights of the edges 404 between each node 402. In some examples, the weights are calculated by counting the number of times two topics in user 130's historical conversations have followed each other. The CoT-KG builder 208 then obtains a weighted average of these counts and receives a historical user feedback score for this co-occurrence.
[0076] As described above, Figure 1System 100 may update the weights of one or more edges 404 based at least in part on feedback received from the user. In some examples, user feedback includes: a score for a pair of responses to the user's query and system 100's response, an indication of a topic presented in the user's previous query, and an indication of a topic presented in the query. System 100 may update the weights of edges 404, connecting two nodes representing topics presented in the previous query and topics presented in the query, based at least in part on this score.
[0077] An example algorithm for updating the weight of edges in a CoT-KG as described in this paper is illustrated below:
[0078]
[0079] In the aforementioned algorithm, The chain length of the dialogue chain is described, and optimizations are made for the chain length. This part of the algorithm represents the probability that topics Tj and Tk will appear one after another in the user's historical dialogue with system 100. In contrast to the previous example, topic Tj refers to the topic presented in the user's previous query, while topic Tk represents the topic presented in the user's current query.
[0080] It is a value in the interval [0,1] and represents the weighted amount to be assigned to the chain length.
[0081] O c This is a function in dialogue c that outputs 1 if topic Tj is followed by topic Tk, and vice versa. If j = k, the output is also 1. In all other cases, the output is 0.
[0082] φ*F(T i The term Tj describes the chain quality of the dialogue chain and optimizes the quality of the dialogue chain and / or the user feedback score. This part of the algorithm represents the average feedback score of the query-response pairs given by the user, where topic Tj follows topic Tk, or vice versa in historical dialogues.
[0083] φ is a value in the interval [0,1] and represents the weighting amount to be assigned to the chain quality.
[0084] F is a function that provides output in intervals [0,1]. The output represents the average user feedback score for a given query-response pair, where topic Tj follows topic Tk, or vice versa in the history of the conversation.
[0085] Figure 5 This is a block diagram illustrating an example computing device 500 for performing a conversational assistant according to the technology disclosed herein. Figure 5Specific examples of servers or other computing devices 500 may be shown, which include those for performing as described herein. Figure 1 The application 530, machine learning model 114, and knowledge graph 104 may use one or more processors 502. Other instances of computing device 500 may be used in other examples. Although for illustrative purposes... Figure 5 The device is shown as a standalone computing device 500, but a computing device can be any component or system that includes one or more processors or other suitable computing environments for executing software instructions, and does not necessarily have to include, for example, a separate computing device 500. Figure 5 One or more elements shown (e.g., communication unit 506; and in some examples, components such as storage devices 508 may not be co-located with other components or located in the same chassis). Computing devices 500 may be located and perform these functions within any device 24, 26 of, for example, network infrastructure 20 or co-located facility 10, another interconnected facility, or at a branch office or cloud computing environment adopted or used by an exchange provider. Multiple computing devices 500 may execute corresponding examples of application 530, machine learning model 114, and knowledge graph 104 in a distributed manner. In some cases, each of the multiple computing devices 500 may execute different combinations of application 530, machine learning model 114, and knowledge graph 104. In other words, a single computing device 500 may not execute each of application 530, machine learning model 114, and knowledge graph 104.
[0086] like Figure 5 As shown in the specific examples, computing device 500 includes one or more processors 502, one or more input devices 504, one or more communication units 506, one or more output devices 512, one or more storage devices 508, and user interface (UI) devices 510 and (multiple) communication units 506. In one example, computing device 500 also includes one or more applications 530, machine learning models 114, and knowledge graphs 104 that can be executed by computing device 500. Each of components 502, 504, 506, 508, 510, and 512 is coupled (physically, communicatively, and / or operatively) for inter-component communication. In some examples, communication channel 514 may include a system bus, network connection, inter-process communication data structure, or any other method for transmitting data. As an example, components 502, 504, 506, 508, 510, and 512 may be coupled by one or more communication channels 514.
[0087] In one example, processor 502 is configured to implement functions and / or processing instructions for execution within computing device 500. For example, processor 502 is capable of processing instructions stored in storage device 508. Examples of processor 502 may include any one or more of a microprocessor, controller, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or equivalent discrete or integrated logic circuit.
[0088] One or more storage devices 508 may be configured to store information within computing device 500 during operation. In some examples, storage device 508 is described as a computer-readable storage medium. In some examples, storage device 508 is temporary storage, meaning that the primary purpose of storage device 508 is not long-term storage. In some examples, storage device 508 is described as volatile memory, meaning that storage device 508 does not maintain its stored contents when the computer is turned off. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the art. In some examples, storage device 508 is used to store program instructions for execution by processor 502. In one example, storage device 508 is used by software or applications running on computing device 500 to temporarily store information during program execution.
[0089] In some examples, storage device 508 also includes one or more computer-readable storage media. Storage device 508 can be configured to store a larger amount of information than volatile memory. Storage device 508 can also be configured for long-term storage of information. In some examples, storage device 508 includes non-volatile storage elements. Examples of such non-volatile storage elements include magnetic hard disks, optical disks, floppy disks, flash memory, or electrically programmable memory (EPROM) or electrically erasable programmable memory (EEPROM).
[0090] In some examples, computing device 500 also includes one or more communication units 506. In one example, computing device 500 utilizes communication unit 506 to communicate with external devices via one or more networks, such as one or more wired / wireless / mobile networks. Communication unit 506 may include a network interface card such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device capable of sending and receiving information. Other examples of such network interfaces may include 3G and WiFi radios. In some examples, computing device 500 uses multiple communication units 506 to communicate with external devices.
[0091] In one example, computing device 500 also includes one or more user interface devices 510. In some examples, user interface devices 510 are configured to receive input from a user via haptic, audio, or video feedback. Examples of the multiple user interface devices 510 include presence-sensitive displays, mice, keyboards, voice response systems, cameras, microphones, or any other type of device for detecting commands from the user. In some examples, presence-sensitive displays include touch-sensitive screens.
[0092] The computing device 500 may also include one or more output devices 512. In some examples, the output device 512 is configured to provide output to a user using tactile, audio, or video stimuli. In one example, the output device 512 includes a presence-sensitive display, a sound card, a video graphics adapter card, or any other type of device for converting signals into a suitable form that is understandable to humans or machines. Other examples of the output device 512 include a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or any other type of device that can generate understandable output to a user.
[0093] Computing device 500 may include operating system 516. In some examples, operating system 516 controls the operation of components of computing device 500. For example, in one example, operating system 516 facilitates communication between one or more applications 530 and interconnect platform applications 530 and processor 502, communication units 506, storage device 508, input device 504, user interface device 510, and output device 512.
[0094] Application 530, machine learning model 114, and knowledge graph 104 may also include program instructions and / or data that can be executed by computing device 500. Example application 530 that can be executed by computing device 500 may include a web browser and / or dashboard interface.
[0095] Figure 6 This is a flowchart illustrating an example operation 600 according to the technology of this disclosure. For convenience, relative to... Figure 1 The system describes operation 600. However, operation 600 can be described by... Figure 2 System 200 or Figure 5 The computing device 500 executes.
[0096] According to the techniques disclosed herein, for example, the dialogue assistant system of system 100 processes records of past queries for each of multiple different users and corresponding past responses of machine learning model 114 stored in interaction database 112 to generate a KG (602) corresponding to each user. For example, system 100 processes records of past queries for user 130 and corresponding past responses of machine learning model 114 stored in interaction database 112 to generate a KG 104 corresponding to user 130. KG 104 includes multiple nodes and multiple links. Each node represents a topic presented within user 130's past queries. Each link represents a co-occurrence between topics presented within user 130's past queries. In some examples, KG 104 includes a CoT-KG corresponding to user 130 and modeling user 130's thought chain.
[0097] System 100 receives query 110 from user 130 via user device 132. System 100 determines one or more topics presented within query 110 based on query 110 (604). System 100 determines a target query (606) based at least in part on each topic presented within query 110 and KG 104 corresponding to user 130. The target query includes a target topic. The target topic is predicted as the ultimate goal of query 110 from user 130, which user 130 is predicted to attempt to reach during several query and response interactions with system 100. For example, the target query could represent the user's penultimate question, where the target topic represents a response or answer from machine learning model 114, after which user 130 can end the interaction with the conversational assistant provided by system 100.
[0098] System 100 provides query 130 to machine learning model 114 to generate response 120 (608). System 100 constrains machine learning model 114 to include the target topic of the target query within response 120. Because, as described herein, each KG 104 is specific to the corresponding user and models the mind chain of the corresponding user, machine learning model 114 can generate responses 120 specific to each user 130 and different for different users. System 100 outputs response 120 to query 110 for user 130 for display (610).
[0099] The techniques described in this disclosure can be implemented, at least in part, in hardware, software, firmware, or any combination thereof. For example, aspects of the described techniques can be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, and any combination of such components. The terms "processor" or "processing circuitry means" can generally refer to any of the logic circuitry means described above, alone or in combination with other logic circuitry means, or any other equivalent circuitry means. A control unit, including hardware, can also perform one or more of the techniques disclosed herein.
[0100] Such hardware, software, and firmware can be implemented within the same device or in separate devices to support the various operations and functions described in this disclosure. Furthermore, any of the described units, modules, or components can be implemented together or separately as discrete but interoperable logic devices. Describing different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that these modules or units must be implemented by separate hardware or software components. Rather, the functionality associated with one or more modules or units can be performed by separate hardware or software components, or integrated within common or separate hardware or software components.
[0101] The techniques described in this disclosure can also be implemented or encoded in a computer-readable medium (such as a computer-readable storage medium) containing instructions. Instructions embedded or encoded in a computer-readable storage medium can cause a programmable processor or other processor to perform the method, for example, when executing the instructions. Computer-readable storage media may include random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, hard disk, CD-ROM, floppy disk, magnetic tape, magnetic media, optical media, or other computer-readable media.
Claims
1. A computing system, comprising: A processing circuit device for communicating with a storage medium, the processing circuit device being configured to: The records of a user's past queries are processed to generate a knowledge graph corresponding to the user. The knowledge graph includes nodes and edges, where each node represents a topic in the topics presented in the user's past queries, and each edge represents the co-occurrence of the topics presented in the user's past queries. The topics presented in the query are determined based on the user's query. The target query is determined at least in part based on the topic presented in the query and the knowledge graph corresponding to the user, the target query including the target topic; The user's query is provided to a machine learning model so that the machine learning model generates a response to the user's query, wherein the target topic constrains the machine learning model to include the target topic of the target query in the response; and Output the response to the user's query.
2. The computing system of claim 1, wherein each edge of the knowledge graph includes a weight representing the probability of co-occurrence of two topics represented by two nodes connected by the edge within a single query of the user's past queries.
3. The computing system according to claim 1, wherein, In order to generate the knowledge graph corresponding to the user, the processing circuitry is further configured to process records of the user's past queries and the corresponding past responses of the machine learning model.
4. The computing system according to claim 3, wherein, In order to generate the knowledge graph corresponding to the user, the processing circuitry is further configured to: For each pair of the user's past queries and the corresponding past responses of the machine learning model, generate a topic chain that is identified as being presented within the pair and linked in a sequential order; For each topic in each pair of topic chains, generate a node representing that topic within the knowledge graph; as well as For each pair of topic chains, generate an edge between two corresponding nodes of the knowledge graph for every two consecutive topics.
5. The computing system according to claim 1, wherein, In order to generate the knowledge graph corresponding to the user, the processing circuitry is also configured to process the records of the user's past queries, the user's profile, and one or more topics of interest associated with the user.
6. The computing system of claim 1, wherein the processing circuitry is further configured to: Receive user feedback in response to the response; The knowledge graph is updated based at least in part on the user feedback. The second topic presented in the second query is determined based on the user's second query; The second target query is determined at least in part based on the second topic presented in the second query and the updated knowledge graph corresponding to the user, the second target query including the second target topic; The machine learning model is provided with the user's second query to generate a second response to the user's second query, wherein the second target topic constrains the machine learning model to include the second target topic of the second target query in the second response; and Output the second response to the user's second query.
7. The computing system according to claim 6, The user feedback includes scores for the query and the response, indications of topics presented in the user's previous queries, and indications of the topics presented in the query. In order to update the knowledge graph, the processing circuitry is configured to update the weights of the edges in the edges at least in part based on the scores, wherein the edge connects two nodes of the topic presented in the previous query and the node of the topic presented in the query.
8. The computing system according to any one of claims 1 to 7, wherein the user's past query includes a multimodal query, the multimodal query including two or more of text queries, audio queries, or video queries.
9. The computing system according to any one of claims 1 to 7, wherein the machine learning model includes a large language model (LLM).
10. The computing system according to any one of claims 1 to 7, wherein the processing circuitry is configured to process records of past queries for each of a plurality of different users to generate a different knowledge graph corresponding to each of the plurality of users.
11. The computing system according to any one of claims 1 to 7, wherein the knowledge graph includes a CoT-KG mind chain knowledge graph corresponding to the user, the CoT-KG modeling the user's mind chain.
12. A method for generating a response to a user query using a machine learning model, the method comprising: The processing circuitry processes records of a user’s past queries to generate a knowledge graph corresponding to the user. The knowledge graph includes nodes and edges, where each node represents a topic in the topics presented in the user’s past queries, and each edge represents the co-occurrence of the topics presented in the user’s past queries. The processing circuitry determines the topics to be presented in the query based on the user's query. The target query is determined by the processing circuitry and at least in part based on the topic presented in the query and the knowledge graph corresponding to the user, the target query including the target topic; The processing circuitry provides the user's query to the machine learning model so that the machine learning model generates a response to the user's query, wherein the target topic constrains the machine learning model to include the target topic of the target query in the response; and The processing circuit device outputs the response to the user's query.
13. The method of claim 12, wherein each edge of the knowledge graph includes a weight representing the probability of co-occurrence of two topics represented by two nodes of the nodes connected by the edge within a single query of the user's past queries.
14. The method of claim 12, wherein generating the knowledge graph corresponding to the user includes processing records of the user's past queries and corresponding past responses of the machine learning model.
15. The method of claim 14, wherein generating the knowledge graph corresponding to the user comprises: For each pair of the user's past queries and the corresponding past responses of the machine learning model, generate a topic chain that is identified as being presented within the pair and linked in a sequential order; For each topic in each pair of topic chains, generate a node representing that topic within the knowledge graph; as well as For each pair of topic chains, generate an edge between two corresponding nodes of the knowledge graph for every two consecutive topics.
16. The method of claim 12, wherein generating the knowledge graph corresponding to the user includes processing records of the user's past queries, the user's profile, and one or more topics of interest associated with the user.
17. The method of claim 12, further comprising: The processing circuitry receives user feedback on the response, wherein the user feedback includes a score for the query and the response, an indication of a topic presented in the user's previous query, and an indication of the topic presented in the query; The weights of the edges in the knowledge graph are updated by the processing circuitry and at least in part based on the scores, the edges connecting two nodes representing the topic presented in the previous query and the nodes of the topic presented in the query; The processing circuitry determines the second topic presented in the second query based on the user's second query. The second target query is determined by the processing circuitry and at least in part based on the second topic presented in the second query and the updated knowledge graph corresponding to the user, the second target query including the second target topic; The processing circuitry provides the user's second query to the machine learning model so that the machine learning model generates a second response to the user's second query, wherein the second target topic constrains the machine learning model to include the second target topic of the second target query in the second response; and The processing circuit device outputs the second response to the user's second query.
18. The method according to any one of claims 12 to 17, wherein the user's past query includes a multimodal query, the multimodal query including two or more of a text query, an audio query, or a video query.
19. The method according to any one of claims 12 to 17, wherein the machine learning model comprises a large language model (LLM).
20. The method according to any one of claims 12 to 17, further comprising processing records of past queries for each of a plurality of different users by the processing circuitry means for each of the plurality of different users to generate a different knowledge graph corresponding to each of the plurality of users.
21. The method according to any one of claims 12 to 17, wherein the knowledge graph includes a CoT-KG mind chain knowledge graph corresponding to the user, the CoT-KG modeling the user's mind chain.
22. A computer-readable medium comprising instructions that, when executed by one or more programmable processors, configure the one or more programmable processors to perform the method according to any one of claims 12 to 21.