Communications analysis and participation recommendation

An embodiment of the invention may include a method, computer program product and computer system for communications analysis and participation recommendation. The method, computer program product and computer system may include a computing device which may collect and analyze communications of a user. The computing device may identify a user contribution pattern for the user. The computing device may analyze one or more conversations and identify a conversation relevant to the user based on the identified user contribution pattern. The computing device may generate, in response to identifying a relevant conversation, a notification to the user of the relevant conversation.

BACKGROUND

The present invention relates generally to a method, system, and computer program for communications analysis. More particularly, the present invention relates to a method, system, and computer program for analyzing communications and identifying opportunities for a user to participate in a conversation.

Meetings are a typical part of most people's professional lives occurring in almost every profession. Increasingly, with the proliferation of technology and globalization, meetings take place electronically using a variety of meeting applications. The electronic meeting applications allow for real-time point-to-point communications as well as multicast communications from one or more senders to one or more receivers. Further, electronic meeting applications offer data streams of text-based messages, voice and video chat to be shared simultaneously, across geographically dispersed locations. Electronic meeting applications include applications for meetings, training events, lectures, or presentations from a web-connected computer to other web-connected computers.

BRIEF SUMMARY

An embodiment of the invention may include a method, computer program product and computer system for communications analysis and participation recommendation. The method, computer program product and computer system may include a computing device which may collect and analyze communications of a user. The computing device may identify a user contribution pattern for the user. The computing device may analyze one or more conversations and identify a conversation relevant to the user based on the identified user contribution pattern. The computing device may generate, in response to identifying a relevant conversation, a notification to the user of the relevant conversation.

DETAILED DESCRIPTION

Embodiments of the present invention provide a method, computer program, and computer system for analyzing communications, creating user contribution patterns for specific users and identifying opportunities for a specific user to participate in a conversation based on the user's contribution pattern. Currently, if a person is late to a meeting or not present for a meeting, the person can only find out what happened in the meeting by reading a transcription of the entire meeting, reading documents presented at the meeting, reading message boards from the meeting, or asking someone who was present at the meeting. Current technology does not allow for the analysis of a person's meeting contributions in order to create a user contribution pattern. Further, current technology does not allow for analyzing all meetings at a person's place of work using the contribution pattern for the user to identify opportunities for the user to participate regardless of whether the person is present for the meeting or not. For example, a sales manager may miss the first 15 minutes of a meeting, where a sales associate is presenting a sales proposal. During the meeting, the sales associate discusses a potential sales barrier regarding delivery schedule, but the sales associate cannot address it satisfactorily since he is not a manager who can address production priorities. However, embodiments of the present invention may notify the sales manager and summarize the issue for the sales manager. Once the sales manager joins the meeting or at a later time, the sales manager can speak with the sales associate and address the sales barrier. Thus, embodiments of the invention allow for meeting to flow uninterrupted and prevent meeting attendees from needing summaries of relevant points. As a further example, a new employee may be attending a retrospective meeting where his team is discussing issues that occurred during before the new employee was hired. One issue raised during the meeting may be the efficiency of interaction with the accessibility testing team. Embodiments of the present invention may notify the new employee that a specific tool has been proposed for accessibility testing in the past based on the new employee's contribution pattern and that when the tool was proposed in a previous meeting the main issue with using the tool was licensing cost. The new employee may be familiar with test tool alternatives and be able to make a viable proposal without re-raising a prior failed proposal. Thus, embodiments of the present invention provide a means for notifying users of opportunities to contribute meaningfully to a conversation without requiring a summary, interrupting the conversation, and/or repeating previous communications by other users.

FIG. 1illustrates a communications analysis and participation recommendation system100, in accordance with an embodiment of the invention. In an example embodiment, the communications analysis and participation recommendation system100includes user devices110a,110b,110c, a server120, and a secondary server130interconnected via network140.

