Conversation system content related to external events

By analyzing chatbot logs and social media content, detecting trending topics and calculating semantic similarity, the chatbot's intent is automatically updated, solving the problem of difficult intent training data and enabling the chatbot to respond quickly to external events and improve user experience.

CN115827832BActive Publication Date: 2026-04-17INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INTERNATIONAL BUSINESS MACHINE CORPORATION
Filing Date
2022-08-05
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In existing technologies, it is difficult to find training data for chatbot intents, and feasible intents may be missed, causing chatbots to be unable to respond to external events in a timely manner.

Method used

By analyzing chatbot logs and social media content, trending topics are detected, and the semantic similarity between potential intents and trending topics is calculated, new intents are automatically created to update the chatbot's training data.

Benefits of technology

It accelerates the chatbot intent creation process, improves the chatbot's responsiveness to external events, enhances the user experience, and ensures that the chatbot can promptly address new issues of concern to users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115827832B_ABST
    Figure CN115827832B_ABST
Patent Text Reader

Abstract

The invention relates to conversational system content related to external events. Chatbot logs can be received. The chatbot logs can be clustered or classified into clusters of potential intents. A trending topic can be detected by analyzing at least social media content. A semantic similarity between the potential intents and the trending topic can be computed. Based on the computed semantic similarity, at least one of the potential intents can be related to at least one of the trending topics. Chatbot training can be triggered using chatbot logs associated with the related potential intents.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] This application relates generally to computers and computer applications, and more specifically to conversational systems, chatbots, machine learning, and natural language processing.

[0002] Computer-implemented processes (e.g., using artificial intelligence techniques) can be implemented to engage in dialogue with users. For example, a chatbot is an example computer application or process that can have a live conversation or chat with a user (e.g., a human user). Chatbots can be developed to intelligently engage in dialogue and provide answers to questions. For example, a chatbot user can use a chatbot to perform tasks, such as answering questions. An intent represents a task, action, or goal that the chatbot user expects to perform. A chatbot can be trained based on intents to engage in dialogue with the chatbot user to perform that goal or task. Finding intents to create training data can be a difficult task and often leads to missing feasible intents. Summary of the Invention

[0003] The present disclosure provides a summary of the invention to aid in understanding the computer systems and methods for improving automated conversation systems, and is not intended to limit the scope of the disclosure or the invention. It should be understood that various aspects and features of this disclosure may be used advantageously alone in some cases, or in combination with other aspects and features of this disclosure in others. Therefore, variations and modifications can be made to the computer system and / or its operating methods to achieve different effects.

[0004] In one aspect, a system may include a hardware processor and a memory device coupled to the hardware processor. The hardware processor may be configured to receive chatbot logs, which include at least questions received by a chatbot interacting with a user. The hardware processor may also be configured to cluster the chatbot logs into clusters of potential intents. The hardware processor may further be configured to detect trending topics by at least analyzing social media content. The hardware processor may also be configured to compute semantic similarity between potential intents and trending topics. The hardware processor may further be configured to associate at least one potential intent with at least one trending topic based on the computed semantic similarity. The hardware processor may also be configured to trigger chatbot training using chatbot logs associated with the relevant potential intents.

[0005] In one aspect, a method may include receiving chatbot logs, which at least include questions received by a chatbot interacting with a user. The method may also include clustering the chatbot logs into clusters of potential intents. The method may further include detecting trending topics by at least analyzing social media content. The method may further include calculating semantic similarity between potential intents and trending topics. The method may further include associating at least one potential intent with at least one trending topic based on the calculated semantic similarity. The method may further include triggering chatbot training using chatbot logs associated with the relevant potential intents.

[0006] Alternatively, a computer-readable storage medium may be provided that stores a machine-executable program of instructions to perform one or more methods described herein.

[0007] Other features, structures, and operations of different embodiments are described in detail below with reference to the accompanying drawings. In the drawings, the same reference numerals denote the same or similarly functional elements. Attached Figure Description

[0008] Figure 1 This is a diagram illustrating the system flow in the embodiment.

[0009] Figure 2 This is a diagram illustrating the detection-related components or modules in the embodiments.

[0010] Figure 3 This is a flowchart illustrating the process or method of clustering chatbot logs by intent in an embodiment.

[0011] Figure 4 This is a flowchart illustrating the process or method for discovering intent in an embodiment.

[0012] Figure 5 This is a diagram illustrating an example use case scenario in the embodiments.

[0013] Figure 6 This is a diagram illustrating components of a system in one embodiment, which can be integrated into a conversational system, such as a chatbot application, or an intent related to external or current trending events.

[0014] Figure 7 This is a flowchart illustrating a method for discovering new intentions in training a chatbot, as shown in an embodiment.

[0015] Figure 8 This is a diagram illustrating how, in an implementation, interests and external content appearing in the chatbot logs are plotted over a time window.

