Computer implementation method, computer program, and computer system (intelligent orchestration system for emotion contagion in multi-human to multi-agent interactions)
The intelligent orchestration system addresses the lack of emotional depth in human-agent interactions by detecting and adapting to mood patterns, enhancing emotional contagion and user satisfaction in human-agent interactions.
Patent Information
- Application Number
- JP2024160660
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-19
- Filing Date
- 2024-09-18
- Publication Date
- 2025-04-01
AI Technical Summary
Current techniques for software agents interacting with humans lack emotional depth and nuance, leading to negative consequences such as reduced satisfaction, irritation, and anger, and fail to promote positive emotional contagion in human-agent interactions.
An intelligent orchestration system that detects interactions between software agents and humans, calculates mood patterns, and adjusts responses to influence general mood patterns, using components like mood pattern observation, grouping, and agent interaction orchestration, along with text generation models.
The system effectively enhances emotional depth and nuance in human-agent interactions, promoting positive emotional contagion and improving user satisfaction by adapting responses based on calculated mood patterns.
Smart Images

Figure 2025044163000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates generally to artificial intelligence, and more particularly to a method, system, and computer program for intelligent orchestration of emotional contagion in interactions between multiple humans and multiple agents. [Background technology]
[0002] Artificial intelligence (AI) technology has advanced significantly over the past few years. Modern AI systems achieve human-level performance in cognitive tasks such as converting speech to text, recognizing objects and images, or translating between different languages. This advancement holds promise for new and improved applications in many industries.
[0003] In the current digital era, interactions between multiple humans and multiple software agents are becoming increasingly common. From virtual assistants to customer service chatbots, humans are interacting with agents more frequently than ever before. However, these interactions often lack the emotional depth and nuance of human-to-human interactions, resulting in a wide range of negative outcomes, such as decreased satisfaction, increased frustration, and even anger. Moreover, these interactions also have a significant impact on human mood and emotions, which can result in a negative cycle of emotional contagion. Summary of the Invention [Problem to be solved by the invention]
[0004] Current techniques for software agent-human interaction focus on responding accurately and correctly to human queries, but not on improving the emotional depth and nuance of the interaction. Thus, these techniques do not address promoting positive emotional contagion in interactions between multiple humans and multiple software agents. [Means for solving the problem]
[0005] An exemplary embodiment provides a system for intelligent orchestration of emotional contagion in interactions between a plurality of humans and a plurality of agents. The embodiment includes detecting interactions between a software agent and the plurality of humans, and in response to the detected interactions, calculating a mood pattern in a mood pattern observation component based on the detected interactions. The embodiment also includes calculating a general mood pattern in a mood pattern grouping component based on the mood pattern. The embodiment also includes determining, by the agent interaction orchestration component, based on the general mood pattern, for at least one of the plurality of humans, adapting a response of the software agent to affect the general mood pattern, the determining further including training a text generation component to generate a text sequence based on the response, where the software agent issues the text sequence, and the detected interactions between the software agent and the plurality of humans are updated with the text sequence. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the embodiments.
[0006] Embodiments include a computer usable program product. The computer usable program product includes a computer readable storage medium and program instructions stored on the storage medium.
[0007] An embodiment includes a computer system including a processor, a computer-readable memory, and a computer-readable storage medium, including program instructions stored on the storage medium that are executed by the processor via the memory. [Brief description of the drawings]
[0008] The novel features believed characteristic of this invention are set forth in the appended claims, however the invention itself, together with its preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of illustrative embodiments when read in connection with the accompanying drawings.
[0009] [Figure 1] 1 illustrates a block diagram of a computing environment in accordance with an illustrative embodiment.
[0010] [Diagram 2] 1 is a diagram in accordance with an exemplary embodiment;
[0011] [Diagram 3] FIG. 1 illustrates a component diagram in accordance with an illustrative embodiment;
[0012] [Figure 4] FIG. 1 illustrates a component diagram in accordance with an illustrative embodiment;
[0013] [Diagram 5] FIG. 1 illustrates a component diagram in accordance with an illustrative embodiment;
[0014] [Figure 6] FIG. 1 illustrates a component diagram in accordance with an illustrative embodiment;
[0015] [Figure 7] FIG. 1 illustrates a component diagram in accordance with an illustrative embodiment;
[0016] [Figure 8] 1 illustrates a system diagram in accordance with an exemplary embodiment.
[0017] [Figure 9] FIG. 1 illustrates a flowchart diagram of an exemplary on-demand process in accordance with an exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] In the current digital era, interactions between multiple humans and multiple software agents are becoming increasingly common, including multi-user environments that encompass two or more human users of technology. From virtual assistants to customer service chatbots, humans are interacting with software agents more frequently than ever before. However, these interactions often lack the emotional depth and nuance of human-to-human interactions, resulting in a wide range of negative outcomes, such as decreased satisfaction, increased frustration, and even anger. Moreover, these interactions also have a significant impact on human mood and emotions, which can result in a negative cycle of emotional contagion.
[0019] Current techniques for software agent-human interaction focus on responding accurately and correctly to human queries, but not on improving the emotional depth and nuance of the interaction. Thus, these techniques do not address promoting positive emotional contagion in interactions between multiple humans and multiple software agents.
[0020] The present disclosure addresses the above-described deficiencies by providing a method, machine-readable medium, and system for an intelligent orchestration system of emotional contagion in interactions between multiple humans and multiple agents. The embodiments described herein describe detecting interactions between a software agent and multiple humans, and in response to the detected interactions, calculating a mood pattern in a mood pattern observation component based on the detected interactions. The embodiments also include calculating a general mood pattern in a mood pattern grouping component based on the mood pattern. The embodiments also include determining, by the agent interaction orchestration component, based on the general mood pattern, to adapt a response of the software agent to affect the general mood pattern for at least one of the multiple humans, the determining further including training a text generation component to generate a text sequence based on the response, where the software agent issues the text sequence, and the detected interactions between the software agent and the multiple humans are updated with the text sequence.
[0021] In an example embodiment, the decision by the agent interaction orchestration component further includes inputting the prompt into a machine learning model, the prompt being based in part on general mood patterns.
[0022] An example embodiment includes where computing the general mood pattern in the mood pattern grouping component further includes detecting an intensity and duration of the mood pattern.
[0023] An example embodiment includes where computing the mood pattern in the mood pattern observing component includes detecting emotions and feelings from the detected interactions.
[0024] An example embodiment includes where computing common mood patterns in the mood pattern grouping component includes running a clustering algorithm.
[0025] The exemplary embodiment includes that the text generation component includes a sequence-to-sequence model.
[0026] The example embodiment also includes that the agent interaction orchestration component includes a feedback loop based in part on the mood patterns and the sensed interactions.
[0027] For clarity of explanation, and without implying any limitations, the exemplary embodiments are described using some exemplary configurations. From this disclosure, one skilled in the art can recognize many changes, adaptations, and modifications of the described configurations to achieve the described objectives, which are considered within the scope of the exemplary embodiments.
[0028] Furthermore, simplified diagrams of data processing environments are used in the figures and exemplary embodiments: in an actual computing environment, there may be additional structures or components not shown or described herein, or structures or components different from those shown, other than those with similar functionality as those described herein, without departing from the scope of the exemplary embodiments.
[0029] Moreover, the exemplary embodiments are described with reference to specific actual or virtual components, merely as examples. Any particular manifestation of these and other similar artifacts is not intended to limit the invention. Any suitable manifestation of these and other similar artifacts may be selected within the scope of the exemplary embodiments.
[0030] The examples in this disclosure are used only for clarity of explanation and are not limited to the exemplary embodiments. Any advantages listed herein are examples only and are not intended to limit the exemplary embodiments. Additional or different advantages may be realized by certain exemplary embodiments. Furthermore, certain exemplary embodiments may include some, all, or none of the advantages listed above.
[0031] Additionally, the exemplary embodiments may be implemented with respect to any type of data, data source, or access to a data source via a data network. Any type of data storage device may provide data to an embodiment of the invention locally at a data processing system or through a data network within the scope of the invention. When an embodiment is described using a mobile device, any type of data storage device suitable for use with a mobile device may provide data to such an embodiment locally at the mobile device or through a data network within the scope of the exemplary embodiments.
[0032] Exemplary embodiments are described using specific code, computer-readable storage media, high-level features, designs, architectures, protocols, layouts, diagrams, and tools as examples only, and are not limited to exemplary embodiments. Furthermore, for clarity of explanation, exemplary embodiments are described in some cases using specific software, tools, and data processing environments as examples only. Exemplary embodiments may be used in conjunction with other equivalent or similar purpose structures, systems, applications, or architectures. For example, other equivalent mobile devices, structures, systems, applications, or architectures thereof may be used in conjunction with such embodiments of the invention within the scope of the invention. Exemplary embodiments may be implemented in hardware, software, or a combination thereof.
[0033] The examples in this disclosure are used for clarity of explanation only and are not limited to the exemplary embodiments. Additional data, operations, actions, tasks, activities, and operations are recognized from this disclosure and are contemplated within the scope of the exemplary embodiments.
[0034] Various aspects of the disclosure are described by narrative text, flow charts, block diagrams of computer systems, and / or block diagrams of machine logic included in embodiments of a computer program product (CPP). With respect to any flow chart, depending on the relevant technology, operations may be performed in a different order than that shown in a given flow chart. For example, two operations shown in successive flow chart blocks may be performed in reverse order, as a single integrated step, simultaneously, or in a manner that at least partially overlaps in time, depending also on the relevant technology.
[0035] A computer program product embodiment ("CPP embodiment" or "CPP") is a term used in this disclosure to describe any set of one or more storage media (also referred to as "media"), collectively contained in one or more storage devices, which collectively contain machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A "storage device" is any tangible device that can hold and store instructions for use by a computer processor. The computer-readable storage medium may be, but is not limited to, an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices including these media include: diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices (such as punch cards or pits / lands formed on the major surface of a disk), or any suitable combination of the above. The term computer readable storage medium as used in this disclosure should not be construed as storage in the form of a transitory signal per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide, light pulses passing through fiber optic cables, electrical signals communicated by wires, and / or other transmission media. As one skilled in the art will appreciate, data typically moves from time to time during normal operation of the storage device, such as during access, defragmentation, or garbage collection, but the data is not transitory while it is stored, and thus the storage device is not transitory.
[0036] Referring to FIG. 1, this figure shows a block diagram of a computing environment 100. The data center environment 100 includes an example of an environment for the execution of at least a portion of computer code associated with the execution of the inventive method, such as an application module 200 for providing an intelligent orchestration system of emotional contagion in interactions between multiple humans and multiple agents. In addition to block 200, the computing environment 100 includes, for example, a computer 101, a wide area network (WAN) 102, an end user device (EUD) 103, a remote server 104, a public cloud 105, and a private cloud 106. In this embodiment, the computer 101 includes a set of processors 110 (including processing circuitry 120 and cache 121), a communication fabric 111, a volatile memory 112, a persistent storage 113 (including the operating system 122 and block 200 identified above), a set of peripheral devices 114 (including a set of user interface (UI) devices 123, storage 124, and a set of Internet of Things (IoT) sensors 125), and a network module 115. The remote server 104 includes a remote database 130. The public cloud 105 includes a gateway 140, a cloud orchestration module 141, a set of host physical machines 142, a set of virtual machines 143, and a set of containers 144.
[0037] Computer 101 may take the form of a desktop computer, a laptop computer, a tablet computer, a smartphone, a smartwatch or other wearable computer, a mainframe computer, a quantum computer, or any other form of computer or mobile device now known or later developed that is capable of executing a program, accessing a network, or querying a database, such as remote database 130. As is well understood and in accordance with the art of computer technology, execution of a computer-implemented method may be distributed among multiple computers and / or among multiple locations. However, in this presentation of computing environment 100, the detailed description focuses on a single computer, specifically computer 101, to keep the presentation as simple as possible. Computer 101 may be located within a cloud, even if not illustrated in the cloud of FIG. 1. However, computer 101 is not required for a cloud, except to any extent that may be indicated in the affirmative.
[0038] Processor set 110 includes one or more computer processors of any type now known or developed in the future. Processing circuitry 120 may be distributed across multiple packages, e.g., multiple coordinated integrated circuit chips. Processing circuitry 120 may implement multiple processor threads and / or multiple processor cores. Cache 121 is memory located within the processor chip package and is typically used for data or code that should be available for quick access by threads or cores executing on processor set 110. Cache memory is typically organized into multiple levels depending on relative proximity to the processing circuitry. Alternatively, some or all of the cache for a processor set may be located "off-chip." In some computing environments, processor set 110 may be designed to operate with qubits to perform quantum computing.
[0039] Computer readable program instructions are typically loaded onto the computer 101 and cause the processor set 110 of the computer 101 to execute a series of operational steps, thereby realizing a computer-implemented method, such that the instructions so executed instantiate the methods specified in the computer-implemented method flowcharts and / or narrative descriptions contained herein (collectively referred to as the "inventive methods"). These computer readable program instructions are stored in various types of computer readable storage media, such as cache 121 and other storage media described below. The program instructions and associated data are accessed by the processor set 110 to control and direct the execution of the inventive methods. In the computing environment 100, at least a portion of the instructions for executing the inventive methods may be stored in block 200 in persistent storage 113.
[0040] Communications fabric 111 is the signal transmission paths that allow various components of computer 101 to communicate with one another. Typically, this fabric is made up of switches and conductive paths, such as those that make up buses, bridges, physical input / output ports, and the like. Other types of signal communication paths, such as fiber optic and / or wireless communication paths, may be used.
[0041] Volatile memory 112 may be any type of volatile memory now known or later developed. Examples include dynamic random access memory (RAM) or static RAM. Typically, volatile memory 112 is characterized by random access, although this is not required unless affirmatively indicated. In computer 101, volatile memory 112 is located in a single package and is internal to computer 101, although alternatively or additionally, volatile memory may be distributed across multiple packages and / or located external to computer 101.
[0042] Persistent storage 113 is any form of non-volatile storage for a computer, now known or later developed. The non-volatility of this storage means that the stored data is maintained regardless of whether power is provided to computer 101 and / or directly to persistent storage 113. Persistent storage 113 may be read-only memory (ROM), but typically is at least a portion of persistent storage that allows data to be written, data to be deleted, and data to be re-written. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. Operating system 122 may take several forms, such as various known proprietary operating systems employing a kernel or an open source portable operating system interface type operating system. The code contained in block 200 typically includes at least a portion of computer code associated with performing the method of the invention.
[0043] The peripheral device set 114 includes a set of peripheral devices of the computer 101. Data communication connections between the peripheral devices and other components of the computer 101 may be implemented in various ways, such as Bluetooth connections, Near Field Communication (NFC) connections, connections made by cables (such as Universal Serial Bus (USB) type cables), pluggable connections (e.g., Secure Digital (SD) cards), connections made by local area communication networks, and even connections made by wide area networks such as the Internet. In various embodiments, the UI device set 123 may include components such as display screens, speakers, microphones, wearable devices (such as goggles and smart watches), keyboards, mice, printers, touch pads, game controllers, and haptic devices. The storage 124 may be external storage, such as an external hard drive, or insertable storage, such as an SD card. The storage 124 may be persistent and / or volatile. In some embodiments, the storage 124 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments requiring computer 101 to have a large amount of storage (e.g., computer 101 stores and manages a large database locally), this storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. IoT sensor set 125 consists of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.
[0044] The network module 115 is a collection of computer software, hardware, and firmware that enables the computer 101 to communicate with other computers over the WAN 102. The network module 115 may include hardware such as a modem or Wi-Fi® signal transceiver, software for packetizing and / or depacketizing data for communication network transmission, and / or web browser software for communicating data over the Internet. In some embodiments, the network control functions and network forwarding functions of the network module 115 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing software-defined networking (SDN)), the control functions and forwarding functions of the network module 115 are performed on physically separate devices, such that the control functions manage several different network hardware devices. Computer-readable program instructions for carrying out the methods of the invention may typically be downloaded to the computer 101 from an external computer or external storage device through a network adapter card or network interface included in the network module 115.
[0045] The WAN 102 is any wide area network (e.g., the Internet) capable of communicating computer data over non-local distances by any technology now known or later developed for communicating computer data. In some embodiments, the WAN 012 may be replaced and / or supplemented by a local area network (LAN) designed to communicate data between devices located in a local area, such as a Wi-Fi® network. WANs and / or LANs typically include computer hardware such as copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers.
[0046] End-user device (EUD) 103 is any computer system used and controlled by an end user (e.g., a customer of the enterprise that operates computer 101) and may take any of the forms described above in connection with computer 101. EUD 103 typically receives useful and useful data from the operation of computer 101. For example, in the hypothetical case where computer 101 is designed to provide recommendations to the end user, the recommendations are typically communicated from network module 115 of computer 101 over WAN 102 to EUD 103. In this manner, EUD 103 can display or otherwise present the recommendations to the end user. In some embodiments, EUD 103 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, or the like.
[0047] Remote server 104 is any computer system that provides at least some data and / or functionality to computer 101. Remote server 104 may be controlled and used by the same entity that operates computer 101. Remote server 104 represents a machine that collects and stores useful data that is useful for use by other computers, such as computer 101. For example, in the hypothetical case where computer 101 is designed and programmed to provide recommendations based on historical data, this historical data may be provided to computer 101 from a remote database 130 of remote server 104.
[0048] Public cloud 105 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and / or other computer functions, particularly data storage (cloud storage) and computing power, without direct active management by users. Cloud computing typically leverages the sharing of resources to achieve consistency and economies of scale. The direct and active management of computing resources of public cloud 105 is performed by computer hardware and / or software of cloud orchestration module 141. The computing resources provided by public cloud 105 are typically implemented by virtual computing environments running on various computers that make up host physical machine set 142 computers, which is a population of physical computers within and / or available to public cloud 105. Virtual computing environments (VCEs) typically take the form of virtual machines from virtual machine set 143 and / or containers from container set 144. It is understood that these VCEs can be stored as images and can be transferred among and between various physical machine hosts, either as images or after instantiation of the VCEs. The cloud orchestration module 141 manages the transfer and storage of images, deploys new instantiations of the VCE, and manages the active instantiation of the VCE deployment. The gateway 140 is a collection of computer software, hardware, and firmware that enables communication over the WAN 102 to the public cloud 105.
[0049] Some further description of Virtualized Computing Environments (VCEs) is now provided. A VCE can be stored as an "image." A new active instance of a VCE can be instantiated from the image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system level virtualization. This refers to a feature of an operating system where the kernel allows the existence of multiple isolated user space instances called containers. These isolated user space instances typically behave as real computers from the perspective of the programs running within them. A computer program running on a normal operating system may utilize all of the resources of that computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, a program running within a container may only use the contents of the container and the devices assigned to the container. This is a feature known as containerization.
[0050] A private cloud 106 is similar to a public cloud 105, except that the computing resources are only available for use by a single enterprise. While the private cloud 106 is shown as communicating with the WAN 102, in other embodiments, the private cloud may be entirely disconnected from the Internet and only accessible via a local / private network. A hybrid cloud is a composite of multiple clouds of different types (e.g., private, community, or public cloud types), often each implemented by a different vendor. While each of the multiple clouds remains a separate and discrete entity, the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the multiple constituent clouds. In this embodiment, both the public cloud 105 and the private cloud 106 are part of a larger hybrid cloud.
[0051] Measured Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, reported, and billed, providing transparency to both providers and consumers of the services utilized.
[0052] The intelligent orchestration system of emotional contagion in multi-human and multi-agent interactions provides shared process software to serve multiple customers simultaneously in a flexible and automated manner that is standardized, requires little customization, is scalable, and provides capacity on demand in a pay-as-you-go model.
[0053] The process software may be stored on a shared file system that is accessible from one or more servers. The process software is executed through transactions involving data and server processing requests that use CPU units on the accessed server. A CPU unit is a unit of time, such as minutes, seconds, and hours, on a server's central processor. Additionally, the accessed server may request CPU units from other servers that require them. CPU units are merely an example representing one usage metric. Other usage metrics include, but are not limited to, network bandwidth, memory usage, storage usage, packet transfers, completed transactions, and the like.
[0054] When multiple customers use the same process software application, their transactions are differentiated by parameters included in the transaction that identify a unique customer and the type of service for that customer. All of the CPU units and other usage metrics used for service to each customer are recorded. When the number of transactions to any one server reaches a number that begins to impact the performance of that server, other servers are accessed to increase capacity and share the workload. Similarly, when other usage metrics such as network bandwidth, memory usage, storage usage, etc. reach capacity and impact performance, additional network bandwidth, memory usage, storage, etc. are added to share the workload.
[0055] The metrics of usage employed for each service and customer are transmitted to a collection server which aggregates the metrics of usage for each customer for each service processed anywhere in the network of servers providing the shared execution of the process software. The aggregated metrics of usage units are periodically multiplied by a unit cost and the resulting total process software application service cost is alternatively transmitted to the customer and / or displayed on a website accessed by the customer, who may then transmit payment to the service provider.
[0056] In another embodiment, the service provider requests payment directly from a customer account at a bank or financial institution.
[0057] In another embodiment, if the service provider is also a customer of a customer that uses the process software application, payments owed to the service provider are reconciled with payments owed by the service provider to minimize payment transfers.
[0058] 2 illustrates a diagram 200 according to an example embodiment. In a particular embodiment, the diagram 200 represents aspects of the application 200 of FIG.
[0059] In the illustrated embodiment, a software agent 206 interacts 204 with multiple human users 202. In one embodiment, the interaction can be between multiple software agents and multiple humans, including software agent-to-agent or human-to-human interaction. Some embodiments are described in the following use cases. [Table 1]
[0060] 3 illustrates a component diagram 300 according to an example embodiment. In a particular embodiment, the component 300 represents aspects of the application 200 of FIG.
[0061] In the illustrated embodiment, the mood pattern observation component 302 observes and classifies mood patterns using natural language techniques and algorithms such as SVM. The mood pattern observation component 302 inputs the mood patterns to a mood pattern grouping component 304 that groups the mood patterns by running clustering algorithms and decision trees. The mood pattern grouping component 304 groups common mood patterns and inputs them to an agent interaction orchestration component 306 that orchestrates interactions between software agents and users, training and running decision trees, artificial neural networks (ANNs) and reinforcement learning. The agent interaction orchestration component 306 orchestrates and inputs them to a text generation component 308 that generates text about emotional contagion, including training recurrent neural networks and sequence-to-sequence models, and running an encoder-decoder algorithm.
[0062] 4 illustrates a component diagram 400 according to an example embodiment. In a particular embodiment, the component 400 represents aspects of the application 200 of FIG.
[0063] In the illustrated embodiment, the mood pattern observation component 302 collects (402) text data from human-agent interactions using an application programming interface (API) or web hooks. The component may use an API to collect text data from social media platforms. Alternatively, the component may use web hooks to collect text data from software agents or virtual assistants. The component preprocesses (404) the collected text data using natural language processing (NLP) techniques such as tokenization, stemming, and lemmatization. Tokenization involves breaking down text into individual words or phrases, while stemming and lemmatization involve reducing words to their basic forms.
[0064] In some embodiments, mood patterns may be observed from emotions and feelings in the sensed text data captured from the interactions. The component analyzes 406 the emotions of the pre-processed text data using machine learning algorithms such as support vector machines (SVM). Sentiment analysis involves identifying the emotional tone of the text, whether positive, negative, or neutral. The component detects 408 emotions expressed in the text data interactions using NLP techniques such as emotion intensity detection. Emotion intensity detection involves identifying the intensity of emotions expressed in the text, such as happiness, sadness, anger, or fear. The component classifies the observed mood patterns 410 into predefined categories based on their intensity and duration. For example, the system may classify mood patterns as positive, negative, or neutral based on the emotions expressed in the text data. The component refines the classification of mood patterns 412 using machine learning algorithms such as decision trees or ANNs. Decision trees involve creating a hierarchy of decisions based on features of the text data, while ANNs involve creating a network of interconnected nodes to analyze the text data.
[0065] 5 illustrates a component diagram 500 according to an example embodiment. In a particular embodiment, the component 500 represents aspects of the application 200 of FIG.
[0066] In the illustrated embodiment, the mood pattern grouping component 304 clusters (502) the observed mood patterns based on their similarity using a clustering algorithm such as k-means or hierarchical clustering. This step helps to identify common mood patterns between humans and agents. The component identifies (504) common mood patterns between humans and agents based on the clustered mood patterns. This step helps to determine common mood patterns in conversations. The component detects common mood patterns 506 in conversations based on the intensity and duration of the mood patterns. This step helps to identify the main emotions expressed in the conversations. The component groups (508) the conversations based on their common mood patterns. This step helps to organize the conversations into categories based on their emotional tone. The component also refines (510) the grouping of the conversations based on their similarity using a machine learning algorithm such as a decision tree or ANN. This step helps to improve the accuracy of the grouping and ensure that similar conversations are grouped together. The component further classifies the grouped conversations into predefined categories based on their intensity and duration (512). This step helps categorize the conversations into specific emotional states, such as positive, negative, or neutral.
[0067] 6 illustrates a component diagram 600 according to an example embodiment. In a particular embodiment, the component 600 represents aspects of the application 200 of FIG.
[0068] In the illustrated embodiment, the agent interaction orchestration component 306 defines predefined mood patterns 602 based on observed mood patterns in a conversation between a human and an agent. These mood patterns may include emotions such as happiness, sadness, anger, and fear. The component orchestrates an interaction between a software agent and a user 604 based on the defined general mood patterns using a decision-making algorithm such as a decision tree or an ANN. The orchestration is performed in real time based on the observed mood patterns and the desired outcome of the conversation. The component enables emotional contagion between the human and the agent to influence the human's mood to the defined general mood patterns by adapting the agent's conversation style (606). This may include generating an appropriate response from the agent using a machine learning model such as a language model or a sequence-to-sequence model. The component facilitates real-time interaction between the human and the agent based on the orchestrated interaction (608). This may include using web sockets for real-time communication between the human and the agent. The component also creates a feedback loop 610 in which observed mood patterns and sensed interactions can be used to improve the orchestration of agent interactions. This may include using reinforcement learning algorithms to optimize the performance of the orchestration based on real-time feedback. The component further optimizes the performance of the orchestration 612 using machine learning algorithms such as reinforcement learning. This may include using A / B or multivariate testing to optimize the conversation flow to improve the overall experience for the user.
[0069] 7 illustrates a component diagram 700 according to an example embodiment. In a particular embodiment, the component 700 represents aspects of the application 200 of FIG.
[0070] In the illustrated embodiment, the text generation component 308 selects (702) a language model, such as a sequence-to-sequence model or a recurrent neural network (RNN), to generate appropriate text contacts. Sequence-to-sequence models are preferred due to their ability to generate consistent and contextually relevant text responses. The component trains and fine-tunes (704) the selected language model using a dataset of human-agent conversations and their corresponding mood patterns. The training process involves optimizing the parameters of the model to maximize the likelihood of generating appropriate text contacts that take into account the observed mood patterns and context. The component uses the trained and fine-tuned language model to generate appropriate text contacts for emotional contagion based on the observed mood patterns (706). The generated text responses are filtered based on their appropriateness, consistency, and appropriateness to the context of the conversation. The component also filters (708) the generated text responses based on their appropriateness, consistency, and appropriateness to the context of the conversation. This involves using NLP techniques such as sentiment analysis and emotion intensity detection to evaluate the effectiveness of the generated text contacts in inducing desired mood patterns in humans. In one embodiment, the generated text is issued by a software agent and the detected interactions are updated with the generated text. The component further continuously improves the language model and text generation capabilities based on user feedback and conversation data (710). This involves updating the training dataset with new speech and mood patterns and fine-tuning the language model to better capture the nuances of human communication.
[0071] In another embodiment, consider three humans talking to one digital assistant with the following profile distributions from the method mood pattern grouping component: Person 1: Talkative, fun, currently in a good mood, very interested in current topic X, seems knowledgeable about X, Y, and Z. Person 2: Shy, happy, neutral or undefined mood, interested in topic X, knowledgeable about Y, Z. Person 3: Neutral, neutral, not currently participating, not interested in topic X, knowledgeable about Z. Human 1 is joking, trying to re-engage Human 3. How can digital agents help with emotional contagion from Human 1 to Human 3? Phase 1: Identifying intent for human-to-human emotional contagion Assume the model is already classified (from the previous method) Classify the interaction from Human 1 (telling a joke) as a possible attempt to engage and entertain Human 3. Stage 2: Once identified, categorize the processes intended by human-human interactions · The interaction is a joke or humorous message. · The intention must be to encourage neutral / non-participating Human 3. Identify the shortcomings of Person 3 in this context → lack of interest, neutral mood, etc. For example, this could be implemented based on a combination between rule-based and large-scale AI models through a process of prompt engineering. Meta-prompt: Consider an interaction between two people through this channel. Person 1 is {defined profile}. Person 3 is {defined profile}. Person 1 makes a joke about X with the intention of motivating Person 3 to join in. ○ Prompt: What is a possible shortcoming of Person 3 that Person 1 is trying to address? Answer: {Speculated flaws} Phase 3: Identify potential interactions that the digital assistant can insert into the conversation to support contagion between Human 1 and Human 3. This can be implemented based on a combination of rule-based and large-scale AI models through a process of prompt engineering: Meta-prompt: Consider an interaction between two people through this channel. Person 1 is {defined profile}. Person 3 is {defined profile}. Person 1 makes a joke about X with the intention of motivating Person 3 to join in. ○ Person 1 considers himself tired of dealing with Person 3's {assumed shortcomings}. ○ Prompt: What possible interactions could a digital assistant insert into the conversation to support contagion between Human 1 and Human 3? Answer: {Inferred interaction} Stage 4: Transform the proposed interactions into interaction action plans P1, P2, P3 This can be achieved by a rule-based system to convert the proposed actions into a sequence of ruled actions. Step 5: Identify P1, P2, and P3 as interactions with Person X This can be achieved by a rule-based system to identify interaction P* for person X, taking into account their profile, context, etc. Step 6: Convert P* into a conversational interaction that is issued by the digital assistant and presented to human X. This can be achieved through a large-scale language model (LLM) using the meta-prompt above and the prompt "Transform P1 into a conversational utterance for Human 3 in the current context". Phase 7: Feedback Loop: Fluctuations in mood patterns after interactions are observed to refine the orchestration rules applied in the previous phase. This may include using reinforcement learning algorithms to optimize orchestration performance based on real-time feedback.
[0072] 8 illustrates a system diagram 800 according to an example embodiment. In a particular embodiment, the component 800 represents aspects of the application 200 of FIG.
[0073] In the illustrated embodiment, a computer system 802 including a processor 812 executes a mood pattern observation component 804 , a mood pattern grouping component 806 , an agent interaction orchestration component 808 , and a text generation component 810 .
[0074] FIG. 9 illustrates a flow chart diagram of an exemplary on-demand process in accordance with an exemplary embodiment.
[0075] Step 940 begins with the on-demand process. A transaction is created (941) that includes a unique customer identifier, the requested service type, and any service parameters that further specify the type of service. The transaction is then sent (942) to the main server. In an on-demand environment, the main server may initially be the only server, and then other servers are added to the on-demand environment as capacity is consumed.
[0076] Server central processing unit (CPU) capacity in the on-demand environment is queried (943). The CPU requirements of the transaction are estimated, then the available CPU capacity of the servers in the on-demand environment is compared to the transaction CPU requirements to see if there is sufficient CPU available capacity in any server to process the transaction (944). If there is not enough server CPU available capacity, additional server CPU capacity is allocated (948) to process the transaction. If there is already enough available CPU capacity, the transaction is sent to the selected server (945).
[0077] Prior to executing the transaction, the remaining on-demand environment is checked to determine if the environment has sufficient available capacity to process the transaction. This environment capacity may consist of, but is not limited to, network bandwidth, processor memory, storage, etc. (946). If there is not enough available capacity, capacity is added to the on-demand environment (947). Next, the software required to process the transaction is accessed and loaded into memory, and then the transaction is executed (949).
[0078] Utilization measurements are recorded (950). Utilization measurements consist of those portions of the functionality in the on-demand environment that are used to process transactions. Utilization of such functionality may be recorded, including but not limited to, network bandwidth, processor memory, storage, and CPU cycles. Utilization measurements are summed, multiplied by unit costs, and then recorded as a charge to the requesting customer (951).
[0079] If the customer requested that the On Demand costs be posted to a website (952), then they are posted (953). If the customer requested that the On Demand costs be sent via email to a customer address (954), then they are sent (955). If the customer requested that the On Demand costs be paid directly from a customer account (956), then payment is received directly from the customer account (957). The On Demand process proceeds to 958 and ends.
[0080] While it is understood that the process software, the intelligent orchestration system of emotional contagion in interactions between multiple humans and multiple agents, can be deployed by manually loading it directly into the client, server, and proxy computers via loading a storage medium such as a CD, DVD, etc., the process software can also be deployed to computer systems automatically or semi-automatically by sending the process software to a central server or group of central servers. The process software is then downloaded to the client computers that run the process software. Alternatively, the process software is sent directly to the client systems via email. The process software is then detached or loaded into the directory by executing a set of program instructions that detach the process software into the directory. Another alternative is to send the process software directly to a directory on the client computer hard drive. When there is a proxy server, the process is to select the proxy server code, determine which computer the proxy server code is to be placed on, send the proxy server code, and then install the proxy server code on the proxy computer. The process software is sent to the proxy server and then stored in the proxy server.
[0081] introduction
[0082] · Loading the process software directly onto the client, server and proxy computers by loading a storage medium such as a CD or DVD.
[0083] · Automatic or semi-automatic deployment of process software into computer systems by transmitting it to a central server or group of central servers, which then downloads the process software into client computers which execute the process software.
[0084] · Sending the process software directly to the client system via email The process software is then detached or loaded into the directory by executing a set of program instructions that detaches the process software into the directory.
[0085] · Sending the process software directly to a directory on the client computer hard drive.
[0086] When there is a proxy server, the process is to select the proxy server code, determine on which computer the proxy server code is to be located, transmit the proxy server code, and then install the proxy server code on the proxy computer. The process software is transmitted to the proxy server and then stored on the proxy server.
[0087] General Description
[0088] While it is understood that the process software, the intelligent orchestration system of emotional contagion in interactions between multiple humans and multiple agents, can be deployed by manually loading it directly into the client, server, and proxy computers via loading a storage medium such as a CD, DVD, etc., the process software can also be deployed automatically or semi-automatically into the computer systems by sending the process software to a central server or group of central servers. The process software is then downloaded into the client computers that run the process software. Alternatively, the process software is sent directly to the client systems via email. The process software is then detached or loaded into the directory by executing a set of program instructions that detach the process software into the directory. Another alternative is to send the process software directly to a directory on the client computer hard drive. When there is a proxy server, the process is to select the proxy server code, determine which computer the proxy server code is to be placed on, send the proxy server code, and then install the proxy server code on the proxy computer. The process software is sent to the proxy server and then stored in the proxy server.
[0089] The following definitions and abbreviations are used in interpreting the claims and the specification. As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having," "contains," or "containing," or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a composition, mixture, process, method, article, or device that includes a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or device.
[0090] Additionally, the term "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "at least one" and "one or more" are understood to include any integer number greater than or equal to one, i.e., 1, 2, 3, 4, etc. The term "multiple" is understood to include any integer number greater than or equal to two, i.e., 2, 3, 4, 5, etc. The term "connected" can include indirect "connected" and direct "connected."
[0091] References in the specification to "one embodiment," "an embodiment," "an exemplary embodiment," and the like indicate that the embodiment being described may include a particular feature, structure, or characteristic, but all embodiments may or may not include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with one embodiment, it is believed to be within the knowledge of one of ordinary skill in the art to affect such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described.
[0092] The terms "about," "substantially," "approximately," and variations thereof are intended to include the degree of error associated with the particular quantitative indication based on the equipment available at the time of filing this application. For example, "about" can include a range of ±8%, or 5%, or 2% of a given value.
[0093] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will become apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used in this specification has been selected to best explain the principles of the embodiments, practical applications or technical improvements to the technology found in the market, or to enable others skilled in the art to understand the embodiments described herein.
[0094] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used in this specification have been selected to best explain the principles of the embodiments, practical applications, or technical improvements to the technology found in the market, or to enable others skilled in the art to understand the embodiments described herein.
[0095] As such, computer-implemented methods, systems, or apparatus, and computer program products are provided in exemplary embodiments for managing participation in an online community and other related features, functions, or operations. Where an embodiment, or portions thereof, is described in terms of a type of device, the computer-implemented method, system, or apparatus, computer program product, or portions thereof, is adapted or configured for use with a suitable and equivalent designation of that type of device.
[0096] Where an embodiment is described as being implemented in an application, delivery as an application in a Software-as-a-Service (SaaS) model is considered within the scope of the exemplary embodiment. In the SaaS model, the capabilities of an application implementing an embodiment are provided to a user by running the application in a cloud infrastructure. A user may access the application using a variety of client devices through a thin-client interface, such as a web browser (e.g., web-based email) or other lightweight client application. A user does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage of the cloud infrastructure. In some cases, a user may not even manage or control the capabilities of a SaaS application. In some other cases, a SaaS implementation of an application may allow the possible exception of limited user-specific application configuration settings.
[0097] The embodiments of the present invention may also be delivered as part of a service engagement with a client company, a non-profit organization, a government agency, an internal organizational structure, or the like. Aspects of these embodiments may include configuring a computer system to execute and deploying software, hardware, and web services that implement some or all of the methods described herein. Aspects of these embodiments may also include analyzing the behavior of a client, making recommendations in response to the analysis, building a system that implements some of the recommendations, integrating the system into existing processes and infrastructure, metering the use of the system, allocating expenditures to users of the system, and billing for the use of the system. Although the above embodiments of the present invention have each been described by stating their respective individual advantages, the present invention is not limited to a particular combination thereof. On the contrary, such embodiments may also be combined in any manner and number in accordance with the intended development of the present invention without losing their advantageous effects.
Claims
1. detecting interactions between the software agent and a plurality of humans and, in response to the detected interactions, calculating mood patterns in a mood pattern observing component based on the detected interactions; calculating a general mood pattern in a mood pattern grouping component based on the mood patterns; and determining, by an agent interaction orchestration component, for at least one of the plurality of humans based on the general mood pattern, to adapt a response of the software agent to affect the general mood pattern, the determining step further comprising: training a text generation component to generate a text sequence based on the responses, wherein the software agent issues the text sequence, and the detected interactions between the software agent and the plurality of humans are updated with the text sequence. Including, A computer-implemented method comprising:
2. 2. The computer-implemented method of claim 1, wherein the determining by the agent interaction orchestration component further comprises inputting a prompt into a machine learning model, where the prompt is based in part on the general mood pattern.
3. The computer-implemented method of claim 1 , wherein the step of calculating the general mood pattern in the mood pattern grouping component further comprises detecting an intensity and duration of the mood pattern.
4. The computer-implemented method of claim 1 , wherein computing the mood pattern in the mood pattern observation component comprises detecting emotions and feelings from the detected interactions.
5. The computer-implemented method of claim 1 , wherein computing the general mood patterns in the mood pattern grouping component comprises running a clustering algorithm.
6. The computer-implemented method of claim 1 , wherein the text generation component includes a sequence-to-sequence model.
7. The computer-implemented method of claim 1 , wherein the agent interaction orchestration component includes a feedback loop based in part on the mood patterns and the sensed interactions.
8. A computer program comprising program instructions executable by a processor, the program instructions causing the processor to: detecting an interaction between a software agent and a plurality of humans, and in response to the detected interaction, calculating a mood pattern in a mood pattern observing component based on the detected interaction; calculating a general mood pattern in a mood pattern grouping component based on the mood patterns; and determining, by an agent interaction orchestration component, based on the general mood pattern, for at least one of the plurality of humans to adapt a response of the software agent to affect the general mood pattern, wherein the determining step further comprises: training a text generation component to generate a text sequence based on the responses, wherein the software agent issues the text sequence, and the detected interactions between the software agent and the plurality of humans are updated with the text sequence. Including, A computer program product for causing a computer to perform operations including:
9. 10. The computer program product of claim 8, wherein the determining by the agent interaction orchestration component further comprises inputting a prompt into a machine learning model, where the prompt is based in part on the general mood pattern.
10. 9. The computer program product of claim 8, wherein the step of calculating the general mood pattern in the mood pattern grouping component further comprises detecting an intensity and duration of the mood pattern.
11. The computer program product of claim 8 , wherein the mood pattern observing component calculates the mood pattern and comprises detecting emotions and feelings from the detected interactions.
12. 12. The computer program product of claim 8, wherein the step of calculating the general mood pattern in the mood pattern grouping component comprises executing a clustering algorithm.
13. The computer program product of claim 8 , wherein the text generation component includes a sequence-to-sequence model.
14. The computer program product of claim 8 , wherein the agent interaction orchestration component includes a feedback loop based in part on the mood patterns and the sensed interactions.
15. A computer system including a processor and one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions being executable by the processor and causing the processor to: detecting an interaction between a software agent and a plurality of humans, and in response to the detected interaction, calculating a mood pattern in a mood pattern observing component based on the detected interaction; calculating a general mood pattern in a mood pattern grouping component based on the mood patterns; and determining, by an agent interaction orchestration component, based on the general mood pattern, for at least one of the plurality of humans to adapt a response of the software agent to affect the general mood pattern, wherein the determining step further comprises: training a text generation component to generate a text sequence based on the responses, wherein the software agent issues the text sequence, and the detected interactions between the software agent and the plurality of humans are updated with the text sequence. Including, A computer system that performs operations including:
16. 20. The computer system of claim 15, wherein the determining by the agent interaction orchestration component further comprises inputting a prompt into a machine learning model, where the prompt is based in part on the general mood pattern.
17. 16. The computer system of claim 15, wherein the step of calculating the general mood pattern in the mood pattern grouping component further comprises detecting an intensity and duration of the mood pattern.
18. The computer system of claim 15 , wherein the mood pattern observing component calculates the mood pattern and comprises detecting emotions and feelings from the detected interactions.
19. The computer system of claim 15 , wherein the text generation component includes a sequence-to-sequence model.
20. 19. The computer system of claim 15, wherein the agent interaction orchestration component includes a feedback loop based in part on the mood patterns and the sensed interactions.