PROCEDURE FOR ELECTRONIC COMMUNICATIONS
Patent Information
- Application Number
- DE112022001085
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-03-30
- Filing Date
- 2022-03-08
- Publication Date
- 2025-10-09
- Estimated Expiration
- 2042-03-08
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND
[0001] The present invention relates to the field of digital computer systems and, more particularly, to an electronic messaging method.
[0002] Today, automated training or testing of users or systems is done with a predefined set of questions and answers. However, in the real world, information is not always provided in a simple and structured manner. Rather, it contains a high degree of ambiguity and noise, or it may contain only a subset of the required information, or it may contain too much information.
[0003] US 2015 / 0172242 A1 discloses a method and system for receiving user-specific information and for dynamically adapting message content based on preferences or usage histories in order to individualize the content for specific recipients.
[0004] WO 2017 / 214219 A1 discloses a system and method for detecting sensitive keywords in a message and intentionally replacing them with thematically similar but incorrect words before sending them to the recipient.
[0005] US 2019 / 0109802 A1 discloses a system and method for training customer service agents by simulating chats with a chatbot, monitoring the interaction, evaluating the agent's performance, and generating feedback based on this evaluation.
[0006] US 2020 / 0226288 A1 discloses methods and systems for analyzing unstructured texts using artificial intelligence, in which confidential information is identified and masked by training word embedding models as well as by filtering and mapping rules. SUMMARY
[0007] Various embodiments provide a method, computer system, and computer program product as described by the subject matter of the independent claims. Advantageous embodiments are described in the dependent claims. Embodiments of the present invention can be freely combined with one another, provided they are not mutually exclusive.
[0008] According to one aspect, the invention relates to a computer-implemented method comprising: Receiving an electronic message from an electronic data transmission system; Determining message intentions of the received electronic message and one or more related intentions by using a knowledge database; Generating an electronic message according to a selected subset of the message intentions or according to the related intentions; Controlling the electronic data transmission system to provide the generated electronic message instead of the received electronic message or to provide the generated electronic message in addition to the received electronic message.
[0009] According to a further aspect, the invention relates to a computer program product comprising a computer-readable storage medium with computer-readable program code contained thereon, wherein the computer-readable program code is configured to implement all steps of the method according to the preceding embodiments.
[0010] According to a further aspect, the invention relates to a computer system configured to: Receiving an electronic message; Determining message intentions of the received electronic message and one or more related intentions by using a knowledge database; Generating an electronic message according to a selected subset of the message intentions or according to the related intentions; Providing the generated electronic message instead of the received electronic message or providing the generated electronic message in addition to the received electronic message. BRIEF DESCRIPTION OF THE DIFFERENT VIEWS OF THE DRAWINGS
[0011] In the following, embodiments of the invention are described in greater detail by way of example only and with reference to the drawings, in which: Fig. 1A illustrates a computer system according to an example of the present subject matter; Fig. 1B illustrates a window showing the transcript of a chat session; Fig. 2 is a flowchart of a method according to an example of the present subject matter; Fig. 3A is a flowchart of a method according to an example of the present subject matter; Fig. 3B illustrates a window showing the transcript of a chat session; Fig. Figure 3C shows a representation of dependencies between words of an electronic message; Fig. 4A is a flowchart of a method according to an example of the present subject matter; Fig. 4B illustrates a window showing the transcript of a chat session; Fig. 5A is a flowchart of a method according to an example of the present subject matter; Fig. 5B illustrates a window showing the transcript of a chat session; Fig. 6 is a flowchart of a method for generating a knowledge graph and language model according to an example of the present subject matter; Fig. 7 is a diagram illustrating a method for linking text and image embedding regions according to the present subject matter; Fig. 8 represents a general computer-aided system suitable for implementing at least some of the method steps included in the disclosure. DETAILED DESCRIPTION
[0012] The descriptions of the various embodiments of the present invention are presented for illustrative purposes and are not intended to be exhaustive or limited to the disclosed embodiments. Those skilled in the art will appreciate that numerous modifications and variations are possible without departing from the spirit and scope of the described embodiments. The terminology used herein has been chosen to best explain the principles of the embodiments, practical application, or technical improvement over current technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.
[0013] Messaging can be a written data transmission sent via a variety of digital channels such as email, SMS, and chat within an application. Messaging can be advantageous because it can provide relevant information at the right time. In particular, messaging performed with the right information and at the right frequency can improve the performance of the electronic data transmission system. However, managing electronic messages can be challenging due to the multitude of platforms, devices, and systems used to generate these records. The present subject matter can be advantageous because it can provide a systematic way to control and manage the data transmission of electronic messages.This can be particularly beneficial because for some agents, the use of text and chat instant messaging may be essential to completing the agent's job.
[0014] The electronic message may, for example, be received by reading a log of conversations to generate messages for a messaging session. In another example, the electronic message may be received, for example, by intercepting it during an ongoing messaging session. The intercepted electronic message may, for example, be delivered during a messaging session. The messaging session may involve the exchange of electronic messages such as text, multimedia, and / or voice messages in a real-time format or a non-real-time format. The real-time format may involve instant messaging or chat, and the non-real-time format may involve email, posting to a dynamic forum or feed, etc. Depending on the use case, the messaging session may be associated with a context.For example, a messaging session may be conducted between a chatbot agent and a user (a learner) to train or test the user through the chatbot agent. In this case, the electronic messages may be questions and answers. In another example, a messaging session may be conducted between a plurality of users via a mobile messaging application deployed on respective mobile client devices of the plurality of users. In another example, the messaging session may include a group chat through which the respective users share and discuss various topics, e.g., videos or other types of multimedia content.The term "chatbot" or "chat bot" refers to a computer program designed to simulate a conversation with one or more human users via audio or text-based methods, primarily for small talk or training purposes. One goal of such a simulation may be to falsely deceive the end user into believing that the program's output was generated by a human.
[0015] The intercepted / received electronic message is processed to generate an electronic message. In a training use case, the electronic message can be generated to increase the difficulty of predefined questions by providing incomplete information, by adding confusing intentions to create ambiguity, and / or by adding misleading intentions to the intercepted / received electronic message. This can enable a reliable, automated training session. In the case of a data transmission system where sensitive information should not be provided according to data access rules, the intercepted / received electronic message can be processed to identify intentions that do not comply with the data access rules and to mask or remove them. This can enable secure data transmission.
[0016] The present invention can be advantageous because it can use a knowledge database to generate precise messages. The knowledge database can be, for example, a knowledge graph. The knowledge graph can represent one or more domain ontologies. For example, the knowledge graph can represent the domain of software and / or hardware troubleshooting. In this case, the nodes of the knowledge graph can represent, for example, intentions, images, and solutions. The intention can, for example, represent a specific software problem. For example, the intention can be #heating or #virus and indicate a problem due to a computer heating up or the presence of a computer virus, respectively. The solutions are associated with the problems defined in the intentions of the knowledge graph. A solution associated with the intention #virus can, for example, be #install_virus_protection.The images can represent stack traces, error logs, function calls, or command output. For example, an image in the graph can be a screen capture of logs describing a problem related to an intention, where, for example, an image #fan noise can belong to the intention #heating. However, the domain of the knowledge graph can be broad enough to cover multiple topics. In the example of error problems, multiple topics can be covered by the knowledge graph, e.g., operating system problems can cover one topic, the display can cover another topic, etc. The present invention can solve this problem by clustering the knowledge graph. The knowledge graph can be clustered, creating multiple clusters. A cluster can, for example, be represented by a subgraph of the knowledge graph, where data of the cluster represents a particular topic.The cluster may have sub-clusters, where a sub-cluster may represent frequently occurring intentions, frequently co-occurring intentions, frequently suggested solutions, non-recommended or incorrect solutions, etc.
[0017] The knowledge graph can be a graph. A graph can be called a property graph, in which data values are stored as properties in nodes and edges. Property graphs can be managed and processed by a graph database management system or other database systems that provide a wrapper layer that converts the property graph into relational tables for storage purposes, for example, and converts the tables back to property graphs when they are read or queried. The graph can be, for example, a directed graph. The graph can be a collection of nodes (also called vertices) and edges. The edge of the graph connects any two nodes of the graph. The edge can be represented by an ordered pair (v1, v2) of nodes and can be traversed from node v1 to node v2. A node of the graph can represent an entity. The entity can refer to a problem, a solution, etc.The entity (and the corresponding node) may have one or more entity attributes or properties to which values can be assigned. For example, the entity attributes of the solution may have an attribute that indicates whether the solution is a frequently suggested solution or a discouraged solution, etc. The attribute values representing the node are values of the entity attributes of the entity represented by the node. The edge may be assigned one or more edge attribute values that indicate at least one relationship between the two nodes that will be connected by the edge. The attribute values representing the edge are values of the edge attributes. The relationship may, for example, have an inheritance relationship (e.g., parent and child) and / or an associative relationship according to a certain hierarchy.For example, the inheritance relationship between nodes v1 and v2 can be described as an "is-a" relationship between v1 and v2, e.g., "v2 is a parent node of v1." The associative relationship between nodes v1 and v2 can be described as a "is related to" relationship between v1 and v2, e.g., "v2 is related to v1," meaning that v1 is a part or a composition of, or belongs to, v2.
[0018] The method further comprises determining a context of the messaging session using the electronic message. The context of the messaging session is defined by at least one subgraph of the knowledge graph. The related intentions can be determined by using the subgraph, such that the generated electronic message has noisy content that differs from content of the intercepted message and that belongs to the same context. The intentions referred to as “related intentions” can be used to add ambiguity or insert confusing information, while the selected subset of message intentions can be used to generate incomplete information. In other words, the content of the generated electronic message can provide the incomplete information, ambiguity, or confusing information.The subset of message intentions may be selected based on scores assigned to each of the message intentions. The scores may be determined by an intention classifier. The intention classifier may be configured to receive the received electronic message as input and provide the message intentions along with their scores. The subset of intentions may be obtained by removing the first N ranked message intentions of the message intentions, where N >= 1.
[0019] The context of the messaging session may be the topic of the messaging session. The topic of the messaging session may be determined by analyzing the content of the electronic message. The analysis may be performed, for example, by using a data mining method. The subgraph of the knowledge graph may include intentions that are potentially intended to share the topic of the electronic message. The intentions of the subgraph may include the message intentions of the intercepted electronic message. The subgraph may be used advantageously because it may allow the intentions of the subgraph to be ranked based on their importance, e.g., by using centrality.
[0020] According to one embodiment, the electronic message is intercepted by a chat application of the electronic data transmission system. The chat application is configured to simulate a conversation with a user during the messaging session. The method comprises: querying the electronic message of the chat application at specific times during the messaging session.
[0021] The chat application can be used to conduct an online chat conversation using text or text-to-speech. For example, the chat application can be used to test or train a user by asking the user questions. The user can provide answers to the questions. The electronic message can, for example, include the text of a question. This embodiment can be advantageous because it can control the timing of when the electronic messages, e.g., questions, need to be modified or adapted in accordance with the present subject matter.
[0022] The times at which new / modified questions need to be generated can, for example, be defined in advance or determined dynamically. For example, the times can be defined dynamically based on user input. This can, for example, enable the use of different operating modes for a conversation / training session conducted with the user. For example, a simplified or difficult training mode can be used. In the simplified training mode, perhaps only a small portion of the questions can be modified (e.g., at the beginning of the conversation), whereas in the difficult operating mode, a larger number of questions can be changed (e.g., at different phases of the conversation).
[0023] The generated electronic message can be modified by altering the intentions of the intercepted electronic message. The modification can be performed by removing intentions from the intercepted electronic message to provide incomplete information, by adding confusing intentions to create ambiguity, and / or by adding misleading intentions to the intercepted electronic message.
[0024] According to one embodiment, the electronic data transmission system is a chat server configured to distribute messages between chat clients. For example, according to the present invention, the electronic message is intercepted and processed before distribution.
[0025] According to one embodiment, the electronic message is received from a first chat client in a second chat client. The method further comprises detecting sensitive information in the intercepted electronic message, wherein the selected subset of message intentions includes non-sensitive information, and providing the generated electronic message instead of the intercepted electronic message. The sensitive information may, for example, include private information such as the full name, etc.
[0026] Furthermore, the method comprises selecting the subset of message intentions based on centrality indices of the knowledge graph such that the subset of message intentions comprises K less important message intentions, where K ≥ 1.
[0027] According to one embodiment, the related intentions are intentions of the knowledge graph that are within k-hop neighborhoods of the message intentions, where k is a value of a configurable parameter.
[0028] Furthermore, the generated electronic message has noise content that differs from a content of the intercepted electronic message. The method further comprises configuring the value of the parameter according to a desired noise level of the noise content. The noise may, for example, be a user-based noise or a problem-based noise. The user-based noise may, for example, be determined based on a characteristic of the user such as age, etc. For example, a higher noise level may be provided for an expert user than for a normal user, e.g., by increasing the value of the parameter k. The level of the problem-based noise may be changed, e.g., by adding more misleading intentions or removing more important intentions.
[0029] According to one embodiment, generating the electronic message according to the related intentions comprises applying a language model to the related intentions to generate the electronic message. The language model may be, for example, an RNN-based language model, an LSTM-based language model, or a GAN.
[0030] According to one embodiment, the method further comprises training the language model for each individual user involved in the data transmission with the electronic data transmission system to simulate a user-specific language. For example, the language model can be trained using sentences or texts that have user-specific intentions, e.g., sentences from users of a certain age.
[0031] According to one embodiment, generating the electronic message according to the selected subset of intentions comprises removing fragments of the intercepted electronic message representative of one or more important intentions, thereby generating the electronic message.
[0032] According to one embodiment, the method further comprises representing the intercepted electronic message in a predefined vector space, selecting the subset of intentions and determining the related intentions such that the generated electronic message lies within a minimum distance from the intercepted electronic message in the vector space.
[0033] According to one embodiment, the method further comprises generating the knowledge graph using data transfer transcripts and / or logs of previous data transfers and clustering intentions of the knowledge graph according to one or more graph properties of the knowledge graph. The graph property comprises any one of: a centrality index of each node of the graph and a distance of each node from other nodes of the graph.
[0034] Fig. 1A is an illustration of a computer system 100 according to an example of the present subject matter. The computer system 100 includes an agent computer 105. The agent computer 105 may be an electronic communications system. The computer system 100 is provided with an electronic communications controller 101. The electronic communications controller 101 is connected to a chat connection 103 to receive each successive message sent during a conversation or chat session between a user 102 and the agent computer 105. The connection 103 may connect the agent computer 105 to a remotely located user computer of the user 102 or may be a connection to a display unit of the agent computer 105. The connection 103 may be established over the Internet or another data channel.Through connection 103, the conversation or chat may include a stream of text messages exchanged between user 102 and agent computer 105.
[0035] Consecutive messages from user 102 are received at an analysis unit 106 of agent computer 105. Analysis unit 106 performs the function of analyzing a message to determine the problem or request of user 102 that is the subject of the chat with agent computer 105. If the message is in text form, text analysis capability is provided to analysis unit 106 to perform this function. The function of analysis unit 106 may be part of a process for identifying a particular response provided by user 102 in response to a question posed by agent computer 105.
[0036] The agent computer 105 has a question generator 116 that receives inputs from the analysis unit 106. The question generator 116 uses these inputs (and, e.g., a chatbot) to create or formulate a request or question, where the request is a statement about a goal associated with a problem, and the user 102 must provide a solution to the problem. The question generator 116 can also create a request without receiving any input from the analysis unit, e.g., to initiate the conversation with the user 102. The message generated by the question generator 116 and / or the message received from the user 102 can be intercepted or provided as input to the electronic data transmission controller 101 via the connection 103.The electronic data transmission controller 101 may use a knowledge graph 120 as a source of information to modify the intercepted message in accordance with the present subject matter.
[0037] The messages exchanged between the user 102 and the agent computer 105 can be displayed in a window 130 as shown in Fig. 1B. Window 130 may be displayed in a user interface of agent computer 105 when user 102 is in direct contact with agent computer 105, or it may be displayed on a remotely located user computer of user 102.
[0038] Fig. Figure 1B shows an example of a timeline view of chat messages between user 102 and agent computer 105. Window 130, which displays the transcript of a chat session, includes a first display area 131 for displaying the messages and a second display area 133 for displaying the timestamps of the chat messages. The messages are aligned to their respective timestamps. In the Fig. 1B, agent computer 105 may provide messages 135.1 through 135.n, where each message may be a question to user 102. User 102 may provide corresponding response messages 136.1 through 136.n.
[0039] Although shown as a separate component, in another example, the electronic data transmission controller 101 may be part of the agent computer 105.
[0040] Fig. 2 is a flowchart of a method according to an example of the present invention. For illustrative purposes, the Fig. 2 described methods are implemented in the system that is Fig. 1A, but is not limited to this implementation. The method of Fig. 2 can be carried out, for example, by the controller 101 of the electronic data transmission.
[0041] In a step 201, an electronic message may be received or identified in the electronic data transmission system 105, for example, provided by the electronic data transmission system 105 to a user. The electronic message may be received or read from a log file of conversations, or it may be intercepted. The electronic message may, for example, be a message transmitted from a sending computer to a receiving computer, which is the electronic data transmission system 105. The electronic message may, for example, be an outgoing message from a computer 105. In this case, the electronic data transmission controller 101 may be configured to intercept the electronic message before it is transmitted from the computer 105. In another example, the electronic message may be an incoming message to the computer.In this case, the electronic transmission controller may be configured to intercept the received electronic message before it is provided to a receiving application of the computer. In another example, the electronic message may be a message generated by a computer application and displayed on an interface of the computer 105. In this case, the electronic transmission controller may be configured to intercept the electronic message before it is displayed. The electronic transmission controller may be part of the computer 105, but need not be.
[0042] The electronic message may, for example, be any type of electronic data transmission structure. The electronic message may, for example, be an electronic message, instant messaging message, audio message, or text message. The electronic message may be a message of a conversation. The electronic message may be one of the chat messages of a conversation. The conversation may be a sequence of messages sent between a chat agent and one or more users. The electronic message may, for example, be the first chat message of the conversation or a randomly selected electronic message of the conversation. In another example, the electronic message may be a selected chat message of the conversation. The selection may be made based on a selection criterion.For example, the selection criterion may require that the message to be modified is received after a correct response from the user.
[0043] Intentions of the received or intercepted electronic message can be determined in a step 203. The determined intentions can be referred to as message intentions. The message intention can, for example, refer to the goal the chatbot agent has in mind when providing a question or comment. Intention classification can be the automated assignment of text to a specific purpose or goal. The message intentions can, for example, be determined by a classifier. The classifier can analyze text elements and categorize them into intentions, e.g., computer virus, heating, etc. The intention classifier can, for example, use machine learning algorithms that can assign words or phrases to a specific intention.
[0044] In a step 205, intentions related to the intentions of the message intentions can be determined. The related intentions can, for example, belong to the same domain of the message intentions. A domain represents concepts or categories that belong to a part of the world, e.g., biology or politics. The domain typically models definitions of terms specific to the domain. For example, a domain can refer to an area specific to healthcare, advertising, commerce, medicine, and / or biomedicine.
[0045] For example, a database of intentions can be used to search for intentions that are semantically related to the message intentions. These semantically related intentions can be the related intentions determined in step 205.
[0046] In another example, the related intentions can advantageously be obtained by using the knowledge graph. Consistent and precise determination of related intentions can be provided because the knowledge graph can have been used to determine the message intentions. For example, the related intentions can be intentions from the knowledge graph that lie within a k-hop neighborhood of the message intentions, where k is a value of a configurable parameter.
[0047] In a step 207, a subset of the message intentions may be selected. The subset of message intentions may be selected, for example, based on centrality indices of a knowledge graph, such that the subset of message intentions includes m less important message intentions, where m is a predefined number. In another example, the subset of m message intentions may be randomly selected from the message intentions of the intercepted electronic message. In another example, the subset of m message intentions may be selected based on scores assigned to each of the message intentions. The scores may be determined by the intention classifier. The intention classifier may be configured to receive the received electronic message as input and provide the message intentions along with their scores.The subset of intentions can be obtained by removing the first N ranked message intentions of the message intentions, where N >= 1.
[0048] In a step 209, an electronic message may be generated according to the selected subset of message intentions from step 207. Alternatively, the electronic message may be generated according to the related intentions obtained in step 205.
[0049] The generation of the electronic message can be performed, for example, by using machine learning. For example, the domain represented by the intentions can be used to generate the message from these intentions. The domain can be associated with a graph learning-based model and / or a grammar-based model. The graph learning-based model and / or a grammar-based model can be used to generate the electronic message in step 209. The generated electronic message can have the selected subset of intentions or the related intentions as intentions.
[0050] For example, the electronic message can be generated using a language model. The language model can, for example, be trained for each individual user involved in the data transmission with the electronic data transmission system to simulate a user-specific language.
[0051] The generated electronic message may be provided in step 211. In one example, the generated message may be provided instead of the intercepted electronic message. For example, if the intercepted electronic message is to be displayed on the computer interface, the generated electronic message may be displayed instead. In another example, the generated electronic message may be provided in addition to the intercepted electronic message. For example, if the intercepted electronic message is to be displayed on the computer interface, the generated electronic message may be displayed (in a chat flow) before or after the intercepted electronic message is displayed.
[0052] The generated electronic message can be displayed in conjunction with images of the knowledge graph associated with the intentions from which the electronic message is generated.
[0053] After delivering the generated electronic message, it may be determined whether the user has identified the generated electronic message as a disruption. If the user has not identified it as a disruption, the electronic data transmission controller may stop delivering further disruption content according to a simple mode of operation. In another example, the electronic data transmission controller may briefly pause according to a difficult mode of operation to determine whether the user can still identify a disruption in the conversation.
[0054] Fig. Figure 3A is a flowchart of a method according to an example of the present invention. For illustrative purposes, the Fig. 3A described methods are implemented in the system described in Fig. 1A, but is not limited to this implementation. The method of Fig. 3A can be carried out, for example, by the controller 101 of the electronic data transmission. The method of Fig. 3A can be advantageously used to generate messages with incomplete information compared to corresponding predefined messages.
[0055] An electronic message such as one in Fig. The message 335.1 shown in Figure 3B may be intercepted or received. The received electronic message 335.1 may, for example, be one of the messages received from a conversation log 300 between a user 302 and a chat agent. In another example, the electronic message 335.1 may, for example, be intercepted in real time. The electronic message 335.1 may have been prepared for presentation by the chat agent and may have been intercepted before being displayed in the chat window 330. The electronic message 335.1 may, but need not, be associated with an image that describes the content of the electronic message 335.1. The electronic message 335.1 may be presented in a predefined embedding region in a step 301. This presentation may, for example, be performed using a BERT-based sentence encoder 320.If an image is provided in connection with the electronic message 335.1, a common embedding region may be used to display both the electronic message 335.1 and the associated image, wherein the common embedding region may be defined, for example, with respect to . Fig. 7 is defined.
[0056] In a step 303, the important intentions in the electronic message 335.1 may be identified based on intention information by using an intention predictor or classifier 318. The intention classifier 318 may receive as input the representations of the electronic message 335.1 and may provide intentions of the electronic message, each intention being associated with a score indicating its importance.
[0057] One or more important intentions of the identified important intentions may be removed from the electronic message 335.1 in a step 305. As in Fig. As shown in Figure 3A, the intention to be removed can be determined, for example, by using dependency analysis. Fig. 3C shows an exemplary dependency representation of elements of the intercepted electronic message. This may result in an incomplete text. The generated incomplete text may be verified in a step 307. This verification may be performed by representing the incomplete text, for example, by a point 321 in the embedding area and comparing the representation 321 with the representation 322 of the intercepted electronic message 335.1 in the embedding area.
[0058] The verification in step 307 may indicate whether the message resulting from the removal of the one or more important intentions can be classified as incomplete based on the distance between the two points 321 and 322. If it cannot be classified as incomplete, the intercepted electronic message 335.1 may be reprocessed in a step 305 to remove new, additional one or more important intentions or to remove new, different one or more important intentions. These newly removed intentions may be checked against a conversation history 329 to determine whether they are important in the context of the messaging session. If it is classified as incomplete, the generated electronic message 335.1 may replace the intercepted message. This is described in Fig. 3B, where the generated electronic message 335.1 is displayed in window 330 instead of the intercepted electronic message. If the user is unable to answer the question in the newly generated message 335.1, the removed information can be reinserted into a follow-up message 335.2 of the chat message, as shown in Fig. 3B. In the example from Fig. 3B, three message intentions can be identified: "heats up," "one hour," and "video or audio." The two intentions "one hour" and "video or audio" can be selected as the most important intentions. For example, from the Fig. The dependency analysis shown in Figure 3C shows that only those intentions that do not have dependent intentions are important. The text fragment containing "Laptop...heats up" can be retained. The language model can be used to generate a new text fragment containing the other two intentions.
[0059] Fig. 4A is a flowchart of a method according to an example of the present invention. For illustrative purposes, the Fig. 4A described methods are implemented in the system described in Fig. 1A, but is not limited to this implementation. The method of Fig. 4A can be performed, for example, by the electronic data transmission controller 101.
[0060] An electronic message such as one in Fig. 4B can be intercepted or received. The electronic message 435.1 can be one of the messages of a conversation 300 between the user 302 and the chat agent. The electronic message 435.1 can be prepared and displayed by the chat agent in the chat window 430. The electronic message 435.1 can be displayed in a step 401 in a predefined embedding area, such as that shown in FIG. Fig. 7. This representation can be performed by using the BERT-based sentence encoder 320.
[0061] In a step 403, the important intentions in the electronic message 435.1 can be identified using the intention classifier 318. The important intentions can form a set I. To ensure that even "ambiguous" information is context-related, a set of related intentions I' can be determined in step 403, which belongs to the k-hop neighborhood of the set in the knowledge graph. They are referred to as related because they belong to the same context as the set of intentions I. The set of related intentions I' can be ranked in a step 405 according to a similarity / co-occurrence with respect to the set I of important intentions in the embedding space. In step 405, the intentions of the set of related intentions I' with the lowest similarities (referred to as low-similarity intentions) can be selected.The intentions with the least similarities can be used to identify the intentions expressed in . Fig. 4B to generate chat utterance 435.2.
[0062] In the example from Fig. 4B, the original problem description provided in electronic message 435.1 is, "After installing the latest Windows update, my HP laptop takes 10 to 15 minutes to boot up. After pressing the Start button, the screen remains black for 10 minutes; only then does the desktop appear. What should I do?" The generated electronic message 435.2 can be used to introduce ambiguity into the chat flow, as it inserts information that is not closely related to electronic message 435.1, but nevertheless belongs to the same context, e.g., problems related to a computer.
[0063] Fig. Figure 5A is a flowchart of a method according to an example of the present invention. For illustrative purposes, the Fig. 5A described methods can be implemented in the system described in Fig. 1A, but is not limited to this implementation. The method of Fig. 5A can be performed, for example, by the electronic data transmission controller 101.
[0064] An electronic message such as one in Fig. 5B can be intercepted or received. The electronic message 535.1 can be one of the messages of a conversation 300 between the user 302 and the chat agent. The electronic message 535.1 can be prepared and displayed by the chat agent in the chat window 530. The electronic message 535.1 can be displayed in a step 501 in a predefined embedding area, such as that shown in FIG. Fig. 7. This representation can be performed by using the BERT-based sentence encoder 320.
[0065] In a step 503, the important intentions in the electronic message 535.1 can be identified, for example, by using the intention classifier. Furthermore, the knowledge graph can be used to identify corresponding solutions to the identified important intentions. The important intentions can form a set I, and the solutions can form a set R. In step 403, a set of related intentions I' that co-occur with the sentence in the knowledge graph can be determined. Solutions R' corresponding to the set of related intentions I' can be identified.
[0066] The set of related solutions R' may be ranked in a step 505 according to a similarity with respect to the set R of important solutions in the embedding space. In step 505, the solutions of the related solutions R' with the lowest similarities may be selected. The intentions with the lowest similarities, which are intentions associated with the selected solutions, may be used to determine the Fig. 5B to generate chat utterance 535.2.
[0067] Fig. 6 is a flowchart of a method for generating a knowledge graph and language model according to an example of the present invention. The method of Fig. 6 can be carried out in one training phase.
[0068] In a step 601, transcripts 600 of real customer complaints can be used to identify the important intentions and solutions and to extract images from a customer service ticket. In a step 603, a knowledge graph can be generated. The knowledge graph can be clustered in a step 605 based on criteria 609, as described in Fig. 6. The criteria may, for example, require that the cluster represents frequently occurring intentions, frequently co-occurring intentions, frequently suggested solutions, non-recommended or incorrect solutions, etc.
[0069] In a step 611, a language model may receive the transcripts 600 of real customer complaints as an input so that it may be trained in a step 613 to determine language patterns for different categories of users included in the transcripts 600 of real customer complaints.
[0070] Fig. Figure 7 is a diagram illustrating a method for linking text and image embedding regions according to the present subject matter. A Siamese network can be trained to identify the image and text relationship. The image is analyzed using a CNN-based encoder, while a text description is analyzed using a BERT-based transformer. The joint embedding is learned using a hinge loss to align image and text according to a Siamese neural network architecture. The Siamese network is trained on a set of labeled data. The set of labeled data has entries. Each entry has a triplet consisting of an image (e.g., a screen capture), related problem text / random problem text, and a label.The flag can be set to one if the problem text is not random, otherwise the flag can be zero.
[0071] Fig. Figure 8 illustrates a general computerized system 900 suitable for implementing at least some of the method steps included in the disclosure.
[0072] It should be apparent that the methods described herein are at least partially non-interactive and are automated by computer-based systems such as servers or embedded systems. However, in exemplary embodiments, the methods described herein may be implemented in a (partially) interactive system. These methods may further be implemented in software 912, 922 (e.g., firmware 922), hardware (processor) 905, or a combination thereof. In exemplary embodiments, the methods described herein are implemented as an executable program in software and executed by a special-purpose or general-purpose digital computer, such as a personal computer, a workstation, a minicomputer, or a mainframe computer. The most general system 900 thus includes a general-purpose computer 901.
[0073] In exemplary embodiments, the computer 901 includes, in terms of hardware architecture, as shown in Fig. 8 shows a processor 905, a main memory 910 connected to a memory controller 915, and one or more input and / or output (I / O) devices (or peripheral devices) 10, 945 connected for communication via a local input / output controller 935. The input / output controller 935 may be, but is not limited to, one or more buses or other wired or wireless connections known in the art. The input / output controller 935 may include additional elements omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable data transmission. Furthermore, the local interface may include address, control, and / or data connections to enable appropriate data transmission between the aforementioned components.As described herein, the I / O devices 10, 945 may generally include any general purpose encryption card or smart card known in the art.
[0074] Processor 905 is a hardware unit for executing software, particularly software stored in memory 910. Processor 905 may be a custom-made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with computer 901, a semiconductor-based microprocessor (in the form of a microchip or chipset), or generally any unit for executing software instructions.
[0075] The memory 910 may include any volatile memory element or combinations of volatile memory elements (e.g., a random access memory (RAM) such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., a ROM, an erasable programmable read-only memory (EPROM), an electronically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM). It should be noted that the memory 910 may have a distributed architecture in which various components are spatially located from one another but are accessible by the processor 905.
[0076] The software in memory 910 may include one or more separate programs, each of which includes an ordered list of executable instructions for implementing logical functions, particularly functions included in embodiments of this invention. In the example of Fig. 8, the software contains in the memory 910 the instructions 912, e.g., instructions to manage databases such as a database management system.
[0077] The software in memory 910 typically also includes a suitable operating system (OS) 911. OS 911 may control the execution of other computer programs, such as possibly software 912, to implement methods as described herein.
[0078] The methods described herein may be in the form of a source program 912, an executable program (object code), script, or any other entity that has a set of instructions 912 to be executed. In the case of a source program, the program may then be translated via a compiler, assembler, interpreter, or the like, which may be contained within memory 910, to function properly in conjunction with OS 911. Furthermore, the methods may be written as an object-oriented programming language, having classes of data and methods, or as a procedural programming language, having routines, subroutines, and / or functions.
[0079] In exemplary embodiments, a conventional keyboard 950 and mouse 955 may be connected to the input / output controller 935. Other output devices, such as the I / O devices 945, may include, but are not limited to, input devices such as a printer, a scanner, a microphone, and the like. Finally, the I / O devices 10, 945 may further include devices that transmit both input and output, such as, but are not limited to, a network interface card (NIC) or a modulator / demodulator (for accessing other files, devices, systems, or a network), a radio frequency (RF) or other transceiver, a telephone interface, a bridge, a router, and the like. The I / O devices 10, 945 may be any general purpose encryption card or smart card known in the art.System 900 may further include a display controller 925 that connects to a display 930. In exemplary embodiments, system 900 may further include a network interface for connecting to a network 965. Network 965 may be an IP-based network for transmitting data between computer 901 and any external server, client, and the like over a broadband connection. The network transmits and receives data between computer 901 and external systems 30 that may be included to perform some or all of the steps of the methods set forth herein. In exemplary embodiments, network 965 may be a managed IP network administered by a service provider. Network 965 may be implemented wirelessly, e.g., by using wireless protocols and technologies such as WLAN, WiMax, etc.Network 965 may also be a packet-switched network, e.g., a local area network (LAN), a wide area network (WAN), a high-speed network, the Internet network, or another similar type of network environment. Network 965 may be a fixed wireless network, a wireless local area network (LAN), a wireless wide area network (WWAN), a personal area network (PAN), a virtual private network (VPN), an intranet, or another suitable network system, and includes facilities for receiving and transmitting signals.
[0080] If the computer 901 is a PC, a workstation, an intelligent device, or the like, the software in the memory 910 may further include a Basic Input Output System (BIOS) 922. The BIOS is a set of essential software routines that initializes and tests the hardware during boot-up, starts the operating system 911, and enables the transfer of data between the hardware devices. The BIOS is stored in ROM so that it can be executed when the computer 901 is activated.
[0081] When computer 901 is operating, processor 905 is configured to execute software 912 stored in memory 910 to transfer data to and from memory 910 and generally control operations of computer 901 according to the software. The methods and OS 911 described herein are read, in whole or in part, by processor 905, possibly cached within processor 905, and then executed.
[0082] When the methods described herein are implemented in software 912 as described in Fig. As shown in Figure 8, the methods may be stored in any computer-readable medium, e.g., a memory 920, for use by or in connection with any system or method associated with a computer. The memory 920 may include disk storage, such as a hard disk drive (HDD).
[0083] The present invention may be a system, a method, and / or a computer program product with any possible degree of technical integration. The computer program product may include a computer-readable storage medium (or computer-readable storage media) having computer-readable program instructions stored thereon for causing a processor to perform aspects of the present invention.
[0084] The computer-readable storage medium may be any physical device capable of retaining and storing instructions for use by an instruction execution unit. The computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM).Flash memory), a static random access memory (SRAM), a portable CD-ROM, a DVD (Digital Versatile Disc), a memory stick, a floppy disk, a mechanically encoded device such as punched cards or raised structures in a groove on which instructions are stored, and any suitable combination thereof. A computer-readable storage medium, as used herein, shall not be construed as containing transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., pulses of light traveling through fiber optic cables), or electrical signals transmitted through a wire.
[0085] Computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to respective computing / processing units or to an external computer or external storage unit via a network such as the Internet, a local area network (LAN), a wide area network (WAN), and / or a wireless network. The network may include copper transmission cables, fiber optic transmission lines, wireless transmission, routers, firewalls, switching units, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing unit receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing unit.
[0086] Computer-readable program instructions for performing operations of the present 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 both source code and object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, or the like, as well as conventional procedural programming languages such as the C programming language or similar programming languages.The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer may be connected to the user's computer through any type of network, for example, a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, over the Internet using an Internet service provider).In some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute the computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuits to perform aspects of the present invention.
[0087] Aspects of the present invention are described herein 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, as well as combinations of blocks in the flowchart illustrations and / or block diagrams, may be implemented by computer-readable program instructions.
[0088] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that instructions executing via the processor of the computer or other programmable data processing apparatus produce a means for implementing the functions / steps specified in the flowchart and / or block diagram block or blocks. These computer-readable program instructions may also be stored on a computer-readable storage medium capable of directing a computer, programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable storage medium on which instructions are stored comprises an article of manufacture, including instructions implementing aspects of the function or steps specified in the flowchart and / or block diagram block or blocks.implement the function / step specified in the blocks of the flow charts and / or block diagrams.
[0089] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of process steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / steps specified in the block(s) of flowcharts and / or block diagrams.
[0090] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this context, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions comprising one or more executable instructions for implementing the particular logical function(s). In some alternative implementations, the functions specified in the block may occur in a different order than shown in the figures.For example, two blocks shown in sequence may actually occur as a single step, execute substantially simultaneously, partially or completely overlap in time, or the blocks may sometimes be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart illustrations, as well as combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by special-purpose hardware-based systems that perform the specified functions or steps, or by special-purpose hardware and computer instructions.
Claims
[1] Computer-implemented method for electronic message transmission, comprising: Receiving an electronic message from an electronic data transmission system; Configuring a value of a parameter k according to a desired noise level of a noise content; Determining message intentions of the received electronic message and one or more related intentions by using a knowledge database; Determining a context of a messaging session by using the electronic message, wherein the context of the messaging session is defined by at least one subgraph of a knowledge graph contained in the knowledge database, the knowledge graph representing a domain of computer-related troubleshooting, and using the subgraph to determine the related intentions, such that a generated electronic message has the interference content that differs from a content of the received electronic message and that belongs to the determined context; generating the generated electronic message according to a selected subset of the message intentions or according to the one or more related intentions; Selecting the subset of message intentions based on centrality indices of the knowledge graph contained in the knowledge database or on scores of the message intentions obtained from an intention classifier, wherein the selection is performed such that the subset of message intentions has K less important message intentions, where K is a predefined number; and Controlling the electronic data transmission system to provide the generated electronic message instead of the received electronic message or to provide the generated electronic message in addition to the received electronic message. [2] The method of claim 1, wherein the electronic message is intercepted from a chat application of the electronic data transmission system, the chat application being configured to simulate a conversation with a user during the messaging session, wherein receiving comprises: intercepting the electronic message of the chat application at predefined times of the messaging session. [3] The method of claim 1, wherein the electronic data transmission system is a chat server configured to distribute messages between chat clients. [4] The method of claim 3, wherein the electronic message is received from a first chat client in a second chat client, the method further comprising detecting sensitive information in the received electronic message, wherein the selected subset of message intentions does not include sensitive information, wherein the generated electronic message is provided in place of the received electronic message. [5] The method of claim 1, wherein the related intentions are intentions of the knowledge graph contained in the knowledge database that are within a k-hop neighborhood of the message intentions, where k is a value of a configurable parameter. [6] The method of claim 1, wherein generating the electronic message according to the related intentions comprises: applying a language model to the related intentions to generate the electronic message. [7] The method of claim 6, further comprising training the language model per person of a user involved in the data transmission with the electronic data transmission system to simulate a user-specific language. [8] The method of claim 1, wherein generating the electronic message according to the selected subset of intentions comprises removing fragments of the received electronic message representative of the subset of intentions, thereby generating the electronic message. [9] The method of claim 1, further comprising representing the received electronic message in a predefined vector space, wherein the subset of intentions is selected and the related intentions are determined such that the generated electronic message lies in the vector space within a minimum distance from the received electronic message. [10] The method of claim 1, wherein the knowledge database comprises the knowledge graph, the method further comprising: Creating the knowledge graph by using data transfer transcripts and / or logs of previous data transfers; Clustering intentions of the knowledge graph according to one or more graph properties of the knowledge graph, wherein the graph property comprises any one of: a centrality index of each node of the graph and a distance of each node from other nodes of the graph. [11] A computer program product comprising one or more computer-readable storage media containing computer-readable program instructions for execution by one or more processors of one or more computers, by which a method according to any one of claims 1 to 10 is carried out when run on a computer. [12] The computer program product of claim 11, wherein the electronic message is intercepted from a chat application of the electronic data transmission system, the chat application being configured to simulate a conversation with a user during the messaging session, wherein receiving comprises: intercepting the electronic message of the chat application at predefined times of the messaging session. [13] A computer system comprising one or more processors and one or more physical storage media storing programming instructions for execution by the one or more processors, by which a method according to any one of claims 1 to 10 is carried out when run on a computer. [14] The computer system of claim 13, wherein the electronic message is intercepted from a chat application of an electronic data transmission system, the chat application being configured to simulate a user's conversation during the messaging session, wherein receiving comprises: intercepting the electronic message of the chat application at predefined times of the messaging session.
Citation Information
Patent Citations
Method and System for Achieving Communications in a Manner Accounting for One or More User Preferences or Contexts
US20150172242A1
Customer care training using chatbots
US20190109802A1
Automated masking of confidential information in unstructured computer text using artificial intelligence
US20200226288A1
Intentional transmission of incorrect data
WO2017214219A1