[0016] Figure 9A schematic diagram of an example computer or processing system that can be implemented in one embodiment is shown.

[0017] Figure 10 A cloud computing environment is shown in one embodiment.

[0018] Figure 11 A set of functional abstraction layers provided by a cloud computing environment is shown in one embodiment of this disclosure. Detailed Implementation

[0019] A system, method, and technique are disclosed that can automate and improve chatbots in conversations with users. In one aspect, the system and / or method can provide automated creation of chatbot intents, for example, by using a combination of trending media topics and clustered questions from computer user or chatbot interaction logs. For instance, if an increase in questions about certain topics in the call log is correlated with an increase in media exposure, the system and / or method can create automated intents to prepare the chatbot to answer one or more new questions related to these topics before the call log is flooded with new questions. Such automation can accelerate the process of creating new intents and incorporate potentially subtle external knowledge in the development of domain-specific chatbots.

[0020] A chatbot (also known as a robot) can be an automated computer process running on a computer (e.g., software, firmware, and / or programmable hardware) that can converse with a human user or another automated computer process. Chatbots can be programmed using artificial intelligence techniques such as machine learning (ML) and natural language processing (NLP). The conversation can be conducted via text and / or voice. A chatbot can be an automated computer process that interacts with a user by performing conversations such as answering questions, providing guidance or instructions for performing actions, and / or other actions.

[0021] Chatbots can use one or more machine learning techniques, trained on training data that may include intents. An intent represents a task, action, or goal—for example, a goal a chatbot user is trying to achieve using the chatbot, such as what the user wants the chatbot to perform, like answering a specific question. Chatbots can be trained to understand intents (e.g., human intents) to provide the results or information the user is looking for. Machine learning developers can create intents based on task-specific utterances (conversation logs). A large set of intents (e.g., tasks the chatbot can handle) can make the chatbot more robust. Examples of intents can include, but are not limited to, answering questions about certain health insurance, ordering food, making travel reservations, buying tickets, checking status, and / or others.

[0022] In one or more embodiments, the system and / or method can provide a chat or automated computer process capable of handling open-world contexts. For example, a user can ask any question, and the chatbot's content (intent) can be updated to cover the user's question, for example, to provide a more intelligent chatbot that can converse with the user, further enhancing the user experience. For example, a dynamic environment can be provided where the chatbot's intent is updated to cover user questions that become more common. Furthermore, external events or news can trigger a log of questions that can be asked by the user. For example, chatbot updates can be performed dynamically and quickly to avoid harming the user experience.

[0023] In one embodiment, the system can assist chatbot developers or topic experts in updating chatbot content by detecting chatbot log posts relevant to external events. The system can provide or indicate to the developer or SME that questions or messages extracted from the chatbot logs are relevant to a given event or external event. For example, it can trigger or prompt the developer to examine such messages to determine whether to include automatically created new intents and / or which messages to use as training examples. The system can also assist in editing text that can be used to create response content. The system can accelerate the process of curating and updating chatbot content by proposing new intents based on chatbot logs and external events.

[0024] Figure 1 This is a diagram illustrating the system flow in an embodiment. The components shown include computer-implemented components, such as those implemented and / or operating on or coupled to one or more computer or hardware processors. For example, the one or more hardware processors may include components such as programmable logic devices, microcontrollers, memory devices, and / or other hardware components that can be configured to perform the corresponding tasks described in this disclosure. Coupled memory devices may be configured to selectively store instructions executable by the one or more hardware processors.

[0025] The processor may be a central processing unit (CPU), a graphics processing unit (GPU), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), another suitable processing component or device, or one or more combinations thereof. The processor may be coupled to a memory device. The memory device may include random access memory (RAM), read-only memory (ROM), or another memory device, and may store data and / or processor instructions for implementing various functions associated with the methods and / or systems described herein. The processor may execute computer instructions stored in memory or received from another computer device or medium.

[0026] In one embodiment, the relevance detection component or module 102 processes the detection of chatbot logs 104 associated with trending topics 106 from the real world. A computer system or chatbot application running one or more chatbots may create or generate chatbot logs 104 based on conversations occurring between one or more chatbots (also referred to as virtual assistants) 108 and one or more end users 110. The relevance detection component 102 identifies chatbot logs 104 related to trending topics 106.

[0027] In response to the discovery of a correlation between chatbot logs 104 and real-world trending topics 106, such as on a management graphical user interface (GUI) 114, the relevant chatbot logs and trending topics can be presented to the developer, SME, or another user 112. In one aspect, intent can be automatically discovered, for example, based on analysis of relevant chatbot logs and trending topics. For example, common themes or topics (e.g., topics) shared by chatbot logs and trending topics can be discovered or identified.

