This description relates to the field of instant messaging (or “chat”).
The term “chat room” (or “discussion room”) designates a virtual meeting place accessible from a site, that an Internet user can choose on the basis of a proposed subject or an interest of the moment in order to communicate with a certain number of participants via a keyboard type of interface (or by voice recognition).
The term “chatbot” designates a (computerized) agent configured to communicate with a user. The user is offered an interface through which the user can question the chatbot on a research subject of his or her choice. The research that the user wishes to initiate on this “human-machine” interface is then influenced by what is called the “Turing” test, in which the dialogue with the machine must give the illusion that a program is thinking in a meaningful dialogue, thus making the interaction with the machine natural.
The chatbot is therefore more intended for a dialogue between a computerized agent and a user, while the chat room is usually a dialogue between several human users via terminals available to these users (terminals such as smartphones, tablets, computers, or other).
Additionally, there are “metabots” that are capable of orchestrating multiple chatbots at once and redirecting a specific user request to a given chatbot or to some other chatbot, on the basis of that user's intent.
Chatbots thus offer real resources to individual users for learning information.
A limitation of existing chatbots, however, is that they only offer to enrich the knowledge of an individual user, according that person's own research.
The present description improves the situation.
To this end, it proposes the implementation of a computerized agent, particularly a chatbot type of agent, configured to intervene in the context of a virtual discussion room, particularly a chat room.
For this purpose, the present description relates to a method for processing instant messaging data in which users participating in a discussion exchange messages via respective terminals,
Thus, this description proposes a chatbot capable of addressing several users of an instant messaging system and participating in a same discussion (or “chat room”) and thus integrating itself into this chat room. It is thus possible to orchestrate solving a problem with contributions from several people and one or more chatbots, for example in a business meeting, or to lead and/or enrich an exchange between several users, each user thus learning information of interest to the community of participants.
The aforementioned predetermined rules for chatbot intervention must be adapted specifically for an application to a chat room. Indeed, one problem with existing chatbots is inherent in the fact that they are only programmed to interact with a single conversational partner. Consequently, implementation of such a chatbot within a chat room firstly poses the problem of untimely intervention of the chatbot in a discussion, for example.
In particular, the set of predetermined rules includes predefined rules, modifiable rules, or even new rules. Thus, in one embodiment, the aforementioned predefined rules may include at least the detection of a wake-up word for the chatbot in a latest message of the discussion.
In addition or as a variant, the predefined rules may include at least one detection of a length of time, during which the exchange of messages in the discussion has stopped, exceeding a (predefined) threshold.
Thus, the chatbot can restart the discussion if it runs out of steam, or at least revitalize it if the exchange of messages between users begins to slow down by a duration corresponding to the aforementioned threshold.
In addition or as a variant, the predetermined rules may include at least one detection of a mood of at least one of the participants and a taking into account of said mood in sending or not sending a message responding to a message from that participant.
Indeed, it is necessary to overcome the problem of a chatbot response not being appropriate to the discussion context. For example, a chatbot intended for a single conversational partner may react as if the set of conversational partners is composed of only one person. The chatbot can thus have a reaction that would be appropriate for one of the conversational partners, but inappropriate for the others (demonstrating a lack of empathy, failing to take into account the knowledge or language of one of the parties, etc.). The chatbot's taking into account the mood of the participants separately for each participant, thus makes it possible to overcome this problem.
In such an embodiment, in the event of the chatbot sending the response message, the response message sent is then adapted to said mood of said at least one of the participants.
In an embodiment where the exchanged messages are spoken (in a voice messaging context for example), detection of the mood of said at least one of the participants is enhanced by detecting voice components in the voice message of said at least one of the participants.
For example, an increase in tonal frequency and/or sound level in a participant's speech signals characterizes that the participant is irritated.
In an implementation which makes use of participant mood detection, it is further possible to:
Such an implementation makes it possible to improve, for example, relationships between work colleagues in the particular case of applying the method to implementing a chatbot in a collaborative professional context, as described in detail below.
In one further embodiment, the method may comprise, in order to formulate a message to be sent:
Thus, the chatbot contributes here to providing informative content to all the participants and can thus enrich their general knowledge or their professional knowledge.
For example, in the case of a discussion planned in a professional, collaborative work setting, the aforementioned knowledge database may include information specific to a professional sector of this collaborative work setting.
The messages sent by the chatbot can then include professional tasks assigned to at least some of the participants in the discussion, the method then comprising in this embodiment a consultation of the knowledge base in order to organize a sequential coordination of the assigned professional tasks, based on an identification of the participants in the discussion.
In this application, the chatbot not only participates in the exchange of messages with the participants in the discussion, but also proposes an assignment of tasks, possibly with organizational assistance provided to each of the participants.
According to another aspect, a computer program is proposed comprising instructions for implementing the method as defined herein when this program is executed by a processor. According to another aspect, a computer-readable non-transitory storage medium is provided on which such a program is stored.
According to another aspect, a computing device is proposed (reference DIS in
According to another aspect, a chatbot server (DIS) is proposed which processes communication data between a plurality of terminals (TER) running an instant messaging application in which users participating in a discussion exchange messages via respective terminals (TER), the chatbot server comprising:
Other features, details, and advantages will become apparent upon reading the detailed description below, and upon analyzing the attached drawings, in which:
In the description below, the intervention of a virtual agent (or chatbot) is proposed, here in a collective discussion specifically, thus allowing several users to interact with a digital environment. This chatbot relies on a knowledge base in order to propose responses appropriate to a context detected by applying predetermined rules. Depending on the contexts detected, it may offer to guide operations involving several users in a work context, with sequencing of the tasks to be carried out, or, as in the simple example implementations presented for educational purposes below, to share general knowledge with several users by contributing appropriately to a conversation.
The chatbot is capable of distinguishing between the various participants and adapting the message to each one, or to the entire group at once, or even to certain people specifically. Thus, the predetermined rules make it possible to manage the interaction in the sense of an individualized user experience in a collective discussion. Individualization of the chatbot's messages is based in particular on individualization criteria such as accreditation, age (child/adult), competence in the technicality of the subject under discussion, an emotional state, a cultural reference, etc., of the participant(s) receiving the chatbot's message.
Reference is now made to
In addition, these messages are also routed (here by chat room server SER) to a device DIS, also called chatbot server within the meaning of this disclosure, which in the described example can take the form of a second server designated by the term “Chat Room Servant”. Device DIS makes use of a chatbot application and can thus access a memory storing a database DB identifying the “knowledge” on which the chatbot can rely in order to provide informational messages appropriate to a conversation context between the Chat Client users. Device DIS can also access a memory storing predetermined rules RP (for example in the form of computer instruction code) defining the contexts of possible interventions of the chatbot (when to intervene during a conversation), as well as the appropriate ways for the chatbot to intervene (how to intervene during the conversation, for example depending on the mood of each participant).
Thus, to respond to a request for information for example, the Chat Room Servant can return a statement from its knowledge base BD. To this end, it implements:
In particular, natural language message generator GM may include message analyzer AM and/or rule engine MR, making it possible to create messages according to predetermined rules.
In one particular embodiment, the chatbot server (DIS) processes communication data between a plurality of terminals (TER) running an instant messaging application in which users participating in a discussion exchange messages via respective terminals (TER), the chatbot server comprising:
The rules of the rule engine can be modified by a user such as an authorized administrator, or by learning related to typical discussion situations. Thus, the “Chat Room Servant” application, by taking into account a specific set of rules, can adopt a particular overall behavior such as “dominant”, “expressive”, “analytical”, “friendly”, or others.
In addition, new rules can be determined which enrich the rule engine, prior to the sending of a message by the second server-chatbot DIS, including during an ongoing discussion using a chatbot.
Targeted communication can also be implemented towards only one or only some of a group of participants in a discussion. Therefore, the Chat Room Servant may not provide the same information to all participants. A concept of roles may further be provided, such as the distribution of communication “for information”, or “for action”, depending on the profiles.
Presented below as an example is a table of possible message exchanges in natural language in which the chatbot intervenes:
In particular, second server-chatbot DIS is able to intervene in the discussion on the basis of predetermined rules and/or by using a dynamic object-oriented language, such as “Smalltalk”. Second server-chatbot DIS is thus able to identify the moments when it should intervene in particular based on criteria linked to one or more participants, in particular individualization criteria, including for example emotional criteria. These individualization criteria are not necessarily predefined but can depend on the context, the individuals, etc.
Note in message M7 and its response M8 that the intervention of the chatbot in the exchanges can be triggered for example by a given name of the chatbot, such as “Butler”. As illustrated in
More generally, if the participants do not want the chatbot to speak unexpectedly, it is possible to define an exchange “protocol” in which all messages sent to the chatbot begin with a keyword (for example its name “Butler” or a wake-up word).
Referring now to
Furthermore, for the intervention of the chatbot in the exchanges, the chatbot can detect for example a wake-up word (step S5) or parameters indicating the end of a statement from one or more participants (step S6), or others, in order to initiate a response message in step S9. For example in step S6, the chatbot's analyzer can identify the end of a discussion paragraph from an conversational partner, or the end of an exchange between two people, or the end of a conversation, allowing it to intervene at an opportune moment without interrupting an ongoing discussion.
Optionally, the chatbot may distinguish between the various conversational partners and their profiles in order to take this into account in its intervention in step S7. The chatbot may limit its intervention typically on the basis of the mood of the conversational partner it is addressing, for example. The distinction between the various participants is made in particular according to the expression (emotion in the message) of each participant (after step S4). For example, in the case of repeated use by a given participant of certain words or specific constructions which interrupt sentences, the chatbot may intervene less in response to this user's comments. Thus, the chatbot can distinguish between the various participants (in relation to their email account for example, or the like) and limit or on the contrary increase the number of its interventions with one participant or another on the basis of parameters detected in the messages and reflecting the respective moods of these participants.
In the case of a voice chat room application (the messages exchanged being audio messages), the chatbot, in addition to receiving the messages spoken by the people in the chat room, can measure the periods of silence, in particular after a question. Subsequently, when silence follows a question, the Chat Room Servant can trigger a previously programmed reaction in order to restart the conversation, or make a joke or some other comment. For example, in a communication similar to a conference call, if a moderator says: “Is there anything anyone wants to say to wrap up?”, after ten seconds of silence the Chat Room Servant can take the floor to say “Do you want me to sing you a song?”.
In this type of implementation of a voice chat room, the Chat Room Servant also has the capacity to enhance mood detection for one or more participants by measuring in particular a degree of “annoyance” of such participants, on the basis for example of the sound volume and/or the voice frequency of spoken statements (an increasing volume and/or a more acute voice frequency typically characterizing annoyance), these voice parameters being detected in step S8 (illustrated by dotted lines in the voice chat room embodiment). Depending on the mood of the participants, the Chat Room Servant can then react by implementing a previously programmed behavior (playing soft music, a statement reminding of the rules of conduct, diplomatic words, etc.) in step S9. For example, mood detection is carried out on the basis of acoustic signals and/or other signals (image, physiological, semantic, etc.)
In terms of possible applications, in a work context for example, the Chat Room Servant has the capacity to orchestrate interventions by different people based on information from its knowledge base DB, in order to organize, in step S10, a distribution of roles and instructions to participants in the chat room according to their profiles, and to collect their feedback in order to monitor progress in collaborative tasks.
The advantage of the second server-chatbot according to the development is its adaptability to users, to usage, and to context (time, location, environment, etc.)
More generally, the Chat Room Servant can be used in a home setting (with voice assistants), or in a business setting (teleconferencing with the Chat Room Servant as a mediating chatbot), or in a factory. In an industrial context, it is thus possible to steer an intervention, store written information precisely and automatically, by implementing for example a programmed memory to generate and store a fault tree and possibly enrich a resolution tree by learning. The Chat Room Servant can be initiated by an application inviting the people concerned (managers and workers) by an event, or alternatively at the specific request of a person (a worker facing a problem) by inviting the Chat Room Servant and other people (other workers and managers) to participate in a spontaneous chat room, in order to understand an event and make thoughtful decisions collectively. In another example application, for example outside a strict work framework, a motorist who has broken down can initiate a chat room with the Chat Room Servant, a mechanic, and himself in order to determine if he is able to repair the vehicle alone or to arrange for the intervention of a repairman.
Number | Date | Country | Kind |
---|---|---|---|
FR2106901 | Jun 2021 | FR | national |
This application is filed under 35 U.S.C. § 371 as the U.S. National Phase of Application No. PCT/FR2022/051269 entitled “CHAT BOT FOR AN INSTANT MESSAGING APPLICATION” and filed Jun. 27, 2022, and which claims priority to FR 2106901 filed Jun. 28, 2021, each of which is incorporated by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FR2022/051269 | 6/27/2022 | WO |