In the example embodiment, the network140is the Internet, representing a worldwide collection of networks and gateways to support communications between devices connected to the Internet. The network140may include, for example, wired, wireless or fiber optic connections. In other embodiments, the network140may be implemented as an intranet, a local area network (LAN), or a wide area network (WAN). In general, the network140can be any combination of connections and protocols that will support communications between the user devices110a,110b,110c, the server120, and the secondary server130.

The user devices110a,110b,110cmay include a user interfaces112a,112b,112c, applications114a,114b,114c, and user databases116a,116b,116c. In the example embodiment, the user devices110a,110b,110cmay be a desktop computer, a notebook, a laptop computer, a tablet computer, a thin client, or any other electronic device or computing system capable of storing compiling and organizing audio, visual, or textual content and receiving and sending that content to and from other computing devices, such as the server120, and the secondary server130via the network140. While three user devices110a,110b,110care depicted, it can be appreciated that any number of user devices may be part of the communications analysis and participation recommendation system100including more than or less than three. In some embodiments, the user devices110a,110b,110cinclude a collection of devices or data sources. The user devices110a,110b,110care described in more detail with reference toFIG. 3.

The user interfaces112a,112b,112cinclude components used to receive input from a user on the user devices110a,110b,110cand transmit the input to the communications analysis and participation recommendation program122residing on the server120, or conversely to receive information from the communications analysis and participation recommendation program122and display the information to users on the user devices110a,110b,110c. In an example embodiment, the user interfaces112a,112b,112cuse a combination of technologies and devices, such as device drivers, to provide a platform to enable users of the user devices110a,110b,110cto interact with the communications analysis and participation recommendation program122. In the example embodiment, the user interfaces112a,112b,112creceive input, such as but not limited to, textual, visual, or audio input received from a physical input device, such as but not limited to, a keypad, mouse, camera, and/or a microphone.

The applications114a,114b,114cmay be any electronic communications application including, but not limited to, downloadable applications and online applications. The applications114a,114b,114cmay be for example, but are not limited to, meeting applications, social networking applications, and messaging applications, etc. For example, the applications114a,114b,114cmay be, but are not limited, to Webex®, Google+ Hangouts®, Skype®, Slack®, Evernote®, GoToMeeting®, IBM® Connections, Microsoft Outlook®, Gmail®, and Lotus Notes® etc. While only a single application114a,114b,114care illustrated for each of the user devices110a,110b,110c, respectively, it can be appreciated that any number of applications114a,114b,114cmay be part of the communications analysis and participation recommendation system100including one or more than one depending on the user. The data associated with the applications114a,114b,114cmay be stored on the secondary server130associated with the applications114a,114b,114cas application data136. For example, the user devices110a,110b,110cmay belong to three co-workers who each utilize a meeting application to collaborate. Thus, the meeting application would be the applications114a,114b,114con each of the co-workers computers, i.e. the user devices110a,110b,110c, and the data associated with the applications114a,114b,114cwould be stored on the meeting application server, i.e., secondary servers130as application data136. Alternatively, the data associated with the applications114a,114b,114c, i.e. the application data136, may be stored on the user databases116a,116b,116c, associated with the user devices110a,110b,110c.

The user databases116a,116b,116cmay store any data associated with the user devices110a,110b,110cincluding, but not limited to, audio, visual, and textual files. Further, the user databases116a,116b,116cmay store the data associated with the applications114a,114b,114c, i.e. the application data136. The user databases116a,116b,116care described in more detail with reference toFIG. 3.

The secondary server130may include an application database134. While only a single secondary server130is illustrated, it can be appreciated that any number of secondary servers130may be part of the communications analysis and participation recommendation system100including one or more depending on the user and the number of the applications114a,114b,114c. In the example embodiment, the secondary server130may be a desktop computer, a notebook, a laptop computer, a tablet computer, a thin client, or any other electronic device or computing system capable of storing compiling and organizing audio, visual, or textual content and receiving and sending that content to and from other computing devices, such as the user devices110a,110b,110cand the server120via the network140. In some embodiments, the secondary server130may include a collection of devices or data sources. The secondary server130is described in more detail with reference toFIG. 3.