[0028] Through GUI 114, SME 112, etc., it is possible to visualize potential new topics and associated chatbot log samples that can be used to create new intents. GUI 114 allows users (e.g., SME 112) to modify the results and add new intents. For example, as shown at 116, SME 122 via GUI 114 can decide to add a new intent detected by module 102 and presented to the user via GUI 114. If a new intent is added, the system can, for example, update chatbot 108 (also known as the virtual assistant) in real time.

[0029] In one embodiment, the system may carry content that can be used to formulate answers for inclusion in chatbot 108. In one embodiment, for example, in response to the discovery of relevant chatbots and trending topics in current events or media, a trigger released by the detection relevance module 102 may automatically start or run and open the monitoring GUI 114 for access by SME 112, etc. On the other hand, the monitoring GUI 114 may be run or opened manually, for example, by SME, etc.

[0030] Figure 2 This is a simplified diagram illustrating the detailed process of detecting relevant components or modules in an embodiment. Detecting relevant components or modules (e.g., Figure 1(102) includes one or more automated computer processes or threads running on or by one or more hardware processors. Detection-related components or modules may have multiple processes or threads that can run in parallel (e.g., perform parallel processing). In an implementation, chatbot logs 202 can be clustered at 204 using semantic features such as sentence embeddings, considering clustering algorithms such as K-means and / or DBSCAN. The final result of this clustering process can be a collection of chatbot log clusters 206. For example, chatbot logs can be clustered based on common intent (e.g., topic, subject, or theme). For example, chatbot logs in the same cluster have the same intent.

[0031] In an embodiment, another computer process or thread may monitor topics 208 that appear in the real world and are commented on on news websites, social networks, etc., and detect trending topics that are relevant to a specific domain. For example, the computer process may detect social media posts or feeds, news posts or feeds, and / or other current event feeds. One or more analytical tools may be used to identify or extract trending topics from such posts, feeds, and / or other content. For example, the results of such analysis may include information such as visualizations of topics 210, so that SME can see which topics have a higher increasing trend. Other metrics may be shown, such as comparing how the number of topics on social media is increasing, for example, the number of mentions.

[0032] In an embodiment, module or process 212 is capable of calculating the semantic similarity between trending topics 208 and clusters 206 of chatbot logs, and outputting a list of topics associated with a given cluster 214 (if any). Briefly, semantic similarity can be calculated based on the meaning of the items or the similarity of their semantic content to determine the distance between items (e.g., trending topics and chatbot logs). In an embodiment, semantic similarity can be calculated, for example, by considering the most frequent word or sentence embeddings. As an example, module or process 212 can use the bag-of-words technique to compare the number of similar words used in chatbot logs and the analyzed current event or media content. As another example, module or process 212 can use a neural network-based machine learning model (such as a bidirectional encoder representation from a transformer-based (BERT) model) to calculate semantic similarity. As yet another example, module or process 212 can use an ontology or knowledge graph to calculate semantic similarity. Another technique can be used to determine the semantic similarity between the content of chatbot logs and trending topics. For example, any other natural language processing and / or machine learning or artificial intelligence techniques can be used. In one respect, a coprocessor such as a graphics processing unit (GPU) can run one or more semantic similarity calculation algorithms.

[0033] Figure 3 This is a flowchart illustrating a process or method for clustering chatbot logs by intent in an embodiment. The method may be implemented and / or run on one or more hardware processors. For example, Figure 3 and / or Figure 4 The processing shown can be used as a reference. Figure 2 Describe the functions of the detection-related modules. Figure 3 The processing shown can be combined with Figure 4 The processing shown is executed in parallel.

[0034] In a 302 switcher, chatbot logs can be collected. For example, chatbot logs can be collected in real time while the chatbot is talking to a user. The collected chatbot logs may also include those that have been saved from previous conversations.

[0035] At position 304, a clustering method or technique can be selected. In one embodiment, one or more unsupervised machine learning techniques for classification or clustering can be used or implemented. Examples include, but are not limited to, K-means and density-based spatial clustering (DBScan) for noisy applications.

[0036] At point 306, a chosen clustering method or technique can be applied or run on the collected chatbot logs or data. The chosen clustering method clusters chatbot logs into groups of intents. For example, chatbot logs in the same cluster have the same or similar intents.

[0037] At 308, these clusters are stored on a storage or memory device, such as a database or repository of potential intents. The process of clustering log intents can be repeated as more chatbot logs are generated and / or added. For example, the process can iterate back to 302 to cluster additional chatbot logs. The intent database at 308 stores accumulated potential intents.

[0038] Figure 4 This is a flowchart illustrating the process or method for discovering intent in an embodiment. The method may be implemented on and / or run by one or more hardware processors. Figure 4 The processing shown can be combined with Figure 3 The processing shown is performed in parallel. At 402, social media, news, and / or other documents or content that may contain information about current events can be analyzed to identify or detect trending topics. One or more known techniques can be used to extract trending topics from such social media or documents.

[0039] At the 404 error, a growing topic can be detected through the context of its growth. A popular or growing topic does not need to be the most important one. For example, keywords, hashtags, mentions, and / or other tags can be tracked in available online content such as social media, news, and / or other sources to detect increasingly popular or growing topics. For example, topics that are discussed more and more by more users, players, or groups over time (e.g., a time window) can be detected. As an example, people may start discussing or posting about a topic on social media, etc., which may have a spike and then disappear shortly after the post (e.g., a few days). On the other hand, there may be one or more other topics that people discuss or post about that start growing in social media, etc., and questions about those topics appear and grow in chatbot services. In an embodiment, this growth of topics in social media, news, and / or other content may be correlated with the growth of questions about topics in chatbot logs. Known or available artificial intelligence or other tools can be employed or implemented to detect one or more trends or growing topics. Other methods may also be used.

[0040] At point 406, topics can be categorized by relevance. For example, related or similar topics can be categorized into the same category. In one aspect, a knowledge graph or database 410 can be used for topic relevance and similarity checks. The knowledge graph 410 can, for example, store structured knowledge of ontologies such as related concepts. The knowledge graph 410 may also include information for determining semantic similarity, such as one or more thresholds for determining similarity.

[0041] At 408, the latent intent database 412 is accessible to retrieve latent intents, for example, generated by clustering chatbot logs, such as as referenced. Figure 3 As described, semantic similarity between identified intents and topics is calculated at position 406. For example, intents and trending topics in chatbot logs can be determined to be semantically similar based on meeting similarity thresholds (e.g., 90% similarity, 80% similarity). Similarity thresholds can be predefined or configured and can be adjustable.

[0042] At 414, intents and topics that meet a similarity threshold are correlated. The similarity threshold can be predefined or preconfigured. Chatbot logs from which relevant intents are extracted are also identified. Relevant intents and associated chatbot logs can be stored, for example, on a storage device or memory device 416, as suggested new intents and training samples.

[0043] In an embodiment, discovering a new intent (e.g., an intent in the chatbot log related to a trending topic but not previously covered by the chatbot) can automatically trigger GU1 to perform an action. For example, GU1 or another program can be automatically run or opened to allow developers, etc., to evaluate the new intent. For example, at 418, GU1 can present the new intent and allow developers to analyze, modify, accept, and / or reject the suggested new intent. If the developer accepts the new intent at 420, then at 422 the system (e.g., running...) Figure 4 The logic of the method shown (in the form of a computer processor) can update the chatbot 424 to be able to handle new intents. For example, the chatbot 424 can be further trained based on the new intents and associated sample dialogues in the chatbot logs to be able to handle questions or messages associated with the new intents.

[0044] In one embodiment, the discovery of a new intent can automatically update the training examples or the training data used to train the chatbot. In response, the chatbot can be triggered to automatically retrain itself using additional or new training data.

[0045] Figure 5 This is a diagram illustrating an example use case scenario in the embodiments. A healthcare example is described in this use case scenario. Consider a chatbot 502 initially trained to converse with users and answer questions related to healthcare reimbursement procedures. For example, consider a chatbot trained to answer questions such as “How can I book a doctor's appointment for reimbursement?” While conversing with one or more users 504, the chatbot may receive questions such as “How do I get reimbursement for testing for disease C?”, “How do I get tested for disease C?”, “When will we get the new vaccine for disease C?”, and other forms of questions involving new topics (e.g., disease C or health insurance coverage for testing for disease C). Such questions are logged in a chatbot log and, for example, stored on storage device 506. The chatbot logs can be clustered into categories or intent groups or categories. For example, a cluster could be related to intents, such as reimbursement questions related to the cost of healthcare for disease C. Categorized intents and associated chatbot logs can be stored, for example, on storage device 506. Analysis of the chatbot logs may also reveal an increase in the number of such questions.

[0046] Social media, news, and similar content can also be analyzed to identify trending topics. For example, as shown in 508, different trending topics may exist, such as an increase in news about certain protests, an increase in news about health insurance coverage for disease C testing, and an increase in news about a certain type of vaccine. The similarity between categorized intents and trending topics can be calculated. In this example, matching or similar trending topics are identified that match the categorized intents. For example, the intent regarding reimbursement issues related to the cost of healthcare for disease C matches or is similar to the trending topic of news about health insurance coverage for disease C testing, which is increasing. Therefore, it is possible to suggest creating new intents related to disease C insurance coverage, as shown in 510. In one aspect, chatbot logs with conversations associated with such issues can be used as additional training samples or data to retrain the chatbot 502.

[0047] On one hand, the system can help chatbot developers update chatbot content, for example, by detecting chatbot log posts relevant to external events. The system can provide developers with information on which questions extracted from the chatbot are relevant to a given event. After triggering or through manual review, developers can decide whether to include automatically generated new intents and which messages can be used as training samples. The system can also provide text compilations that may be useful for creating response content. The system can accelerate the process of curating and updating chatbot content by generating new intents based on chatbot logs and external events. The system can detect questions that are becoming more frequently asked by users, which may migrate from the long tail of the distribution to the core of the chatbot content. The system can predict potential questions that may migrate from the tail of the probability distribution to high-density areas. Automating chatbot intent creation by using a combination of trending media topics and aggregated questions from user interaction logs can significantly accelerate the process and also bring external knowledge that may not be apparent when developing chatbots or chatbot applications.

[0048] Figure 6This diagram illustrates components of a system in one embodiment, which can be integrated into a conversational system such as a chatbot application, content related to external or current trending events. One or more hardware processors 602, such as a central processing unit (CPU), graphics processing unit (GPU) and / or field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), and / or another processor, may be coupled to memory 604 and reveal and / or suggest one or more new intents for training the chatbot based on trending topics identified in social media or other external content or outside the conversational system. For example, identified or uncovered new intents may be added to training data to train or retrain the chatbot to handle conversations or questions related to the new intents. Memory 604 may include random access memory (RAM), read-only memory (ROM), or another memory device and may store data and / or processor instructions for implementing various functions associated with the methods and / or systems described herein. One or more hardware processors 602 may execute computer instructions stored in memory 604 or received from another computer device or medium. Memory 604 may, for example, store instructions and / or data for operation by one or more hardware processors 602, and may include an operating system and other programs containing instructions and / or data. One or more hardware processors 602 may receive input, which may include chatbot log data. Input may also include social media posts, content, news posts, and / or other current event documents or content. For example, at least one hardware processor 602 may receive chatbot logs that include at least questions received by a chatbot interacting with a user. At least one hardware processor 602 may cluster chatbot logs into clusters of potential intents. At least one hardware processor 602 may detect trending topics by analyzing at least social media content. At least one hardware processor 602 may calculate semantic similarity between potential intents and trending topics. At least one hardware processor 602 may associate at least one potential intent with at least one trending topic based on the calculated semantic similarity. At least one hardware processor 602 may use chatbot logs associated with relevant potential intents to trigger chatbot training. In one aspect, chatbot logs may be stored on storage device 606 or received from a remote device via network interface 608, and may be temporarily loaded into memory 604 to reveal and / or create new intentions for chatbot training. One or more hardware processors 602 may be coupled to interface devices, such as network interface 608 for communicating with remote systems, for example, via a network, and input / output interfaces 610 for communicating with input and / or output devices, such as keyboards, mice, displays, and / or other devices.In one embodiment, one or more hardware processors 602 are capable of monitoring topics that appear in the real world and are commented on on news websites, social networks, etc., to detect trending topics that may be relevant to a specific domain. The one or more hardware processors 602 can calculate the semantic similarity between trending topics and clusters of chatbot logs. In this embodiment, semantic similarity can be calculated by considering the most frequent term and / or sentence embeddings.

