The present disclosure relates generally to the field of computer supported meeting/conferencing. More specifically, and without limitation, this disclosure relates to systems and methods for automatically determining engagement level of members of an online group with respect to shared electronic content.
Recent advancements in technology and in particular online technology has led to an increased use of online forums to disseminate information. For example, use of various online chat groups, webinars, etc., has become prevalent to share information. In one nonlimiting example, a user of a chat communication service may create an online chat group/team to disseminate information and news updates to the members of that chat group/team.
Unfortunately, there is currently no intelligent way to gauge a level of engagement by group members and to determine how caught up the group members are with respect to content being shared. Moreover, it is often the case that the created group/team is quite large, with members with varying backgrounds. As such, the content being shared may be very relevant to some group members while it may only be minimally relevant to others. As such, some group members may become very active and others may be very inactive in sharing content or in keeping up with the latest updates. For example, some group members may stop visiting or may only infrequently visit the chat group/team to read through the messages, while others may be adamant about being current with respect to the content being shared. Unfortunately, there is currently no intelligent way to gauge and determine the level of engagement by the members and to encourage them to become more active and current, e.g., by sending them reminders. Moreover, there is currently no intelligent mechanism to remove or suggest removal of certain members from the group based on their activity or lack thereof, or suggest adding other members to the group based on their level of activity from other chat groups/teams.
Accordingly, a need has arisen to determine a level of engagement, e.g., whether the group members are caught up with the shared information, whether the shared information is being further interacted with by the group members, etc. The level of engagement by the group members may be used to encourage the group members who are not very engaged to become more engaged and to catch up with respect to the shared content. Moreover, a need has arisen to modify the team members of the created group based on their activity and level of engagement with the content being shared. Furthermore, a need has arisen to further identify the level of engagement by members of different departments in an organization within the created group. Individual(s) from each department that are engaged and active may be identified and invited to other online groups/teams based on their activity level, engagement level, etc.
In some embodiments, a method includes monitoring accesses to a first electronic data shared at a first time with a plurality of online users formed as an online group. The method also includes monitoring accesses to a second electronic data shared at a second time with the plurality of online users. In some embodiments, a first subset of online users from the plurality of online users that have accessed the first electronic data is identified. According to some embodiments, a second subset of online users from the plurality of online users that have accessed the second electronic data is determined. Statistical data associated with the first subset of online users and the second subset of online users in a graphical user interface (GUI) is displayed.
In some embodiments, the statistical data includes a number of online users that have accessed the first electronic data and a number of online users that have accessed the second electronic data. According to some embodiments, the method further includes determining a duration of time elapsed between when the first electronic data was shared and when the first electronic data was accessed by each online user of the first subset of online users. In some embodiments, the method may further include displaying data associated with the duration of time elapsed between when the first electronic data was shared and when the first electronic data was accessed by each online user of the first subset of online users. It is appreciated that in some embodiments, the method further includes transmitting a reminder signal to a third subset of online users from the plurality of online users that have not accessed the first electronic data, wherein the reminder signal is transmitted in response to a triggering event. The triggering event may be expiration of a certain time period after the first electronic data has been shared. In some nonlimiting examples, the triggering event is related to a level of importance of the first electronic data.
It is appreciated that in some embodiments, the method may further include identifying a third subset of online users from the plurality of online users as key members associated with the first electronic data based on a content of the first electronic data, assignment associated with the plurality of online users as designated by a creator of the online group, and organizational relationship of the plurality of online users to the creator of the group.
According to some embodiments, the method may further include identifying a fourth subset of online users from the plurality of online users to be removed from the online group based on the statistical data. It is appreciated that the method may include removing a fifth subset of online users from the online group, wherein the fifth subset of online users is a subset of the fourth subset of online users. In some embodiments, the identifying of the fourth subset of online users may be based on importance of online users in the fourth subset of online users in comparison to a remainder of online users of the plurality of online users, level of activity of the fourth subset of online users, and level of interest associated with the fourth subset of online users in content being shared with the online group.
In some embodiments, the method may further include determining a value of the first electronic data based on a pattern associated with the first subset of online users interacting with the first electronic data. It is appreciated that the pattern may be selected based on subsequent sharing of content associated with the first electronic data by the first subset of online users, a number of likes associated with the first electronic data, or a copy/paste of a uniform resource locator (URL) associated with the first electronic data. The URL may be a proxy URL in some nonlimiting examples. It is appreciated that the subsequent sharing of content associated with the first electronic data by the first subset of online users may be through an online chat in another online group. In some embodiments, the subsequent sharing of content associated with the first electronic data by the first subset of online users may be through a voice call or a video call. It is appreciated that the pattern may be determined using a machine learning algorithm to group and cluster actions taken by the first subset of online users with respect to the first electronic data.
In some embodiments, the method may include determining a department associated with each online user of the first subset of online users. It is appreciated that a department associated with each online user of the second subset of online users is determined. In some embodiments, statistical data associated with the first subset of online users and the second subset of online users and respective departments associated therewith is displayed. The method may further include identifying an online user from the first subset of online users for each department based on activity pattern associated with the first electronic data. It is appreciated that in some embodiments, the method may further include identifying an online user from the first subset of online users and the second subset of online users for each department based on activity pattern associated with the first and the second electronic data.
These and other features and aspects of the concepts described herein may be better understood with reference to the following drawings, description, and appended claims.
The example embodiments described herein are directed to a communication system. The communication system is configured to facilitate communication between online users. Communication may be through an online forum, e.g., online group, online team, webinar, chat team, etc. The communication system may also facilitate communication between users via telephony and/or video conferencing, etc.
The communication system is configured to facilitate data exchanges, e.g., audio data, video data, content data (e.g., PowerPoint®, Word®, PDF, etc.), messaging (e.g., instant messaging), etc., amongst users. It is appreciated that the term “user(s)” generally refers to participants of a communication session whether as host or invitee(s) or team member(s). It is also appreciated that the term “user” is used interchangeably with “member” or “participant” throughout the application.
A host or an administrator or any online user may create an online group/team using the communication system. For example, a user may create an online group or team via a chat function of the communication system. As another example, a user may create an online group for a webinar using the communication system. It is appreciated that the term “group” or “team” has been used interchangeably throughout the application. It is appreciated that terms “host,” “administrator” and “user” may be interchangeable in relation to their roles and/or access privileges to the online group/team. For example, each of them can create the online group/team, manage the online group/team, manage participants of the online group/team, etc.
Once an online team has been created, one or more members of the team can share electronic data/content with other users (i.e. team members). For example, a team member (whether the host or another team member) may post content to share with other team members. It is appreciated that the content may be shared sporadically, as needed. In some examples, the content is shared at regular intervals, e.g., once a week, twice a week, once a month, once a day, etc. It may be desirable to determine the relevance and/or importance of the shared content to the online group. It is appreciated that it may also be desirable to determine whether the team members are caught up with respect to the shared content(s). It is further desirable to determine the level of engagement of the team members with the shared content(s). It is appreciated that throughout the application, references are made to content that may be one or more content shared over a period of time.
In some embodiments, intelligence built into the communication system may be used to determine which group members are caught up with a shared content (i.e. have accessed the shared content) and the time elapsed between when the content was shared and when it was accessed by the group members. In some embodiments, the access to the shared content may be monitored by the communication system. Accessing the shared content may be construed as the member having reviewed the content and being up-to-date with the content being shared. It is appreciated that after determining which group members have accessed the shared content, the information may be presented in statistical format, e.g., a number of group members or percentage of the group members that are up-to-date with respect to a content that was shared a week ago as opposed to two weeks ago, etc. It is further appreciated that the lag time between when a particular content was shared and when it was accessed and reviewed by a member may also be tracked and displayed.
It is appreciated that the information regarding the group members and how up-to-date the group members are with respect to any given shared content can be used to motivate and encourage the members that are not up-to-date to review the shared content. For example, a reminder email(s) may be sent to members that are not up-to-date with respect to a particular shared content. It is appreciated that a determination with respect to the group members being up-to-date may similarly be made after a reminder is sent, e.g., after a day, after a week, etc., to determine whether the group members that were previously not engaged or not caught up with respect to a given shared content have become engaged and are up-to-date after receiving the reminder(s). It is appreciated that subsequent reminder emails may be sent, as desired, until a certain threshold is reached, e.g., certain percentage of the group members are caught up.
According to some embodiments, activities associated with the content being shared may be monitored to determine the importance of a shared content. For example, a number of group members resharing the shared content, a number of likes a shared content has received, a number of pins associated with a shared content, a number of copy/pastes of the shared content or a portion thereof (e.g. into an email or a search bar of a web browser or another message application or another conversation thread in the same message application, etc.), a number of accesses to the uniform resource locator (URL) associated with the shared content, a number of accesses to a proxy URL associated with the shared content, a number of emails having content associated with the shared content, a number or volume of content in other online forums such as other chat groups discussing the shared content, a number of voice calls associated with the shared content, a number of video conferences associated with the shared content, etc., may be used to determine the importance of a given shared content. In other words, activities of the online group members with respect to the shared content may be a reflection of importance of the shared content. For illustrative purposes, a shared content receiving many likes, being discussed in other chat groups, information associated therewith being searched online, and URL being accessed by many group members and/or nongroup members may be construed as the shared content being more important in comparison to a shared content that has received no likes and lack engagement by the members of the online group or other online groups. As an example, the importance of the content can be determined based on a total number of factors that exceeds a threshold. The factors may be actions or utilizations taken by users in relation to the content, that exceed a set threshold. The communication system may automatically set the threshold at 10 for monitoring, for example. In this example, 10 is a total number of actions taken by the users in relation to the content and/or the total number of times the content has been utilized. The users may, for example, give 5 likes to the shared content, copy & paste the shared content to another communication thread 3 times, and search for the shared content 3 times using known search techniques. Since the users have interacted or utilized the shared content 11 times overall, which exceeds the threshold of 10, the system labels the shared content as important content. It should be noted that the threshold can be set by a group creator or another participant manually or based on a suggestion from the communication system.
As a nonlimiting example, each factor (i.e. number of likes, number of discussions in other chat groups, number of searches, etc.) as described above may be given an appropriate weight. In some embodiments, the appropriate weight is used as a multiplier to the number of times the content was utilized by the user(s). For example, the number of likes factor can be assigned a weight of 0.5, the search factor can be assigned a weight of 1 and the copy & paste factor can be assigned a weight of 2. As described in the example above, the threshold is set to 10. Applying the weights to the factors, the shared content from the example above gets 5 likes with a multiplier of 0.5, which provides for a score of 2.5. The shared content also is copied & pasted 3 times with a multiplier of 2, which provides for a score of 6. The shared content also is also searched for 3 times with a multiplier of 1, providing a score of 3. The sum of all the factors calculated based on the assigned weights is 11.5, which exceeds the threshold of 10. Since the importance threshold has been exceeded, the content is determined to be important. The weights can be assigned automatically by the communication system or by the users of the team. In some embodiments, user feedback may be used to adjust the weights and/or threshold. As such, group members that are not up-to-date with respect to a shared content that is determined to be important may be encouraged to review the shared content, e.g., by sending reminder emails. In other words, shared content that is determined to be important is flagged such that the administrator or the host can get more “eyes” on the shared content by group members that are not caught up with the content.
In yet another embodiment, Artificial Intelligence (AI) and Machine Learning (ML) techniques can be used to determine the importance of the shared content. ML techniques can be used to evaluate past data on the various factors or activities (i.e. number of likes, number of discussions, number of searches, etc.) by the users in relation to the shared content. In some embodiments, activities that have historically applied to certain types of shared content, the frequency of the activities in relation to the types of shared content, the circumstances in which the activities occurred, the largest or smallest utilization activity by the users, or any other factor may be data points that are fed into the ML algorithm as training data to determine the importance of the shared content. The AI model may also use live feedback from the users to train and adjust the ML algorithm to more accurately determine the importance of content. For example, the system can request feedback from the users on whether the shared content, which has been determined automatically as important, is indeed important. Based on the user feedback, the ML algorithm can be adjusted or further trained to correctly identify content as important or not important. Additionally, upon determining that a shared content is important, the system may confirm with the users whether the shared content is important before assigning this status or label to the shared content. For example, a pop-up notification may be displayed with two options: “important content” and “not important content”. Based on the user's feedback, the ML algorithm may be further trained to correctly identify important or unimportant content. The ML technique is further described below.
It is appreciated that in some embodiments, the communication system may determine whether each member of the online group is a key member or not a key member with respect to any given shared content. For example, a first subset of members of the online group may be identified as key members with respect to a first shared content whereas a second subset of members of the online group may be identified as key members with respect to a second shared content. It is appreciated that determining whether a member of the online group is a key member or not may be done based on criteria such as organizational relationship of that member to the host or the creator of the online group, the relevance of the shared content to the background and experience of the member, designation of the member as being a key member by the group creator (i.e. “required” when the online team is being created), past behavior of the group members, correlation between the title of the online group and the member's background, correlation between the content being shared and the background of the member, etc.
In some nonlimiting examples, the communication system can set 5 criteria that include: a user's position within an organization, a user's expertise level in a topic of the shared content, a user's current responsibilities related to the shared content, the existence of another communication with similar or related topic to the shared content, and relevance of the shared content to the user's background (e.g. educational background, work experience, etc.) The communication system can set a threshold of 3 out of the 5 criteria that, if met, would identify a user as key member. If the criteria threshold is not met, then the user is determined as a non-key member. For example, if the user has expertise in the shared content, has engaged in other communications with a similar or related topic to the shared content, and has a background related to the shared content, then the communication system can deem the user a key member because 3 of the 5 criteria have been met.
In yet another example, criteria associated with whether a member is a key member or non-key member may be weighted depending on the importance of each criterion. For example, a user's position in an organization may be assigned a weight of 0.5, the user's expertise level in a topic of the shared content may be assigned a weight of 1, the user's current responsibilities related to the shared content may be assigned a weight of 2, the existence of another communication with similar or related topic to the shared content may be assigned a weight of 1, and the relevance of the shared content to the user's background may be assigned a weight of 1.5. Each weight can be used as multiplier for the criteria mentioned above. Once the weighted criteria are calculated, if the final numerical value exceeds a predetermined threshold value, then the member is identified as a key member. If the final numerical value does not exceed the predetermined threshold value, then the member is identified as a non-key member. It should be noted that the criteria and the weights may both be assigned by the user. In another embodiment, one of these parameters is assigned by the user while the other one is assigned by the communication server. Different thresholds can be set for different shared content in different chat groups, in various embodiments. It is appreciated that whether the group members are key members or not may be with respect to a plurality of shared content.
In some embodiments, the information regarding group members that are up-to-date as opposed to not up-to-date can be used to modify the online group members, e.g., remove members that are not engaged. Accordingly, the online group members can be modified such that the shared content is more tailored and more relevant to the group members (i.e. once modified). Accordingly, members that are either not interested or not engaged in the shared content can be removed. Moreover, in some embodiments, the communication system may suggest removing non-key members from the online group or may remove the non-key members automatically.
It is appreciated that the group members may be further analyzed to determine the department or organization with which they are associated. As such, statistical information regarding how up-to-date each department is with respect to a particular shared content can be displayed. Accordingly, the group members from a given department may be modified, as desired. It is further appreciated that statistical information regarding how up-to-date members of each department are with respect to a given shared content can be used in creation of future online groups. For illustrative purposes, a group member from a given department that is identified as being very active and engaged can be invited to participate in other online groups and forums. In other words, the identified members from each department of an online group that are engaged and active are portable to other online groups.
It is appreciated that Machine Learning (ML) and Artificial Intelligence (AI) may be used by the communication system to identify key members, to determine the importance of shared content, to modify group members based on engagement level of the group members, etc. For example, various clustering or pattern recognition algorithms for ML can be used to identify key members based on clustering (e.g. organizational relationship of a member to the host, relevance of the shared content to a member's background and prior interactions in other online groups, designation of members as being key members by the online group creator/host, prior behavior of the members, correlation between the title of the online group and members' backgrounds, correlation between the content being shared and the background of the members, etc.). Additionally, various clustering or pattern recognition algorithms for ML can be used to determine the importance level of a shared content based on the group members' activities and interactions associated with the shared content (e.g. a number of group members resharing the shared content, a number of likes a shared content has received, a number of pins associated with a shared content, a number of copy/pastes of the shared content or a portion thereof (e.g. into an email or a search bar of a web browser, etc.), a number of accesses to the uniform resource locator (URL) associated with the shared content, a number of accesses to a proxy URL associated with the shared content, a number of emails having content associated with the shared content, a number or volume of content in other online forums such as other chat groups discussing the shared content, a number of voice calls associated with the shared content, a number of video conferences associated with the shared content, etc.). It is appreciated that ML algorithm may further be used to identify members to be removed from the online group and members to be added to the online group based on their engagement and/or activity level. Moreover, ML algorithms may be used to cluster and group identified group members from different departments and to predict their level of engagement and activity in other online groups, thereby suggesting whether or not any given group member from a particular department should be invited to another online group. It is appreciated that the ML algorithm may be supervised or unsupervised.
It is appreciated that a neural network may use an input layer, one or more hidden layers, and an output layer to train the ML algorithm to identify key members, to determine the importance level of the shared content, to identify members to be removed, and to identify members from different departments and to predict their level of engagement and activity. In some nonlimiting examples, supervised learning may be used for circumstances where members identified as key members are confirmed, and/or where the shared content identified as important is confirmed, and/or where members identified to be removed are confirmed, and/or members from different departments identified based their level of engagement are confirmed. For supervised learning, known input data may be used to gradually adjust the model to more accurately compute the already known output. Once the model is trained, field data is applied as input to the model and a predicted output is generated.
In other embodiments, unstructured learning may be used when supervised learning is unavailable. Training of the neural network using one or more training input matrices, a weight matrix, and one or more known outputs is initiated by one or more computers associated with the online chat system. In an embodiment, a server may run known input data through a deep neural network in an attempt to compute a particular known output. For example, a server uses a first training input matrix and a default weight matrix to compute an output. If the output of the deep neural network does not match the corresponding known output of the first training input matrix, the server adjusts the weight matrix, such as by using stochastic gradient descent, to slowly adjust the weight matrix over time. The server computer then re-computes another output from the deep neural network with the input training matrix and the adjusted weight matrix. This process continues until the computer output matches the corresponding known output. The server computer then repeats this process for each training input dataset until a fully trained model is generated.
In some embodiments, the input layer includes a plurality of training datasets that are stored as a plurality of training input matrices in a database associated with the communication system. The training input data includes, for example, organizational relationship of a member to the host, relevance of the shared content to a member's background and prior interactions in other online groups, designation of members as being key members by the online group creator/host, prior behavior of the members, correlation between the title of the online group and members' backgrounds, correlation between the content being shared and the background of the members, a number of group members resharing the shared content, a number of likes a shared content has received, a number of pins associated with a shared content, a number of copy/pastes of the shared content or a portion thereof (e.g. into an email or a search bar of a web browser, etc.), a number of accesses to the uniform resource locator (URL) associated with the shared content, a number of accesses to a proxy URL associated with the shared content, a number of emails having content associated with the shared content, a number or volume of content in other online forums such as other chat groups discussing the shared content, a number of voice calls associated with the shared content, a number of video conferences associated with the shared content, level of engagement and/or activity, group members from different departments and their level of engagement and activity in other online groups, etc. Any type of input data can be used to train the model.
It is appreciated that the hidden layers represent various computational nodes that represent weighted relationships based on the weight matrix. It is appreciated that the weight of each line may be adjusted overtime as the model is trained. It is appreciated that any number of hidden layers may be used. The output layer may be the identification of members as key members, the content as important content, the members to be removed, the members from different departments identified based on their level of engagement, etc., are known output. It is appreciated that in a structured model, the appropriate designation of members as key members, content as important content, members as members to be remove, members from different departments based on their level of engagement, etc., may be used as a target output for continuously adjusting the weighted relationships of the model. When the model successfully outputs the appropriate output, then the model has been trained and may be used to process live or field data.
Once the neural network is trained, the trained model will accept field data at the input layer. In some embodiments, the field data is live data that is accumulated in real time. In other embodiments, the field data may be current data that has been saved in an associated database. The trained model is applied to the field data in order to generate one or more appropriate output, e.g., identifying key members, importance of shared content, etc.
Before various example embodiments are described in greater detail, it should be understood that the embodiments are not limiting, as elements in such embodiments may vary. It should likewise be understood that a particular embodiment described and/or illustrated herein has elements which may be readily separated from the particular embodiment and optionally combined with any of several other embodiments or substituted for elements in any of several other embodiments described herein.
It should also be understood that the terminology used herein is for the purpose of describing concepts, and the terminology is not intended to be limiting. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the embodiment pertains.
Unless indicated otherwise, ordinal numbers (e.g., first, second, third, etc.) are used to distinguish or identify different elements or steps in a group of elements or steps, and do not supply a serial or numerical limitation on the elements or steps of the embodiments thereof. For example, “first,” “second,” and “third” elements or steps need not necessarily appear in that order, and the embodiments thereof need not necessarily be limited to three elements or steps. It should also be understood that the singular forms of “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
Some portions of the detailed descriptions that follow are presented in terms of procedures, methods, flows, logic blocks, processing, and other symbolic representations of operations performed on a computing device or a server. These descriptions are the means used by those skilled in the arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of operations or steps or instructions leading to a desired result. The operations or steps are those utilizing physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical, optical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system or computing device or a processor. These signals are sometimes referred to as transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present disclosure, discussions utilizing terms such as “storing,” “determining,” “sending,” “receiving,” “generating,” “creating,” “fetching,” “transmitting,” “facilitating,” “providing,” “forming,” “detecting,” “processing,” “updating,” “instantiating,” “identifying,” “rendering,” “utilizing,” “launching,” “calling,” “starting,” “accessing,” “sending,” “conferencing,” “triggering,” “ending,” “suspending,” “terminating,” “monitoring,” “displaying,” “removing”, or the like, refer to actions and processes of a computer system or similar electronic computing device or processor. The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the computer system memories, registers or other such information storage, transmission or display devices.
It is appreciated that present systems and methods can be implemented in a variety of architectures and configurations. For example, present systems and methods can be implemented as part of a distributed computing environment, a cloud computing environment, a client server environment, hard drive, etc. Example embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of computer-readable storage medium, such as program modules, executed by one or more computers, computing devices, or other devices. By way of example, and not limitation, computer-readable storage media may comprise computer storage media and communication media. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.
Computer storage media can include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media can include, but is not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVDs) or other optical storage, solid state drives, hard drives, hybrid drive, or any other medium that can be used to store the desired information and that can be accessed to retrieve that information.
Communication media can embody computer-executable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. Combinations of any of the above can also be included within the scope of computer-readable storage media.
A host or an administrator or any online user may create an online group/team using the communication system 130. For example, a host may enter a team title in the team title 120 field of a graphical user interface (GUI) 110. The host may select users 102, 103, 105, 107, and 108 from users (X number of users, e.g., 101, 102, 103, 104, 105, 106, 107, 108, . . . , 109) to form the online group/team. The online group/team may be a chat team or webinar or a team for videoconferencing as illustrative examples. The selected users may be transmitted to the communication system 130 to form the online group/team.
As described above, it may be desirable to determine the relevance and/or importance of the shared content to the online group and how up-to-date the team members are with respect to the content being shared. It is further desirable to determine the level of engagement of the team members with the shared content.
At step 230, a first subset of online users from the plurality of online users that have accessed the first electronic data is identified. At step 240, a second subset of online users from the plurality of online users that have accessed the second electronic data is identified. It is appreciated that the first and the second subset of online users may be exclusive of one another or may have an overlap of users. It is appreciated that the determined subset of online users may be represented by a numerical value, e.g., 5 users, 7 users, etc., or it may be represented statistically, e.g., 42%, 73%, etc. It is appreciated that at step 250, statistical data associated with the first subset of online users and the second subset of online users is displayed in a GUI. For example, the display may indicate that 12 users have accessed and are caught up with the first content whereas just 5 users have accessed and are caught up with the second content. In some nonlimiting examples, the statistical data may be displayed as a percentage, e.g., 27% of users are caught up with the first electronic data whereas just 12% of users are caught up with the second electronic data. It is appreciated that the determining at steps 230 and 240 may occur at any point after each respective content is shared. It is appreciated that the displaying at step 250 may occur after the determination in steps 230 and 240.
It is appreciated that whether an online user is a key member depends on various factors. For example, whether an online user is a key member for a given online group may be based on organizational relationship of that member to the host or the creator of the online group, e.g., an online user being a direct report of the group creator may be a strong indication that the online user is a key member whereas an online user being in a different department and having never collaborated on any project with the group creator may be a strong indication that the online user is not a key member. It is appreciated that a host or administrator may delegate responsibility of creating a team to a creator. In some embodiments, whether an online user is a key member or not may be further processed and evaluated based on the relevance of the shared content to the background and experience of the member, e.g., the content being shared has a strong correlation with the background of the online user (i.e. similar field of work). In one nonlimiting example, whether an online user is a key member or not may be based on a designation of the member as being a key member by the group creator (i.e. “required” when the online team is being created). In some nonlimiting examples, an online user may be determined to be a key members based on the user's past behavior, e.g., if the online user has kept up with the content and has been engaged with other groups and active in sharing content, then that could be a strong indication that the user is a key member. In some nonlimiting examples, correlation between the title of the online group and the background of the online member may be used to determine whether the online member is a key member. Similarly, correlation between the content being shared and the background of the group member may be used to determine whether the online user is a key member, e.g., a strong correlation between the content being shared and the job description and/or background of the online user may be indicative of the fact that the online user is a key member. It is appreciated that the determination of key members and whether the members are caught up with the shared content may be displayed in a GUI. It is appreciated that an ML algorithm, as described above, may be used to determine whether a user is a key member or non-key member.
It is appreciated that in some embodiments, activities associated with the content being shared may be monitored to determine the importance of a shared content.
At step 830, a subset of the online users to be removed from the online group may be identified. In some embodiments, the information regarding group members that are up-to-date as opposed to not up-to-date can be used to modify the online group members, e.g., identify members to be removed based on engagement level, “how” up-to-date the members are (i.e. statistical data as discussed in
It is appreciated that the group members may be further analyzed to determine the department or organization with which they are associated. As such, statistical information regarding how up-to-date each department is with respect to a particular shared content can be displayed. Accordingly, the group members from a given department may be modified, as desired. It is further appreciated that statistical information regarding how up-to-date members of each department are with respect to a given shared content can be used in creation of future online groups. For illustrative purposes, a group member from a given department that is identified as being very active and engaged can be invited to participate in other online groups and forums. In other words, the identified members from each department of an online group that are engaged and active are portable to other online groups.
At step 850, a department associated with the first subset of online users (i.e. users that have accessed the first electronic data) is determined. Similarly, at step 860, a department associated with the second subset of online users (i.e. users that have accessed the second electronic data) is determined. It is appreciated that the process may be repeated for each shared content. According to some embodiments, at step 870, statistical data associated with the first and the second subset of online users and their respective departments may be displayed in a GUI. It is appreciated that at least one member from each department may be identified based on the member's level of engagement, activity, etc. As such, the identified member may be recommended to be included into other online groups in order to facilitate a more engaged and active online group outcome.
It is appreciated that ML and AI may be used by the communication system 130 for various pattern identification, clustering, etc. For example, ML algorithms may be leveraged to identify key members, to determine the importance of shared content, to modify group members based on engagement level of the group members, to identify members from different departments and to predict their level of engagement and activity in other online groups, to suggest certain members to be invited to another online group, etc.
Referring now to
According to some examples, computer system 1100 performs specific operations in which processor 1104 executes one or more sequences of one or more instructions stored in system memory 1106. Such instructions can be read into system memory 1106 from another computer readable medium, such as static storage device 1108 or disk drive 1110. In some examples, hard-wired circuitry can be used in place of or in combination with software instructions for implementation. In the example shown, system memory 1106 includes modules of executable instructions for implementing an operating system (“OS”) 1132, an application 1136 (e.g., a host, server, web services-based, distributed (i.e., enterprise) application programming interface (“API”), program, procedure or others). Further, application 1136 includes a module of executable instructions for access determiner module 1138 that determines whether a particular content has been accessed by each respective member of the online group, key member determiner module 1141 to determine whether a member is a key member or non-key member of the online group, content value determiner module 1139 that determines the importance of a content, member modifier module 1140 to identify modifications to be made to the composition of the online group, and a reminder module 1142 to generate and transmit a reminder signal to encourage members that are not caught up with certain content to catch up.
The term “computer readable medium” refers, at least in one embodiment, to any medium that participates in providing instructions to processor 1104 for execution. Such a medium can take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as disk drive 1110. Volatile media includes dynamic memory, such as system memory 1106. Transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise bus 1102. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Common forms of computer readable media include, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, electromagnetic waveforms, or any other medium from which a computer can read.
In some examples, execution of the sequences of instructions can be performed by a single computer system 1100. According to some examples, two or more computer systems 1100 coupled by communication link 1120 (e.g., LAN, PSTN, or wireless network) can perform the sequence of instructions in coordination with one another. Computer system 1100 can transmit and receive messages, data, and instructions, including program code (i.e., application code) through communication link 1120 and communication interface 1112. Received program code can be executed by processor 1104 as it is received, and/or stored in disk drive 1110, or other non-volatile storage for later execution. In one embodiment, system 1100 is implemented as a hand-held device. But in other embodiments, system 1100 can be implemented as a personal computer (i.e., a desktop computer) or any other computing device. In at least one embodiment, any of the above-described delivery systems can be implemented as a single system 1100 or can implemented in a distributed architecture including multiple systems 1100.
In other examples, the systems, as described above can be implemented from a personal computer, a computing device, a mobile device, a mobile telephone, a facsimile device, a personal digital assistant (“PDA”) or other electronic device.
In at least some of the embodiments, the structures and/or functions of any of the above-described interfaces and panels can be implemented in software, hardware, firmware, circuitry, or a combination thereof. Note that the structures and constituent elements shown throughout, as well as their functionality, can be aggregated with one or more other structures or elements.
Alternatively, the elements and their functionality can be subdivided into constituent sub-elements, if any. As software, the above-described techniques can be implemented using various types of programming or formatting languages, frameworks, syntax, applications, protocols, objects, or techniques, including C, Objective C, C++, C #, Flex™, Fireworks®, Java™, Javascript™, AJAX, COBOL, Fortran, ADA, XML, HTML, DHTML, XHTML, HTTP, XMPP, and others. These can be varied and are not limited to the examples or descriptions provided.
While the embodiments have been described and/or illustrated by means of particular examples, and while these embodiments and/or examples have been described in considerable detail, it is not the intention of the Applicants to restrict or in any way limit the scope of the embodiments to such detail. Additional adaptations and/or modifications of the embodiments may readily appear to persons having ordinary skill in the art to which the embodiments pertain, and, in its broader aspects, the embodiments may encompass these adaptations and/or modifications. Accordingly, departures may be made from the foregoing embodiments and/or examples without departing from the scope of the concepts described herein. The implementations described above and other implementations are within the scope of the following claims.