The application database134may be a collection of the application data136. The application data136may be data associated with the applications114a,114b,114cincluding, but not limited to, audio, visual, and textual files. For example, the application data136may include, but is not limited to, meeting transcripts, meeting notes, meeting presentations, meeting documents, meeting message boards, etc. associated with the applications114a,114b,114c. The application data136stored in application database134located on the secondary server130or on the user devices110a,110b,110c, or on other secondary databases may be accessed through the network140. The application database134is described in more detail with reference toFIG. 3.

The server120may include the communications analysis and participation recommendation program122and the program database124. In the example embodiment, the server120may be a desktop computer, a notebook, a laptop computer, a tablet computer, a thin client, or any other electronic device or computing system capable of storing compiling and organizing audio, visual, or textual content and receiving and sending that content to and from other computing devices, such as the user devices110a,110b,110cand the secondary server130via the network140. In an example embodiment, the server120may be resident in the user devices110a,110b,110c. In yet another embodiment, the server120may be separate from the user devices110a,110b,110cand may reside at a secondary location communicating with the user devices110a,110b,110cvia the network140. The server120is described in more detail with reference toFIG. 3.

The communications analysis and participation recommendation program122is a program capable of identifying a user contribution pattern based on the user's conversation history and generating a notification to the user of opportunities to participate in a conversation to which the user may or may not be in attendance. In an example embodiment, the conversation may be, but it not limited to, a meeting. The communications analysis and participation recommendation program122may collect communications of one or more users from the user devices110a,110b,110c, and the secondary server130. The communications analysis and participation recommendation program122may analyze the characteristics of the users' communications and identify a user contribution pattern for each of the users. The communications analysis and participation recommendation program122may then monitor and/or analyze communications that occur on any of the user devices110a,110b,110cconnected to the communications analysis and participation recommendation system100and identify opportunities for a user to participate based on the user's contribution pattern. For example, the communications analysis and participation recommendation program122may identify concepts and questions raised during a meeting that a user has responded to in the past and whether or not the user's past response was positively received by the other meeting attendees. The communications analysis and participation recommendation program122may then notify the user of an identified opportunity to participate. The communications analysis and participation recommendation program122is described in more detail with reference toFIG. 1b.

The program database124may contain any data collected, used, and/or created by the communications analysis and participation recommendation program122including, but not limited to, audio, visual, and textual files. For example, the program database124may include, but is not limited to, data collected from the user devices110a,110b,110cand the application data136. The program database124is described in more detail above and with reference toFIG. 3.

FIG. 1billustrates example modules of communications analysis and participation recommendation program122. In an example embodiment, the communications analysis and participation recommendation program122may include five modules: communication collection module150, communication analysis module152, meeting analysis module154, user notification module156, and feedback module158.

The communication collection module150collects communications of one or more users from the user devices110a,110b,110c, and the secondary server130. The communication collection module150may collect one or more users' communications on the applications114a,114b,114cwhich may be collected and stored on the program database124. The communications may be, but are not limited to, verbal and written communications. Verbal communications may be converted to text, using known voice to text conversion methodologies, to enable the communications analysis and participation recommendation program122to analyze the communications. In one embodiment, the communications analysis and participation recommendation program122may monitor all communications between the three co-workers such as but not limited to, verbal presentations, questions asked, responses to questions, written questions, written responses to questions, chat messages, etc. In another embodiment, the communications analysis and participation recommendation program122may analyze the application data136and any data on the user databases116a,116b,116cfor user communications. For example, the communications analysis and participation recommendation program122may monitor an electronic meeting between three co-workers, using the user devices110a,110b,110c, on the applications114a,114b,114c, respectively. The communication collection module150may store the collected communications of the one or more users on the program database124.