[0049] Figure 7 This is a flowchart illustrating a method for discovering new intentions for training a chatbot in an embodiment. The method may be implemented on or run by one or more hardware processors. At 702, chatbot logs, including at least questions received by the chatbot during a conversation with a user, may be received. In this embodiment, the chatbot logs may be received in real time while the chatbot's conversation with the user is being recorded.

[0050] At 704, chatbot logs can be clustered into clusters of potential intentions. In an embodiment, an unsupervised machine learning algorithm can be invoked to cluster chatbot logs into clusters of potential intentions. At 706, trending topics can be detected by at least analyzing social media content. In an embodiment, invoking unsupervised machine learning to cluster chatbot logs into clusters of potential intentions and detecting trending topics by at least parallel analysis of social media content can be performed in parallel.

[0051] At position 708, the semantic similarity between potential intent and trending topics can be calculated.

[0052] At point 710, based on the calculated semantic similarity, at least one of the potential intentions can be associated with at least one of the popular topics.

[0053] In 712, chatbot logs associated with relevant latent intents can be used to trigger chatbot training. In one embodiment, relevant latent intents can be used to automatically update training data used to train the chatbot. In another embodiment, triggering chatbot training can be performed automatically. In another embodiment, triggering chatbot training may include prompting via a graphical user interface to add relevant latent intents to training data to train the chatbot, and in response to receiving confirmation of adding or accepting a new intent (relevant latent intent), the method may further include adding the latent intents to the chatbot's training data and retraining or updating the chatbot. Developers may also be allowed to select, via a graphical user interface, which messages in the chatbot logs can be used as training samples. Retraining may be completed automatically or in response to receiving confirmation from the developer, etc.

[0054] In implementations, for example, when the chatbot logs are continuously updated, Figure 7 The processing shown can be performed, for example, continuously or repeatedly, in order to be able to process the latest chatbot logs.

[0055] In one embodiment, a method can reveal multiple user interaction logs with a chatbot and, in response to identifying trends (e.g., not transient in either chatbot interaction logs or trending topics on social media and news sites or other external content), suggest new intents to one or more topic experts. The method can detect questions that are becoming longer for users, potentially migrating from the long tail of the distribution to the core of the chatbot's content. This method can improve the process of curating chatbot content. In one aspect, the method can help chatbot developers update chatbot content, for example, by detecting chatbot logs related to external events that may become trending. The method can accelerate the process of curating and updating chatbot content by proposing new intents based on chatbot logs and external events. For example, in an embodiment, the method can specifically improve the intent recognition module, which can be at the core of the chatbot, in a more automated manner. The method in the embodiment can automatically provide developers, etc., with information on possible new intents and corresponding sample sets to create intents, for example, based on linking chatbot logs with data from external sources. The method can also bring knowledge that developers, etc., might not be aware of, for example, by revealing new intents from clusters of chatbot log questions linked to external trending topics.

[0056] In an embodiment, a system and / or method may also detect conditions that classify a topic as transient or non-transient. Figure 8 This is a diagram illustrating how interests and external content appearing in chatbot logs are plotted over a time window in an implementation. Solid lines in the diagram represent chatbot log interests, while dashed lines represent trending topics of interest found in external content such as social media, news, and / or other external sources.