The communication analysis module152analyzes the collected one or more users' communications to identify a user contribution pattern for the one or more users. The communication analysis module152may analyze the characteristics of the collected users' communications and any responses to the users' communications such as, but not limited to, opinions on another user's communication, positive communication, negative communication, etc. Continuing with the example above, the communication analysis module152may analyze the characteristics of the collected communications between three co-workers. The communication analysis module152may analyze the characteristics of any responses to the users' communications such as, but not limited to, positive reactions, negative reactions, questions asked in response, etc. For example, the communication analysis module152may analyze the responses of the co-workers associated with the user devices110b, and110cto a communication given by a co-worker associated with the user device110a. The communication analysis module152may analyze the collected communications using known cognitive systems and methodologies such as, but not limited to, IBM Watson® APIs for sentiment analysis, qualitative analysis for stored unstructured data, conversion of voice to text, emotion analysis, and concept/category/keyword identification. The communication analysis module152may then analyze the collected communications to identify a user contribution pattern for each of the one or more users. For example, the communication analysis module152may identify a user contribution pattern that includes, but is not limited to, concepts, statements and proposals made by a user on the user device110a, the reactions of the users on the user devices110b,110c, and typical questions posed by the user of the user device110a, etc.

The meeting analysis module154may collect and analyze communications that occur on any of the user devices110a,110b,110cconnected to the communications analysis and participation recommendation system100and identify opportunities for a user to participate based on the identified user's contribution pattern. For example, the meeting analysis module154may identify concepts and questions raised during a meeting that a user has responded to in the past and whether or not the user's past response was positively received by the other meeting attendees. Also, the communications analysis and participation recommendation program122may identify answers to questions provided during a meeting to which a user typically asks. The user does not need to be in attendance of a meeting in order for the meeting analysis module154to collect and analyze communications that occur on any of the user devices110a,110b,110c. For example, a user of the user device110cmay be in a meeting with 5 co-workers, which does not include the user of the user device110a. The user of the user device110amay not be present at the meeting for several reasons including, but not limited to, the user is running late, the user has missed the meeting, the user was not invited to the meeting, etc. The meeting analysis module154may for example, but not limited to, collect and analyze the communications of the meeting between the user of the user device110cand the 5 co-workers and identify a communication to which the user of the user device110amay be able to positively respond to based on the identified contribution pattern for the user of the user device110a. For example, the meeting analysis module154may identify, but is not limited to, a question posed by the user of the user device110cor by one of the 5 co-workers present in the meeting to which the user of the user device110ahas previously answered and that answer previously received a positive response. As another non-limiting example, the meeting analysis module154may identify a question posed by the user of the user device110ain a previous meeting to which an answer has been provided to in the meeting between the user of the user device110cand the 5 other co-workers.

The user notification module156may generate a notification to the user of an identified opportunity to participate. The user notification module156may notify the user of an identified opportunity to participate via the user interface112a,112b,112con the user device110a,110b,110c. The notification may be any type of electronic notification such as, but not limited to, a pop-up notification, an email, a message on the user interface112a,112b,112c, etc. The notification may include, but is not limited to, a notification of an opportunity to respond to a question, a notification that a typical question of the user has been answered, a notification that a topic which the user is familiar with is being discussed, etc. For example, the user of the user device110amay receive a notification via the user interface112athat a question to which the user has previously answered has been asked in a meeting which the user is not currently attending. Further, the notification may include a summary of the meeting. The summary may include, but is not limited to, a summary of the communications relating to the identified opportunity, or a summary of the entire meeting. For example, if a user comes to a meeting 15 minutes late, the user notification module156may notify the user that a problem to which the user has a unique ability to solve has been asked and the user notification module156may give a summary of the problem and any solutions offered before the user entered the meeting. This way the user will know if he/she should circle back to the problem at an appropriate time.

The feedback module158may receive user feedback on an notified opportunity to participate. For example, the user of the user device110a,110b,110cmay enter feedback via the user interface112a,112b,112csuch as, but not limited to, a notified opportunity was of interest, or a notified opportunity was not of interest, etc. Further, the user of the user device110a,110b,110cmay identify to what degree a notified opportunity was of interest to the user such as, but not limited to, very interesting, somewhat interesting, neutral, somewhat not interesting, not interesting, etc. The feedback module158may utilize the user feedback to update the user contribution pattern.