[0057] While many topics may exist as discussion topics, not all topics are persistent; for example, they may be ephemeral, lasting only a very short time. In one embodiment, when creating one or more new intentions, there may be some delay between the emergence of a new topic and the triggering of the creation of the new intention.

[0058] In an embodiment, the system and / or method may consider checking a past configurable sliding window when a new intent is detected. Figure 8(See the "Past Window" shown). Each time a new trending topic is detected, the system and / or method can observe the growth of that topic within the window. If the volume in the window suddenly decreases (e.g., drops more than a configurable threshold), the system and / or method can consider the topic transient and therefore discard it from the list of potential new intents. Otherwise, the topic can be potentially considered. The system and / or method can also use a sliding window to analyze the persistence of new topics in the call log. The system and / or method can use a knowledge graph to identify the topic context and use a historical database to predict whether the topic tends to persist over time. If the topic is predicted to persist and topic interest also increases in the chatbot log, the system and / or method can signal the creation of a new intent.

[0059] In another embodiment, a method for predicting the lifecycle of trending topics as they emerge can be used. This method can work as follows: as new topics emerge, a predictive model predicts how the topic will evolve within social media (e.g., Figure 8 (In the context of a future window). Similarly, a search can be performed in the chatbot logs to identify the popularity of the same topic in the chatbot logs. If a topic is identified, a predictive model can be used to predict how the topic will evolve in the chatbot logs. If the prediction indicates that the topic will be popular in social media (external content) and in the chatbot logs, a new intent can be created for that new topic. In this embodiment, a knowledge graph can also be used to identify similar documents or content sharing the topic, and a historical database can be used to check the persistence of the topic. In yet another embodiment, the system and / or method may include a hybrid approach that looks from the past (e.g., a past window) to the future (e.g., a future window) to predict new intents.

[0060] In one or more embodiments, a threshold (topic interest assessment trigger) for determining whether a topic will become an intent can be used as a cutoff value. In one embodiment, this value can be set manually by the SME. In another embodiment, this value can be automatically optimized based on the acceptance rate of suggested intents validated by the SME. For example, the shape of the frequency curve of topics associated with new intents and stored in a knowledge graph can be analyzed. The system and / or method can then evaluate the integral of the topic interest level over time and calculate the total relevance of the topic. The system and / or method can then find the time when a topic reaches a given amount of relevance to that topic (e.g., 10% of the area under the curve) to estimate the default level of topic interest. This time can then be adaptively adjusted based on suggested intents accepted and / or rejected by the SME.

[0061] Figure 9A schematic diagram of an example computer or processing system that can implement one embodiment of the system is shown. The computer system is merely one example of a suitable processing system and is not intended to impose any limitation on the scope of use or functionality of the embodiments of the methods described herein. The processing system shown can operate with many other general-purpose or special-purpose computing system environments or configurations. Figure 9 Examples of well-known computing systems, environments, and / or configurations of the processing system shown may include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices.

[0062] A computer system can be described within the general context of executable instructions (such as program modules) that run on it. Generally, program modules can include routines, programs, objects, components, logic, data structures, etc., that perform specific tasks or implement specific abstract data types. Computer systems can be implemented in distributed cloud computing environments, where tasks are performed by remote processing devices linked via communication networks. In distributed cloud computing environments, program modules can reside on local and remote computer system storage media, including memory storage devices.

[0063] The components of the computer system may include, but are not limited to, one or more processors or processing units 12, system memory 16, and a bus 14 that couples the various system components, including system memory 16, to processor 12. Processor 12 may include module 30 that performs the methods described herein. Module 30 may be programmed into an integrated circuit of processor 12 or loaded from system memory 16, storage system 18, or network 24, or a combination thereof.

[0064] Bus 14 can represent one or more of several types of bus architectures, including memory buses or memory controllers, peripheral buses, accelerated graphics ports, and processor or local buses using any of the various bus architectures. By way of example and not limitation, such architectures include Industry Standard Architecture (ISA) buses, Micro Channel Architecture (MCA) buses, Enhanced ISA (EISA) buses, Video Electronics Standards Association (VESA) local buses, and Peripheral Component Interconnect (PCI) buses.

[0065] Computer systems may include a variety of computer system-readable media. Such media can be any available media that can be accessed by a computer system, and can include volatile and non-volatile media, removable and non-removable media.

[0066] System memory 16 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory or others. The computer system may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 18 may be provided for reading from and writing to non-removable, non-volatile magnetic media (e.g., a "hard disk drive"). Although not shown, disk drives for reading from or writing to removable non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable non-volatile optical disks (e.g., CD-ROMs, DVD-ROMs, or other optical media) may be provided. In such a case, each may be connected to bus 14 via one or more data media interfaces.

[0067] The computer system can also communicate with one or more external devices 26 (such as a keyboard, pointing device, display 28, etc.), and / or any device that enables the computer system to communicate with one or more other computing devices (e.g., a network card, modem, etc.). Such communication can occur via input / output (I / O) interface 20.

[0068] However, the computer system can communicate with one or more networks 24 (such as a local area network (LAN), a general area network (WAN), and / or a public network (e.g., the Internet)) via network adapter 22. As shown, network adapter 22 communicates with other components of the computer system via bus 14. It should be understood that, although not shown, other hardware and / or software components may be used in conjunction with the computer system. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems.

[0069] It should be understood in advance that although this disclosure may include descriptions of cloud computing, the implementation of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the invention can be implemented in conjunction with any other type of computing environment now known or developed hereafter. Cloud computing is a service delivery model designed to enable convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services), which can be rapidly provisioned and released with minimal management effort or interaction with service providers. This cloud model may include at least five features, at least three service models, and at least four deployment models.

[0070] The characteristics are as follows:

[0071] On-demand self-service: Cloud consumers can unilaterally and automatically provide computing power, such as server time and network storage, as needed, without requiring human interaction with the service provider.

[0072] Extensive network access: Capabilities are available through the network and accessed via standard mechanisms that facilitate the use of heterogeneous thin client platforms or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0073] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated based on demand. There is a sense of location independence because consumers typically do not have control or knowledge of the exact location of the resources provided, but may be able to specify the location at a higher level of abstraction (e.g., country, state, or data center).

[0074] Rapid elasticity: Capacity can be provided quickly and flexibly (in some cases, automatically) to shrink rapidly and expand rapidly. For consumers, the available supply capacity often appears unlimited and can be purchased in any quantity at any time.

[0075] Measurable services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.

[0076] The service model is as follows:

[0077] Software as a Service (SaaS): This provides consumers with the ability to use the provider's applications running on cloud infrastructure. Applications can be accessed from different client devices via thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application capabilities, with possible exceptions such as limited user-specific application configuration settings.

[0078] Platform as a Service (PaaS): This provides consumers with the ability to deploy applications created by the consumer or acquired using programming languages ​​and tools supported by the provider onto cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but they have control over the deployed applications and the configuration of any application hosting environment.

[0079] Infrastructure as a Service (IaaS): The capabilities provided to consumers are processing, storage, networking, and other basic computing resources that enable consumers to deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but rather have control over the operating system, storage, deployed applications, and potentially limited control over selected networking components (e.g., host firewalls).

[0080] The deployment model is as follows:

[0081] Private cloud: A cloud infrastructure that operates solely for an organization. It can be managed by the organization or a third party and can exist on-site or off-site.

[0082] Community cloud: Cloud infrastructure shared by several organizations and supporting a specific community with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist on-site or off-site.

[0083] Public cloud: Cloud infrastructure that is made available to the public or large industry groups and is owned by an organization that sells cloud services.

[0084] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies that enable data and applications to be ported together (e.g., cloud bursts for load balancing between clouds).

[0085] Cloud computing environments are service-oriented, focusing on statefulness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure that includes a network of interconnected nodes.

[0086] See now Figure 10 The diagram illustrates an illustrative cloud computing environment 50. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 to which local computing devices used by cloud consumers can communicate. These local computing devices include, for example, personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N. The nodes 10 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as private clouds, community clouds, public clouds, or hybrid clouds, or combinations thereof, as described above. This allows the cloud computing environment 50 to provide infrastructure, platforms, and / or software as services that cloud consumers do not need to maintain on their local computing devices. It should be understood that... Figure 10 The types of computing devices 54A-N shown are intended to be illustrative only, and computing node 10 and cloud computing environment 50 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0087] See now Figure 11 This demonstrates the 50 (cloud computing environment) Figure 10 This provides a set of functional abstractions. It should be understood beforehand. Figure 11 The components, layers, and functions shown are intended to be illustrative only, and embodiments of the invention are not limited thereto.