Referring toFIG. 2, a method200executed by the communications analysis and participation recommendation system100is depicted, in accordance with an embodiment of the present invention.

Referring to operation210, the communication collection module150collects communications of one or more users from the user devices110a,110b,110c, and the secondary server130. Communication collection is described in more detail above with reference to the communication collection module150.

Referring to operation212, the communication analysis module152analyzes the collected one or more users' communications. Communication analysis is described in more detail above with reference to the communication analysis module152.

Referring to operation214, communication analysis module152identifies a user contribution pattern for the one or more users. User contribution pattern identification is described in more detail above with reference to the communication analysis module152.

Operations210-214may be repeated for any number users on the communications analysis and participation recommendation system100.

Referring to operation216, the meeting analysis module154collects and analyzes communications that occur on any of the user devices110a,110b,110cconnected to the communications analysis and participation recommendation system100. Meeting communication collection and analysis is described in more detail above with reference to the meeting analysis module154.

Referring to operation218, the meeting analysis module154identifies opportunities for a user of the user devices110a,110b,110cto participate based on the identified user's contribution pattern. Participation opportunity identification is described in more detail above with reference to the meeting analysis module154.

Referring to operation220, the user notification module156generates a notification to the user of an identified opportunity to participate. Notification generation identification is described in more detail above with reference to the user notification module156.

Referring to operation222, the feedback module158receives user feedback on the notified opportunity to participate. User feedback is described in more detail above with reference to the feedback module158. Operation222may be optional and the communications analysis and participation recommendation system100may optionally not perform operation222if no user feedback is received.

Referring to operation224, the feedback module158updates the user contribution pattern. User contribution pattern update is described in more detail above with reference to the feedback module158.

Referring toFIG. 3, a system1000includes a computer system or computer1010shown in the form of a generic computing device. The method200for example, may be embodied in a program(s)1060(FIG. 3) embodied on a computer readable storage device, for example, generally referred to as memory1030and more specifically, computer readable storage medium1050as shown inFIG. 3. For example, memory1030can include storage media1034such as RAM (Random Access Memory) or ROM (Read Only Memory), and cache memory1038. The program1060is executable by the processing unit or processor1020of the computer system1010(to execute program steps, code, or program code). Additional data storage may also be embodied as a database1110which can include data1114. The computer system1010and the program1060shown inFIG. 3are generic representations of a computer and program that may be local to a user, or provided as a remote service (for example, as a cloud based service), and may be provided in further examples, using a website accessible using the communications network1200(e.g., interacting with a network, the Internet, or cloud services). It is understood that the computer system1010also generically represents herein a computer device or a computer included in a device, such as a laptop or desktop computer, etc., or one or more servers, alone or as part of a datacenter. The computer system can include a network adapter/interface1026, and an input/output (I/O) interface(s)1022. The I/O interface1022allows for input and output of data with an external device1074that may be connected to the computer system. The network adapter/interface1026may provide communications between the computer system a network generically shown as the communications network1200.

The computer1010may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. The method steps and system components and techniques may be embodied in modules of the program1060for performing the tasks of each of the steps of the method and system. The modules are generically represented inFIG. 3as program modules1064. The program1060and program modules1064can execute specific steps, routines, sub-routines, instructions or code, of the program.

The method of the present disclosure can be run locally on a device such as a mobile device, or can be run a service, for instance, on the server1100which may be remote and can be accessed using the communications network1200. The program or executable instructions may also be offered as a service by a provider. The computer1010may be practiced in a distributed cloud computing environment where tasks are performed by remote processing devices that are linked through a communications network1200. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

More specifically, as shown inFIG. 3, the system1000includes the computer system1010shown in the form of a general-purpose computing device with illustrative periphery devices. The components of the computer system1010may include, but are not limited to, one or more processors or processing units1020, a system memory1030, and a bus1014that couples various system components including system memory1030to processor1020.

The computer1010can include a variety of computer readable media. Such media may be any available media that is accessible by the computer1010(e.g., computer system, or server), and can include both volatile and non-volatile media, as well as, removable and non-removable media. Computer memory1030can include additional computer readable media1034in the form of volatile memory, such as random access memory (RAM), and/or cache memory1038. The computer1010may further include other removable/non-removable, volatile/non-volatile computer storage media, in one example, portable computer readable storage media1072. In one embodiment, the computer readable storage medium1050can be provided for reading from and writing to a non-removable, non-volatile magnetic media. The computer readable storage medium1050can be embodied, for example, as a hard drive. Additional memory and data storage can be provided, for example, as the storage system1110(e.g., a database) for storing data1114and communicating with the processing unit1020. The database can be stored on or be part of a server1100. Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus1014by one or more data media interfaces. As will be further depicted and described below, memory1030may include at least one program product which can include one or more program modules that are configured to carry out the functions of embodiments of the present invention.

The method200(FIG. 2), for example, may be embodied in one or more computer programs, generically referred to as a program(s)1060and can be stored in memory1030in the computer readable storage medium1050. The program1060can include program modules1064. The program modules1064can generally carry out functions and/or methodologies of embodiments of the invention as described herein. For example, the program modules1064can include the modules150-158described above with reference toFIG. 1b. The one or more programs1060are stored in memory1030and are executable by the processing unit1020. By way of example, the memory1030may store an operating system1052, one or more application programs1054, other program modules, and program data on the computer readable storage medium1050. It is understood that the program1060, and the operating system1052and the application program(s)1054stored on the computer readable storage medium1050are similarly executable by the processing unit1020.

The computer1010may also communicate with one or more external devices1074such as a keyboard, a pointing device, a display1080, etc.; one or more devices that enable a user to interact with the computer1010; and/or any devices (e.g., network card, modem, etc.) that enables the computer1010to communicate with one or more other computing devices. Such communication can occur via the Input/Output (I/O) interfaces1022. Still yet, the computer1010can communicate with one or more networks1200such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter/interface1026. As depicted, network adapter1026communicates with the other components of the computer1010via bus1014. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with the computer1010. Examples, include, but are not limited to: microcode, device drivers1024, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

It is understood that a computer or a program running on the computer1010may communicate with a server, embodied as the server1100, via one or more communications networks, embodied as the communications network1200. The communications network1200may include transmission media and network links which include, for example, wireless, wired, or optical fiber, and routers, firewalls, switches, and gateway computers. The communications network may include connections, such as wire, wireless communication links, or fiber optic cables. A communications network may represent a worldwide collection of networks and gateways, such as the Internet, that use various protocols to communicate with one another, such as Lightweight Directory Access Protocol (LDAP), Transport Control Protocol/Internet Protocol (TCP/IP), Hypertext Transport Protocol (HTTP), Wireless Application Protocol (WAP), etc. A network may also include a number of different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN).

In one example, a computer can use a network which may access a website on the Web (World Wide Web) using the Internet. In one embodiment, a computer1010, including a mobile device, can use a communications system or network1200which can include the Internet, or a public switched telephone network (PSTN) for example, a cellular network. The PSTN may include telephone lines, fiber optic cables, microwave transmission links, cellular networks, and communications satellites. The Internet may facilitate numerous searching and texting techniques, for example, using a cell phone or laptop computer to send queries to search engines via text messages (SMS), Multimedia Messaging Service (MMS) (related to SMS), email, or a web browser. The search engine can retrieve search results, that is, links to websites, documents, or other downloadable data that correspond to the query, and similarly, provide the search results to the user via the device as, for example, a web page of search results.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

While steps of the disclosed method and components of the disclosed systems and environments have been sequentially or serially identified using numbers and letters, such numbering or lettering is not an indication that such steps must be performed in the order recited, and is merely provided to facilitate clear referencing of the method's steps. Furthermore, steps of the method may be performed in parallel to perform their described functionality.