[0088] As described, the following layers and corresponding functions are provided:

[0089] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: a mainframe 61; a RISC (Reduced Instruction Set Computer) based server 62; a server 63; a blade server 64; a storage device 65; and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0090] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual server 71; virtual storage 72; virtual network 73, including virtual private network; virtual application and operating system 74; and virtual client 75.

[0091] In one example, management layer 80 may provide the following functionalities: Resource Provisioning 81 provides dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and Pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, as well as protection for data and other resources. User Portal 83 provides access to the cloud computing environment for consumers and system administrators. Service Level Management 84 provides cloud resource allocation and management to ensure that required service levels are met. Service Level Agreement (SLA) Planning and Fulfillment 85 provides pre-scheduling and procurement of cloud resources based on anticipated future needs according to the SLA.

[0092] Workload layer 90 provides examples of functionalities that can leverage a cloud computing environment. Examples of workloads and functionalities that can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analytics and processing 94; transaction processing 95; and chatbot intent processing 96.

[0093] This invention can be a system, method, and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to execute aspects of the invention.

[0094] Computer-readable storage media can be tangible devices capable of retaining and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital universal disk (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or protrusions in slots having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0095] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device or to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device.

[0096] Computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and procedural programming languages ​​(such as the "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as a standalone software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)) or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute computer-readable program instructions by utilizing state information from the computer-readable program instructions to personalize the electronic circuitry in order to perform aspects of this invention.

[0097] This document describes aspects of the invention with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0098] These computer-readable program instructions can be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, thereby comprising an article of manufacture containing instructions that implement aspects of the functions / actions specified in one or more blocks of a flowchart and / or block diagram.

[0099] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, thereby causing the instructions to be executed on the computer, other programmable apparatus, or other device to perform the functions / actions specified in one or more blocks of a flowchart and / or block diagram.

[0100] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than indicated in the figures. For example, two consecutively shown blocks may actually be completed as a single step, running simultaneously, substantially simultaneously, partially or completely overlapping in time, or these blocks may sometimes run in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.

[0101] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context explicitly indicates otherwise. As used herein, the term “or” is an inclusive operator and may mean “and / or”, unless the context explicitly or explicitly indicates otherwise. It should also be understood that, when used herein, the terms “comprise,” “comprises,” “comprising,” “includes,” “including,” and / or “having” may specify the presence of the stated feature, integral, step, operation, element, and / or component, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or combinations thereof. As used herein, the phrase “in an embodiment” does not necessarily refer to the same embodiment, although it may refer to the same embodiment. As used herein, the phrase “in one embodiment” does not necessarily refer to the same embodiment, although it may refer to the same embodiment. As used herein, the phrase “in another embodiment” does not necessarily refer to a different embodiment, although it may refer to a different embodiment. Furthermore, the embodiments and / or the components of the embodiments can be freely combined with each other, unless they are mutually exclusive.

[0102] All the means or steps plus functional elements (if any) in the following claims are intended to include any structure, material, action, and equivalent for performing the function in conjunction with other claimed elements as specifically claimed. The description of the invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the forms disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. Embodiments were chosen and described in order to best explain the principles and practical application of the invention, and to enable others skilled in the art to understand various embodiments of the invention with various modifications suitable for the intended particular purpose.

Claims

1. A computer implementation method, comprising: Receive chatbot logs, which include at least the questions received by the chatbot that is talking to the user; Cluster the chatbot logs into clusters of potential intents; Detect trending topics by analyzing at least social media content; Calculate the semantic similarity between the potential intent and the trending topic; Based on the calculated semantic similarity, at least one of the potential intentions is related to at least one of the popular topics; as well as The training of the chatbot is triggered using chatbot logs associated with the relevant potential intent.

2. The method according to claim 1, wherein, While recording the conversation between the chatbot and the user in real time, the chatbot logs are received in real time.

3. The method of claim 1, further comprising automatically updating the training data used to train the chatbot using the relevant latent intent.

4. The method according to claim 1, wherein, The chatbot's training is performed automatically.

5. The method according to claim 1, wherein, The triggering of the chatbot's training includes providing prompts via a graphical user interface to add the relevant potential intents to the training data used to train the chatbot.

6. The method according to claim 1, wherein, Parallel execution of unsupervised machine learning calls to cluster the chatbot logs into clusters of potential intents, and detection of trending topics by analyzing at least social media content.

7. A system comprising: Hardware processor; A memory device coupled to the hardware processor for storing program instructions; The hardware processor is configured to implement program instructions stored in the memory device as described in any one of claims 1 to 6.

8. A computer program product comprising program instructions that can be read by a device to cause the device to perform the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Generating responses in automated chatting

    CN109844743A

  • System Architecture for Interactive Query Processing

    US20190065556A1