Improving the virtual meeting user experience based on augmented intelligence

An augmented intelligence system generates personalized summaries for virtual conference attendees based on user profiles and participant interactions, addressing disconnection issues by delivering crucial information upon rejoining.

JP7807460B2Active Publication Date: 2026-01-27INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023558790
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-04-15
Filing Date
2022-03-07
Publication Date
2026-01-27
Estimated Expiration
2042-03-07

AI Technical Summary

Technical Problem

Users attending virtual conferences may miss important information due to disconnection, leading to missed host or participant updates, responses, progress reports, or action items.

Method used

An augmented intelligence system prepares a tailored summary of the missed conference portion using speech-to-text and extractive text summarization, incorporating participant weights and user profiles, offering audio, video, or text formats for review upon reconnection.

Benefits of technology

Enhances user experience by providing relevant summaries that align with individual preferences, improving information retrieval and conference engagement upon reconnection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007807460000001
    Figure 0007807460000001
  • Figure 0007807460000002
    Figure 0007807460000002
  • Figure 0007807460000003
    Figure 0007807460000003
Patent Text Reader

Abstract

In an approach for improving a virtual conference user experience, a processor detects a user who is away from a virtual conference including at least two participants for a preset period of time or for a preset percentage of a total allotted time of a pre-scheduled virtual conference. The processor retrieves data from a database. The processor prepares a summary tailored to the user's profile and covering the portion of the virtual conference during which the user was away. The processor detects that the user reconnects to the virtual conference. The processor determines whether the user will review the summary before rejoining the virtual conference. In response to determining that the user will review the summary before rejoining the virtual conference, the processor prompts the user to review the summary using a default set of user preferences. The processor outputs the summary to the user.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of data processing, and more particularly to an augmented intelligence based system and method for improving virtual meeting user experience. [Background technology]

[0002] Augmented intelligence is an alternative conceptualization of artificial intelligence (AI) that emphasizes the supporting role of AI in enhancing human capabilities. Augmented intelligence uses machine learning and deep learning to enhance, rather than replace, human intelligence. Augmented intelligence enhances human intelligence by improving human decision-making, which in turn allows actions to be taken in response to the improved decisions.

[0003] Machine learning describes an AI's ability to learn and improve from experience without additional programming. Natural language processing, which enables computers to identify human language, is an example of machine learning. Deep learning describes an AI process that mimics the human brain's ability to process data and examine patterns.

[0004] A key difference between augmented intelligence and AI is the difference in autonomy. Augmented intelligence processes large amounts of data that would otherwise overwhelm a human decision maker and removes factors such as bias, fatigue, or distraction that would cause the data to be distorted or misinterpreted. Augmented intelligence analyzes the data, identifies patterns, and reports those patterns to the user, after which human intelligence can take over. Augmented intelligence enables the system to learn from the user about their individual preferences and expectations, providing a personalized experience tailored to their preferences.

[0005] An example of augmented intelligence is viewing recommendations provided by a streaming video service. Augmented intelligence algorithms analyze a user's viewing habits and recommend additional viewings based on those habits. The user is then responsible for deciding whether to act on the recommendations. Augmented intelligence also has applications in any industry, mining big data for patterns and predictive indicators. Examples include, but are not limited to, online stores that use data analytics to predict customer preferences, virtual customer service assistants based on natural language processing, political think tanks that use big data analytics to identify swing voters, medical analysis of case files to identify efficient treatment options, factory automation overseen by human employees, predictive maintenance of factory equipment based on historical data, mobile video games that use surrounding environment and data to create augmented reality events and overlay computer-generated images on smartphone camera screens, autopilot systems for airplanes and drones, and investment and finance applications that monitor and identify stock market patterns.

[0006] AI, on the other hand, operates without any human assistance. Examples of AI are email spam filters or AI-powered search suggestions. Summary of the Invention

[0007] Aspects of an embodiment of the present invention disclose a method, computer program product, and computer system for improving a virtual conference user experience. A processor detects a user who has been absent from a virtual conference including at least two or more participants for a preset period of time or a preset percentage of the pre-scheduled virtual conference's allotted total time. The processor retrieves from a database a first set of data about the user, a second set of data about at least two participants in the virtual conference, and a third set of data about relationships between the user and the at least two participants in the virtual conference. The processor prepares a summary tailored to the user's profile and covering the portion of the virtual conference during which the user was absent. The processor detects that the user reconnects to the virtual conference. The processor determines whether the user will review the summary before rejoining the virtual conference based on preset user preferences, a user-made decision, or a machine-driven recommendation. In response to determining that the user will review the summary before rejoining the virtual conference, the processor prompts the user to review the summary using a default set of user preferences. The processor outputs the summary to the user.

[0008] In some aspects of embodiments of the present invention, after outputting the summary to the user, the processor compares the summary with a playback of the full recording of the virtual meeting. The processor requests feedback from the user. The processor receives feedback from the user. The processor uses reinforcement learning to improve the accuracy of multiple future summaries that are prepared. The processor stores the feedback from the user in a database.

[0009] In some aspects of embodiments of the present invention, a processor identifies two or more participants of a virtual conference. The processor assigns weights to the two or more participants of the virtual conference based on a first set of factors. The processor ranks the two or more participants of the virtual conference based on the weights assigned to the two or more participants.

[0010] In some aspects of embodiments of the present invention, a processor extracts a plurality of audio frames, a plurality of video frames, and a plurality of audio and video frames from a portion of the virtual conference during which the users were disconnected after ranking at least two participants of the virtual conference based on weights assigned to the at least two participants, and identifies a context for the plurality of audio frames, the plurality of video frames, and the plurality of audio and video frames to understand one or more topics of the virtual conference.

[0011] In some aspects of embodiments of the present invention, the processor identifies contexts of the audio frames, the video frames, and the audio and video frames to understand one or more topics of the virtual conference, and then selects a subset of the audio frames, a subset of the video frames, and a subset of the audio and video frames based on whether the audio frames, the video frames, and the audio and video frames are relevant to a user's profile. The processor ranks the subsets of the audio frames, the subsets of the video frames, and the subsets of the audio and video frames using an algorithmic method or a second set of factors. The processor merges the subsets of the audio frames, the subsets of the video frames, and the subsets of the audio and video frames ranked above an algorithmically determined threshold. The processor prepares a unified summary of a subset of the plurality of audio frames ranked above an algorithmically determined threshold, a unified summary of a subset of the plurality of video frames ranked above an algorithmically determined threshold, and a unified summary of a subset of the plurality of audio and video frames ranked above an algorithmically determined threshold.

[0012] In some aspects of embodiments of the present invention, a processor prepares an integrated summary of a subset of the plurality of audio frames ranked above an algorithmically determined threshold, an integrated summary of a subset of the plurality of video frames ranked above an algorithmically determined threshold, and an integrated summary of a subset of the plurality of audio and video frames ranked above an algorithmically determined threshold, and then converts the integrated summary into one or more sentences using an extractive text summarization algorithm. The processor applies speaker diarization. The processor ranks the one or more sentences based on a third set of factors. The processor retains the subset of one or more sentences ranked above a second threshold based on a second preset user preference or a second machine-driven recommendation.

[0013] In some aspects of embodiments of the present invention, the processor identifies one or more keywords within the subset of one or more sentences after retaining the subset of one or more sentences ranked above a second threshold based on a second preset user preference or a second machine-driven recommendation. The processor assigns weights to one or more keywords within the subset of one or more sentences based on the relevance of the one or more keywords to one or more topics of the virtual conference and based on the relevance of the one or more keywords to at least two participants of the virtual conference. The processor tags the subset of one or more sentences with the one or more keywords.

[0014] In some aspects of embodiments of the present invention, the processor prepares a global ranking incorporating at least two participants, the one or more keywords, and the one or more subsets of sentences after tagging the one or more subsets of sentences with the one or more keywords. The processor prepares a summary tailored to the user's profile based on the global ranking.

[0015] In some aspects of embodiments of the present invention, the first set of data regarding the user, the second set of data regarding the at least two participants in the virtual conference, and the third set of data regarding relationships between the user and the at least two participants in the virtual conference collected from the database include a profile created by the user, a company profile of the user, the user's calendar, one or more profiles created by the at least two participants in the virtual conference, company profiles of the at least two participants in the virtual conference, calendars of the at least two participants in the virtual conference, one or more presentation tools used by the at least two participants in the virtual conference, and data from one or more previous virtual conferences hosted, participated in, or attended by the user.

[0016] In some aspects of embodiments of the present invention, a processor captures the time during the virtual conference when the user reconnects, and calculates the total duration of time that the user was disconnected from the virtual conference.

[0017] In some aspects of embodiments of the present invention, the set of default user preferences for reviewing summaries includes language preferences, viewing mode preferences, audio preferences, and subtitle preferences.

[0018] In some aspects of embodiments of the present invention, a processor extracts a first set of one or more key entities from the summary and a second set of one or more key entities from the full recording of the virtual conference, and the processor matches the first set of one or more key entities from the summary with the second set of one or more key entities from the full recording of the virtual conference.

[0019] In some aspects of embodiments of the present invention, the processor provides the user with three or more choices representing the user's satisfaction level, the three or more choices including dissatisfied, neutral, and satisfied.

[0020] In some aspects of embodiments of the present invention, the first set of factors includes the roles of the at least two participants in the virtual conference, the roles of the at least two participants in the enterprise, and the association of the at least two participants with a user away from the virtual conference.

[0021] In some aspects of embodiments of the present invention, the algorithmically determined threshold is dynamic and is set to fit the training data set.

[0022] In some aspects of embodiments of the present invention, the second set of factors includes whether the frame includes the name of a user who has disconnected from the virtual conference, a ranking of the at least two participants, and an association of the at least two participants with the user who has disconnected from the virtual conference based on the user's technology interests, based on the user's expertise, or based on past analysis.

[0023] In some aspects of embodiments of the present invention, a processor detects changes between at least two participants in a plurality of frames of audio, and the processor groups segments of audio together based on characteristics of the at least two participants.

[0024] In some aspects of embodiments of the present invention, the third set of factors includes the roles of at least two participants in the virtual meeting and the relevance of the one or more statements to one or more topics of the virtual meeting. [Brief explanation of the drawings]

[0025] [Figure 1] 1 is a functional block diagram illustrating a distributed data processing environment in accordance with an embodiment of the present invention. [Figure 2] 2 is a flowchart illustrating the operational steps of a configuration component of a user-specific abstraction program in a distributed data processing environment, such as the distributed data processing environment shown in FIG. 1, in accordance with an embodiment of the present invention. [Figure 3]2 is a flowchart illustrating the operational steps of a user-specific abstraction program in a distributed data processing environment, such as the distributed data processing environment illustrated in FIG. 1, in accordance with an embodiment of the present invention. [Figure 4] 2 is a flowchart illustrating the operational steps of a machine learning component of a user-specific summarization program in a distributed data processing environment, such as the distributed data processing environment shown in FIG. 1, according to an embodiment of the present invention. [Figure 5] 2 is a block diagram of components of a computing device in a distributed data processing environment, such as the distributed data processing environment shown in FIG. 1, according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0026]

[0006] Embodiments of the present invention recognize that problems may occur during a conference on a virtual collaboration server tool. For example, technical issues may cause a user to be disconnected from the conference. Due to this disconnection, the user may miss important information, such as a host's or another participant's information about an issue or topic, a host's response to another participant's question or concern, a progress report of actions taken by a participant, or expected takeaways and action items directed to the user who was disconnected from the conference.

[0027] Embodiments of the present invention provide an augmented intelligence based system and method for improving virtual meeting user experience. Embodiments of the present invention propose preparing a summary tailored to the profile of a user who is away from a meeting on a virtual collaboration server tool, covering the portion of the meeting while the user was away.

[0028] Embodiments of the present invention detect when a user leaves a conference, either explicitly or implicitly. After detecting the user's departure, embodiments of the present invention apply the concepts of speech-to-text summarization using (1) merging and (2) extractive text summarization algorithms to the audio and / or video frames extracted from the portion of the conference during which the user was disconnected.

[0029] Embodiments of the present invention use speaker diarization to divide sentences into homogeneous segments according to participant identification information and identify keywords from the participants' sentences. Embodiments of the present invention assign weights to participants and keywords. Embodiments of the present invention prepare a global ranking that incorporates the identified and weighted participants, the identified and weighted keywords, and the ranked sentences.

[0030] Embodiments of the present invention reduce sentences to short summaries in the form of either a 30-second video or a page of text. Embodiments of the present invention tailor summaries to the profile of users away from meetings on a virtual collaboration server tool using factors such as each user's company profile, the user's company hierarchy, the user's position within the company hierarchy, the user's seniority within the user's company, the user's primary job, the user's primary job function, the user's technology interests, the user's expertise, and the user's history of involvement in meetings the user has hosted, participated in, or attended. Embodiments of the present invention also consider calculated speech recognition confidence scores and intent confidence scores as part of the summarization process.

[0031] Embodiments of the present invention leverage the weight of a user's relationships with other participants to determine when to prompt a user to use the summary after the user reconnects to the conference. Embodiments of the present invention provide users with the option to play a summary during or after the conference. Embodiments of the present invention also provide users with the option to play a summary that includes audio, video, subtitles, or any combination of the three formats.

[0032] An embodiment of the present invention collects feedback from users to improve future preparation of summaries.

[0033] Implementations of embodiments of the present invention may take a variety of forms, and details of exemplary implementations are described below with reference to the figures.

[0034] FIG. 1 is a functional block diagram illustrating a distributed data processing environment (generally designated 100) in accordance with one embodiment of the present invention. In the illustrated embodiment, distributed data processing environment 100 includes server 120 and user computing devices 130 interconnected via network 110. Distributed data processing environment 100 may include additional servers, computers, computing devices, IoT sensors, and other devices not shown. FIG. 1 is merely provided as an example of one embodiment of the present invention and is not intended to imply any limitation with regard to the environments in which various embodiments may be implemented. Many modifications to the illustrated environment may be made by those skilled in the art without departing from the scope of the present invention as recited in the claims.

[0035] Network 110 operates as a computing network that can be, for example, a telecommunications network, a local area network, a wide area network such as the Internet, or a combination of the three, and can include wired, wireless, or fiber optic connections. Network 110 can include one or more wired and / or wireless networks capable of receiving and transmitting data, audio, and / or video signals, including multimedia signals containing data, audio, and video information. In general, network 110 can be any combination of connections and protocols that support communication between server 120, user computing devices 130, and other computing devices (not shown) in distributed data processing environment 100.

[0036] Server 120 operates to execute user-specific summarization program 122 and transmit and / or store data in database 126. In embodiments, server 120 may transmit data from database 126 to user computing device 130. In embodiments, server 120 may receive data in database 126 from user computing device 130. In one or more embodiments, server 120 may be a standalone computing device, an administrative server, a web server, a mobile computing device, or any other electronic device or computing system capable of receiving, transmitting, and processing data. In one or more embodiments, server 120 may be a computing system utilizing clustered computers and components (e.g., database server computers, application server computers, etc.) that function as a single pool of seamless resources when accessed within distributed data processing environment 100, such as within a cloud computing environment. In one or more embodiments, server 120 can be a laptop computer, a tablet computer, a netbook computer, a personal computer, a desktop computer, a personal digital assistant, a smartphone, or any programmable electronic device capable of communicating with user computing devices 130 and other computing devices (not shown) in distributed data processing environment 100 via network 110. Server 120 may include internal and external hardware components, as shown and described in further detail in FIG.

[0037] The user-specific summary program 122 operates to prepare a summary tailored to the profile of a user who is away from a conference on the virtual collaboration server tool, covering the portion of the conference while the user was away.

[0038] In the illustrated embodiment, the user-specific summarization program 122 includes a machine learning component 124. In the illustrated embodiment, the user-specific summarization program 122 is a standalone program. In another embodiment, the user-specific summarization program 122 may be integrated into another software product, such as a virtual conferencing software package. In the illustrated embodiment, the user-specific summarization program 122 resides on the server 120. In other embodiments, the user-specific summarization program 122 may reside on the user computing device 130 or another computing device (not shown), provided that the user-specific summarization program 122 has access to the network 110.

[0039] In an embodiment, a user opts in to the user-specific summarization program 122 and sets up a user profile using the user-specific summarization program 122. The set-up components of the user-specific summarization program 122 are shown and described in further detail with respect to Figure 2. The operational steps of the user-specific summarization program 122 are shown and described in further detail with respect to Figure 3. The operational steps of the machine learning component 124 of the user-specific summarization program 122 are shown and described in further detail with respect to Figure 4.

[0040] The database 126 acts as a repository of data received, used, and / or generated by the user-specific summarization program 122. The database is a structured collection of data, including, but not limited to, a plurality of user profiles including information entered by the user during setup regarding each user's company profile, the user's company hierarchy, the user's position within the company hierarchy, the user's seniority within the user's company, the user's primary job, the user's primary job function, the user's technology interests, and the user's expertise; data from a current meeting on the virtual collaboration server tool and / or data from previous meetings on the virtual collaboration server tool that the user hosted, participated in, or attended (i.e., audio frames, video frames, or audio and video frames); user preferences; alert notification preferences; and any other data received, used, and / or generated by the user-specific summarization program 122.

[0041] Database 126 may be implemented using any type of device capable of storing data and configuration files that can be accessed and utilized by server 120, such as a hard disk drive, a database server, or flash memory. In an embodiment, database 126 is accessed by user-specific summarization program 122 to store data, access data, or both. In the illustrated embodiment, database 126 resides on server 120. In another embodiment, database 126 may reside on another computing device, server, cloud server, or be distributed across multiple devices (not shown) anywhere in distributed data processing environment 100, provided that user-specific summarization program 122 has access to database 126.

[0042] The present invention may include various accessible data sources, such as databases 126, that may contain personal and / or business-sensitive data, content, or information that a user desires not to be processed. Processing refers to any automated or non-automated operation or set of operations, such as collecting, recording, organizing, structuring, storing, adapting, altering, retrieving, consulting, using, disclosing by transmitting, disseminating, or otherwise making available, combining, restricting, erasing, or destroying personal and / or business-sensitive data. The user-specific abstraction program 122 enables authorized and secure processing of personal data. All storage of data in databases 126 must be performed in accordance with local law and any appropriate authorizations obtained.

[0043] The user-specific summarization program 122 provides informed consent along with notice of the collection of personal data and / or trade sensitive data, allowing the user to opt in or out of processing the personal data and / or trade sensitive data. Consent can take multiple forms. Opt-in consent can force the user to take affirmative action before the personal data and / or trade sensitive data is processed. Alternatively, opt-out consent can force the user to take affirmative action to prevent the processing of the personal data and / or trade sensitive data before the personal data and / or trade sensitive data is processed. The user-specific summarization program 122 provides information about the personal data and / or trade sensitive data and the nature of the processing (e.g., type, scope, purpose, duration, etc.). The user-specific summarization program 122 provides the user with a copy of the stored personal data and / or trade sensitive data. The user-specific summarization program 122 allows for the correction or completion of incorrect or incomplete personal data and / or trade sensitive data. The user-specific digest program 122 allows for the immediate deletion of personal and / or confidential business data.

[0044] The user computing device 130 operates to execute the user interface 132 and is associated with a user. In an embodiment, the user computing device 130 may be an electronic device such as a laptop computer, a tablet computer, a netbook computer, a personal computer, a desktop computer, a smartphone, or any programmable electronic device capable of executing the user interface 132 and communicating (i.e., sending data to and receiving data from) the user-specific summary program 122 over the network 110. In the illustrated embodiment, the user computing device 130 includes an instance of the user interface 132. The user computing device 130 may include components as described in further detail in FIG. 5 .

[0045] The user interface 132 acts as a local user interface between the user-specific summarization program 122 on the server 120 and the user of the user computing device 130. In some embodiments, the user interface 132 is a graphical user interface (GUI), a web user interface (WUI), or a voice user interface (VUI), or a combination thereof, and can display (i.e., visually display) or present (i.e., audibly present) text, documents, web browser windows, user choices, application interfaces, and instructions for operation sent to the user from the user-specific summarization program 122 over the network 110. The user interface 132 can also display or present alert notifications containing information (e.g., graphics, text, and / or sound) sent to the user from the user-specific summarization program 122 over the network 110. In an embodiment, the user interface 132 can transmit and receive data (i.e., to and from, respectively, the user-specific summary program 122 over the network 110).

[0046] Through the user interface 132, users can opt in to the user-specific summary program 122, create a user profile, enter information about each user's company profile, the user's company hierarchy, the user's position within the company hierarchy, the user's seniority within the user's company, the user's primary job, the user's primary job function, the user's technology interests, and the user's expertise, and set user preferences and alert notification preferences.

[0047] User preferences are settings that can be customized for a particular user. A set of default user preferences is assigned to each user of the user-specific summarization program 122. A user preference editor can be used to update values ​​to change the default user preferences. User preferences that can be customized include, but are not limited to, general user system settings, specific user profile settings for the user-specific summarization program 122, alert notification settings, and machine-learned data collection / storage settings. Machine-learned data includes, but is not limited to, past results of iterations of the user-specific summarization program 122 and data regarding the user's previous responses to alert notifications sent by the user-specific summarization program 122. The machine-learned data comes from the user-specific summarization program 122, which is tailored to the user's profile when they are away from a meeting on the virtual collaboration server tool, self-learns how to prepare a summary covering the portion of the meeting while the user was away, and whether to prompt the user to review the summary before rejoining the meeting. The user-specific summarization program 122 self-learns by tracking the user's activities and improves with each iteration of the user-specific summarization program 122 .

[0048] FIG. 2 is a flowchart generally designated 200 illustrating operational steps of a configuration component of a user-specific summarization program 122 in the distributed data processing environment 100 of FIG. 1 in accordance with an embodiment of the present invention. In an embodiment, the user-specific summarization program 122 completes a one-time configuration with a user who hosts, joins, or attends a conference on the virtual collaboration server tool. The one-time configuration enables the user-specific summarization program 122 to capture relevant information about the user to create a user profile. In an embodiment, the user-specific summarization program 122 receives a request to opt in from the user. In an embodiment, the user-specific summarization program 122 requests information from the user. In an embodiment, the user-specific summarization program 122 receives the requested information from the user. In an embodiment, the user-specific summarization program 122 creates a user profile. In an embodiment, the user-specific summarization program 122 stores the user profile. It should be understood that the process shown in FIG. 2 illustrates one possible iteration of the user-specific summary program 122, and this process may be repeated for each opt-in request received by the user-specific summary program 122.

[0049] In step 210, the user-specific summary program 122 receives a request from the user to opt in. In an embodiment, the user-specific summary program 122 receives a request from the user to opt in to the user-specific summary program 122. In an embodiment, the user-specific summary program 122 receives a request from the user to opt in to the user-specific summary program 122 via the user interface 132 of the user computing device 130. By opting in, the user agrees to share their data with the database 126.

[0050] In step 220, the user-specific summarization program 122 requests information from the user. In an embodiment, the user-specific summarization program 122 requests information from the user via the user interface 132 of the user computing device 130. The information requested from the user includes, but is not limited to, information about user preferences (e.g., general user system settings, such as alert notifications on the user computing device 130), information about alert notification preferences (e.g., an alert notification is sent when the user reconnects to a meeting from which the user left, or an alert notification is sent when a meeting from which the user left completes), and information necessary to create a user profile (e.g., information about each user's company profile, the user's company hierarchy, the user's position within the company hierarchy, the user's seniority within the user's company, the user's primary job, the user's primary job function, the user's technology interests, and the user's expertise). In an embodiment, in response to the user-specific summarization program 122 receiving a request to opt in from the user, the user-specific summarization program 122 requests information from the user.

[0051] In step 230, the user-specific summary program 122 receives the requested information from the user. In an embodiment, the user-specific summary program 122 receives the requested information from the user via the user interface 132 of the user computing device 130. In an embodiment, the user-specific summary program 122 receives the requested information from the user in response to the user-specific summary program 122 requesting information from the user.

[0052] In step 240, the user-specific summary program 122 creates a user profile. In an embodiment, the user-specific summary program 122 creates a user profile for the user. In an embodiment, the user-specific summary program 122 creates a user profile that includes the user's preferences and the user's alert notification preferences in addition to information entered by the user during setup for the user. In an embodiment, in response to the user-specific summary program 122 receiving the requested information from the user, the user-specific summary program 122 creates the user profile.

[0053] In step 250, the user-specific summary program 122 stores the user profile. In an embodiment, the user-specific summary program 122 stores the user profile in a database (e.g., database 126). In an embodiment, in response to the user-specific summary program 122 creating the user profile, the user-specific summary program 122 stores the user profile.

[0054] 3 is a flowchart generally designated 300 illustrating operational steps of the user-specific summarization program 122 in the distributed data processing environment 100 of FIG. 1 in accordance with an embodiment of the present invention. In an embodiment, the user-specific summarization program 122 operates to detect when a user is away from a conference on the virtual collaboration server tool, prepare a summary tailored to the user's profile while away from the conference on the virtual collaboration server tool and covering the portion of the conference while the user was disconnected, provide the summary to the user when the user reconnects to the conference, and collect feedback from the user to assist the user-specific summarization program 122 in preparing more tailored summaries in future iterations. It should be understood that the process illustrated in FIG. 3 illustrates one possible iteration of the process flow, and this process may be repeated for each conference the user hosts, joins, or attends on the virtual collaboration server tool.

[0055] In step 305, the user-specific summarization program 122 detects when a user leaves a meeting on a virtual collaboration server tool (e.g., Cisco Webex®, Zoom®, Google Meet®, Microsoft® Teams, etc.). In an embodiment, the user-specific summarization program 122 detects when a user leaves a meeting on a virtual collaboration server tool in which one or more hosts and two or more participants are present. In an embodiment, the user-specific summarization program 122 detects when a user leaves a meeting on a virtual collaboration server tool in which a host and / or participants utilize one or more presentation tools (e.g., Microsoft® PowerPoint slides, Microsoft® Excel files, spreadsheets, web pages, diagrams, flowcharts, etc.).

[0056] In an embodiment, the user-specific summary program 122 detects explicit user departures initiated by the user (e.g., the user changes their status to away, the user signs out of a meeting, etc.). In one or more embodiments, the user-specific summary program 122 detects implicit user departures caused by technical issues (e.g., network connection issues, device failure, power outage, etc.).

[0057] In a first example, User A, a computer science student, attends User A's online virtual class on a virtual collaboration server tool. One day, while attending class, User A experiences network connection problems. Due to the network connection problems experienced by User A, User A is disconnected from User A's online virtual class. The user-specific summary program 122 detects User A's implicit withdrawal from User A's online virtual class.

[0058] In a second example, User B, an employee of a technology company, works from home. User B frequently holds team meetings with User B's team on a virtual collaboration server tool. During one of User B's team meetings, User B disconnects from the team meeting to address a personal emergency. The user-specific summary program 122 detects User B's explicit withdrawal from User B's team meeting.

[0059] In a third example, user C, a taxpayer for city X, attends online city council meetings for city X on the virtual collaboration server tool. During one of the online city council meetings for city X that user C was attending, user C disconnects from the meeting to take a break. The user-specific summary program 122 detects user C's explicit withdrawal from the online city council meeting for city X.

[0060] In an embodiment, the user-specific summarization program 122 detects when a user leaves a conference on the virtual collaboration server tool for a preset period of time that is greater than 10 minutes but less than 30 minutes. In one or more embodiments, the user-specific summarization program 122 detects when a user leaves a conference on the virtual collaboration server tool for a preset percentage of the pre-scheduled conference's total allotted time (e.g., whether the user leaves for 10 percent to 25 percent (e.g., 6 to 15 minutes) of the pre-scheduled conference's total allotted time (e.g., 60 minutes)).

[0061] In an embodiment, the user-specific summary program 122 captures the start time of a conference on the virtual collaboration server tool. In an embodiment, the user-specific summary program 122 captures the start time of a user's withdrawal (i.e., the time during the conference when the user explicitly or implicitly disconnects).

[0062] In step 310, the user-specific summarization program 122 retrieves the data. In an embodiment, the user-specific summarization program 122 retrieves the data for the purpose of preparing a summary tailored to the profile of the user who is away from the conference on the virtual collaboration server tool and covering the portion of the conference while the user was disconnected.

[0063] In an embodiment, the user-specific summarization program 122 retrieves data about the user. In one or more embodiments, the user-specific summarization program 122 retrieves data about other participants in the conference. In one or more embodiments, the user-specific summarization program 122 retrieves data about connections between the user and other participants in the conference. In one or more embodiments, the user-specific summarization program 122 retrieves data about interactions between participants, including specific calls of participants, questions asked by participants, and answers provided to questions asked by participants. In one or more embodiments, the user-specific summarization program 122 retrieves data about the topic of the conference.

[0064] In an embodiment, the user-specific summarization program 122 retrieves data from sources including, but not limited to, the user profile created in step 240, the user's company profile, the user's calendar, other participants' user profiles, other participants' company profiles, other participants' calendars, one or more presentation tools (e.g., Microsoft® PowerPoint slides, Microsoft® Excel files, spreadsheets, web pages, diagrams, flowcharts, etc.) used by the host and / or participants, and data stored in a database (e.g., database 126) from previous meetings hosted, participated in, or attended by the user. While examples of the user-specific summarization program 122 retrieving data are described herein using separate methods, it should be noted that the user-specific summarization program 122 may retrieve data via one or more combinations of the above embodiments. In an embodiment, the user-specific summarization program 122 retrieves data in response to detecting when the user has left the meeting on the virtual collaboration server tool.

[0065] In step 315, the user-specific summarization program 122 prepares a summary. In an embodiment, the user-specific summarization program 122 prepares a summary tailored to the profile of the user who is away from the conference on the virtual collaboration server tool, covering the portion of the conference during which the user was disconnected. In an embodiment, the user-specific summarization program 122 prepares the summary by applying concepts of speech-to-text summarization using (1) merging and (2) extracting text summarization algorithms. In an embodiment, after the user-specific summarization program 122 detects the user's departure, an embodiment of the present invention prepares the summary by applying concepts of speech-to-text summarization using (1) merging and (2) extracting text summarization algorithms to audio frames and / or video frames extracted from the portion of the conference during which the user was disconnected. In an embodiment, the user-specific summarization program 122 prepares a summary by applying the concepts of speech-to-text summarization using (1) merging and (2) extractive text summarization algorithms to one or more presentation tools (e.g., Microsoft® PowerPoint slides, Microsoft® Excel files, spreadsheets, web pages, diagrams, flowcharts, etc.) used by the host and / or participants.

[0066] Extractive text summarization algorithms are applied by identifying and extracting important sentences and other salient information from a given audio, video, or text file, or a combination thereof. Weights are assigned to the sentences extracted from the text file, and the sentences are ranked based on their particular weight. Highly ranked sentences are grouped together to form a concise summary. Stated another way, extractive text summarization algorithms are applied by identifying and generating verbatim important sections of text, generating a subset of sentences from the original text as a summary.

[0067] Step 315 is described in further detail with respect to flowchart 400 of Figure 4. In an embodiment, in response to the user-specific summary program 122 retrieving the data, the user-specific summary program 122 prepares a summary.

[0068] In step 320, the user-specific summarization program 122 detects when the user reconnects to the conference on the virtual collaboration server tool. In an embodiment, the user-specific summarization program 122 captures the user's re-engagement time (i.e., the time during the conference when the user reconnects). In an embodiment, the user-specific summarization program 122 calculates the total duration of the user's disengagement period (i.e., the total duration of time the user was disconnected from the conference). If the user-specific summarization program 122 determines that the total duration of the user's disengagement period is longer than a preset period or a preset percentage of the pre-scheduled conference's allotted total time, the user-specific summarization program 122 does not output a summary to the user. In an embodiment, in response to the user-specific summarization program 122 preparing a summary, the user-specific summarization program 122 detects when the user reconnects to the conference on the virtual collaboration server tool.

[0069] In a first example, User A reconnects to User A's online virtual class within 10 minutes of disconnection after resolving User A's network connection issues. The user-specific summary program 122 detects User A reconnecting, captures User A's re-engagement time, and calculates the total duration of User A's disengagement period from User A's online virtual class to be 10 minutes.

[0070] In a second example, User B reconnects to User B's team conference within 15 minutes of disconnection after dealing with User B's personal emergency. The user-specific summary program 122 detects User B reconnecting, captures User B's re-engagement time, and calculates the total duration of User B's disengagement period from User B's team conference to be 15 minutes.

[0071] In a third example, user C takes a break and then reconnects to the online city council of city X within 10 minutes of disconnection. The user-specific summary program 122 detects user C reconnecting, captures user C's re-engagement time, and calculates the total duration of user C's withdrawal from the online city council of city X to be 10 minutes.

[0072] At decision 325, the user-specific summarization program 122 determines whether the user will review the summary before rejoining the conference. In an embodiment, the user-specific summarization program 122 determines whether the user will review the summary before rejoining the conference based on the user preferences set by the user in step 220. In one or more embodiments, the user-specific summarization program 122 determines whether the user will review the summary before rejoining the conference based on a user decision. In one or more embodiments, the user-specific summarization program 122 determines whether the user will review the summary before rejoining the conference based on a machine-driven recommendation. For example, the user-specific summarization program 122 recommends that the user read the summary before rejoining because the information the user missed during the user's absence needs to be known before rejoining. Although examples of the user-specific summarization program 122 determining whether the user will review the summary before rejoining the conference are described herein using individual methods, it should be noted that the user-specific summarization program 122 may determine whether the user will review the summary before rejoining the conference via one or more combinations of the above embodiments. In an embodiment, in response to the user-specific summary program 122 detecting when the user reconnects to a conference on the virtual collaboration server tool, the user-specific summary program 122 determines whether the user should review the summary before rejoining the conference.

[0073] If the user-specific summarization program 122 determines that the user will review the summary before rejoining the conference (the "Yes" branch of decision 325), the user-specific summarization program 122 prompts the user to select how much the user prefers to review the summary (i.e., the user's preference) (step 330). If the user-specific summarization program 122 determines that the user will not review the summary before rejoining the conference (the "No" branch of decision 325), the user-specific summarization program 122 determines whether the conference is complete (decision 360) before prompting the user to select how much the user prefers to review the summary.

[0074] At decision 360, user-specific summary program 122 determines whether the conference is complete. In an embodiment, user-specific summary program 122 determines that the conference is complete when the host ends the conference. In an embodiment, in response to user-specific summary program 122 determining that the user will not review the summary before rejoining the conference, user-specific summary program 122 determines whether the conference is complete.

[0075] If the user-specific summary program 122 determines that the conference is complete (the "Yes" branch of decision 360), the user-specific summary program 122 prompts the user to select how much the user prefers to review the summary (step 330). If the user-specific summary program 122 determines that the conference is not complete (the "No" branch of decision 360), the user-specific summary program 122 waits until the conference is complete before proceeding to step 330.

[0076] In an example, user C, a taxpayer for city X who is attending an online city council meeting for city X on a virtual collaboration server tool, reconnects to the online city council meeting for city X. The user-specific summarizing program 122 detects the reconnecting user C. Instead of delaying user C from rejoining the meeting, the user-specific summarizing program 122 makes a machine-driven recommendation that user C wait until the online city council meeting for city X is complete to review the summary. The user-specific summarizing program 122 does not prompt user C to select how much user C prefers to review the summary until the meeting is complete.

[0077] Returning to decision 325, if the user-specific summarization program 122 determines that the user will review the summary before rejoining the conference (the "Yes" branch of decision 325), the user-specific summarization program 122 proceeds to step 330 and prompts the user to select how the user prefers to review the summary. At step 330, the user-specific summarization program 122 prompts the user to select how the user prefers to review the summary. In an embodiment, the user-specific summarization program 122 prompts the user for default selections of settings, including, but not limited to, language, viewing mode, audio, and subtitles. The default selections provide the user with a recommended experience (e.g., English (American), high-bandwidth video viewing mode, audio on, and subtitles off) and are based on the user preferences set by the user at step 220. In an embodiment, the user-specific summarization program 122 prompts the user to change the default selections to select options that better suit the user's work environment. For example, the user may change the default language setting to an alternate language (e.g., German, English (US), Spanish (Latin America), French, French (Canadian), Italian, Polish, Portuguese, Portuguese (Brazilian), etc.), change the default viewing mode to an alternate viewing mode (e.g., high bandwidth video, low bandwidth video, text, and graphics), change the default audio setting (e.g., on or off), or change the default subtitle setting (e.g., on or off), or any combination thereof. In an embodiment, the user-specific summarization program 122 prompts the user, via the user interface 132 of the user computing device 130, to select how the user prefers to review the summary. In an embodiment, in response to the user-specific summarization program 122 determining that the user will review the summary, the user-specific summarization program 122 prompts the user to select how the user prefers to review the summary.

[0078] In step 335, the user-specific summary program 122 outputs the summary. In an embodiment, the user-specific summary program 122 outputs the summary in a format selected by the user in step 330. In an embodiment, the user-specific summary program 122 outputs the summary as an alert notification. In an embodiment, the user-specific summary program 122 outputs the summary to the user via the user interface 132 of the user computing device 130. In an embodiment, the user-specific summary program 122 outputs the summary in response to the user-specific summary program 122 prompting the user to select how the user prefers to review the summary.

[0079] In a first example, User A, a computer science student attending an online virtual class on a virtual collaboration server tool who was experiencing network connection issues, reconnects to User A's online virtual class. The user-specific summarization program 122 detects User A reconnecting and asks whether User A would prefer to review the summary before rejoining the class or to wait until the class is complete to review the summary. User A chooses to review the summary before rejoining User A's online virtual class. User A chooses to review the summary using the default selection and is taken to a breakout room. User A receives and views a 30-second video with audio. User A now has an update on what User A missed while disconnected and is ready to rejoin User A's online virtual class.

[0080] In a second example, User B, an employee of a technology company who works from home and was participating in a team meeting with User B's team on a virtual collaboration server tool, reconnects to User B's team meeting. The user-specific summarization program 122 detects User B reconnecting and asks whether User B prefers to review the summary before rejoining the team meeting or waits until the team meeting is complete to review the summary. User B chooses to review the summary before rejoining the team meeting. User B changes the default audio setting to "off" and the default subtitle setting to "on." User B stays in the current meeting room and reviews the summary. User B receives and watches a 30-second video with subtitles. User B now has an update on what he missed while he was disconnected and is ready to rejoin User B's team meeting.

[0081] In a third example, the online city meeting for City X is completed. The user-specific summary program 122 outputs a summary to User C. User C receives and watches a 30-second video with audio, providing an update on what User C missed while disconnected from the online city meeting for City X.

[0082] In step 340, the user-specific summarization program 122 compares the summary with a playback of the full recording of the meeting. In an embodiment, the user-specific summarization program 122 extracts key entities from the summary and from a playback of the full recording of the meeting. In an embodiment, the user-specific summarization program 122 matches similar key entities extracted from the summary and from a playback of the full recording of the meeting. In an embodiment, the user-specific summarization program 122 compares the summary with a playback of the full recording of the meeting to ensure that the meaning of the summary and the meeting are the same. In an embodiment, in response to the user-specific summarization program 122 outputting the summary, the user-specific summarization program 122 compares the summary with a playback of the full recording of the meeting.

[0083] In step 345, the user-specific summarization program 122 requests feedback from the user. In an embodiment, the user-specific summarization program 122 requests feedback from the user regarding the output of the summary in step 335. In an embodiment, the user-specific summarization program 122 provides the user with three options (i.e., -1, 0, and +1) from which the user can select only one. The three options provided to the user represent the user's possible satisfaction levels (i.e., dissatisfied, neutral, and satisfied, respectively). In an embodiment, the user-specific summarization program 122 requests feedback from the user via the user interface 132 of the user computing device 130. In an embodiment, in response to comparing the summary with a playback of the full recording of the meeting, the user-specific summarization program 122 requests feedback from the user.

[0084] In step 350, the user-specific summarization program 122 receives feedback from the user. In an embodiment, the user-specific summarization program 122 receives feedback from the user via the user interface 132 of the user computing device 130. In an embodiment, the user-specific summarization program 122 uses the feedback to improve the user-specific summarization program 122 in preparing more tailored summaries in future iterations of the process. In an embodiment, the user-specific summarization program 122 uses reinforcement learning to improve the user-specific summarization program 122. In an embodiment, the user-specific summarization program 122 uses ReLU or leaky ReLU as an activation function to improve accuracy. In an embodiment, the user-specific summarization program 122 performs speech-to-text (STT) recognition on the audio frames and / or video frames to prepare triplets. In an embodiment, the user-specific summarization program 122 recommends the top N ranked sentences to the end user. In an embodiment, the user-specific summarizer 122 uses a meeting summarizer as a reinforcement learning agent to model the iterative process after a Markov decision process during the collaboration process. In an embodiment, the user-specific summarizer 122 performs Q-learning techniques on state-action (SA) pairs to accelerate the execution time of the algorithm. The Q-learning technique serves as a crib sheet for the reinforcement learning (RL) agent. The Q-learning technique allows the RL agent to use feedback from the environment to learn the best actions it can perform in various environments. The Q-learning technique also uses a Q-value to track and improve the performance of the RL agent. Initially, the Q-value is set to an arbitrary value. However, the Q-value is updated as the RL agent performs various actions and receives feedback on the actions (i.e., dissatisfied, neutral, satisfied).In an embodiment, the user-specific summarization program 122 designs the reinforcement learning system to increase the reward as time increases. A maximum reward per episode indicates that the RL agent has learned to perform the correct action by maximizing the total reward. In an embodiment, in response to the user-specific summarization program 122 requesting feedback from the user, the user-specific summarization program 122 receives feedback from the user.

[0085] At step 355, user-specific summary program 122 stores the feedback. In an embodiment, user-specific summary program 122 stores the feedback received from the user. In an embodiment, user-specific summary program 122 stores the feedback received from the user in a database (e.g., database 126). In an embodiment, in response to user-specific summary program 122 receiving feedback from the user, user-specific summary program 122 stores the feedback.

[0086] In some embodiments, the user-specific summary program 122 may perform steps 345, 350, and 355 as optional steps.

[0087] FIG. 4 is a flowchart generally designated 400 illustrating operational steps of the machine learning component 124 of the user-specific summarization program 122 in the distributed data processing environment 100 of FIG. 1 in accordance with an embodiment of the present invention. In an embodiment, the user-specific summarization program 122 operates to prepare summaries tailored to the profile of a user away from a conference on a virtual collaboration server tool, covering the portion of the conference while the user was disconnected, by applying concepts of merging, extractive summarization, speaker diarization, and machine learning. In an embodiment, the machine learning component 124 of the user-specific summarization program 122 runs continuously for the entire duration of a conference that the user hosts, participates in, or attends on the virtual collaboration server tool. It should be understood that the process illustrated in FIG. 4 illustrates one possible iteration of the process flow.

[0088] In step 405, the user-specific summarization program 122 identifies two or more participants of the conference. In an embodiment, the user-specific summarization program 122 identifies the two or more participants of the conference via information collected from the virtual collaboration server tool (e.g., from a participant list or from an attendance report). In an embodiment, the user-specific summarization program 122 assigns weights to the two or more participants of the conference. In an embodiment, the user-specific summarization program 122 assigns weights to the two or more participants of the conference based on a set of factors. The set of factors includes, but is not limited to, the participant's role in the conference (i.e., the conference organizer, the requested attendee of the conference, the optional attendee of the conference, etc.), the participant's role in the participant's enterprise, and the participant's relevance to the user away from the conference. In an embodiment, the user-specific summarization program 122 ranks the two or more participants of the conference based on the participants' assigned weights (i.e., ranks the participants from most relevant to the user to least relevant to the user). In an embodiment, the user-specific summarization program 122 provides the user with the ability to override such rankings of two or more participants. In an embodiment, the user-specific summarization program 122 provides the user with the ability to override such rankings via the user interface 132 of the user computing device 130.

[0089] In step 410, the user-specific summary program 122 extracts a plurality of audio and / or video frames. In an embodiment, the user-specific summary program 122 extracts a plurality of audio and / or video frames from the portion of the conference from which the user was disconnected. In an embodiment, the user-specific summary program 122 continuously extracts a plurality of audio and / or video frames until a summary is prepared and output to the user who was disconnected from the conference.

[0090] In an embodiment, the user-specific summarization program 122 counts the number of audio and / or video frames extracted from the portion of the conference from which the user was disconnected. In an embodiment, the user-specific summarization program 122 counts the number of audio and / or video frames containing the user's name (e.g., audio and / or video frames during which the user's name was mentioned by the conference host because the user was expected to speak or answer a question, or audio and / or video frames during which the user's name was called by the conference host to join a smaller breakout group). In an embodiment, in response to the user-specific summarization program 122 identifying two or more participants in the conference, the user-specific summarization program 122 extracts multiple audio and / or video frames.

[0091] In step 415, the user-specific summarization program 122 identifies the context of the multiple audio frames and / or video frames. In an embodiment, the user-specific summarization program 122 identifies the context of the multiple audio frames and / or video frames extracted from the portion of the conference from which the user was detached. In an embodiment, the user-specific summarization program 122 identifies the context of the multiple audio frames and / or video frames to understand the intent and / or topic of the conference. In an embodiment, in response to the user-specific summarization program 122 extracting the multiple audio frames and / or video frames, the user-specific summarization program 122 identifies the context of the multiple audio frames and / or video frames.

[0092] In step 420, the user-specific summarization program 122 selects a subset of the plurality of audio frames and / or video frames. In an embodiment, the user-specific summarization program 122 selects the subset of the plurality of audio frames and / or video frames based on whether the audio frames and / or video frames contribute to preparing a summary for a user who was away from the conference. In an embodiment, in response to the user-specific summarization program 122 identifying the context of the plurality of audio frames and / or video frames, the user-specific summarization program 122 selects the subset of the plurality of audio frames and / or video frames.

[0093] In step 425, the user-specific summarization program 122 ranks the subset of the plurality of audio frames and / or video frames selected in step 420. In one embodiment, the user-specific summarization program 122 ranks the subset of the plurality of audio frames. In another embodiment, the user-specific summarization program 122 ranks the subset of the plurality of video frames. In another embodiment, the user-specific summarization program 122 ranks the subset of the plurality of audio and video frames.

[0094] In embodiments, the user-specific summarization program 122 ranks a subset of the plurality of audio and / or video frames using an algorithmic method. In one or more embodiments, the user-specific summarization program 122 ranks a subset of the plurality of audio and / or video frames based on whether the audio and / or video frames include the name of a user who was absent from the conference. In one or more embodiments, the user-specific summarization program 122 ranks a subset of the plurality of audio and / or video frames based on ranking the participants received in step 405. In one or more embodiments, the user-specific summarization program 122 ranks a subset of the plurality of audio and / or video frames based on a relationship between the participant and the user who was absent from the conference. A participant's relevance to a user who was away from the conference is determined by a set of factors, including, but not limited to, the participant's role in the conference (i.e., conference organizer, requested attendee for the conference, optional attendee for the conference), the participant's company profile, the participant's company hierarchy, the participant's position within the company hierarchy, the participant's seniority within the participant's company, the participant's primary job, and the participant's primary job function. In one or more embodiments, the user-specific summarization program 122 ranks a subset of the plurality of audio frames and / or video frames based on the user's technology interests. In one or more embodiments, the user-specific summarization program 122 ranks a subset of the plurality of audio frames and / or video frames based on the user's expertise. In one or more embodiments, the user-specific summarization program 122 ranks a subset of the plurality of audio frames and / or video frames based on past analysis.Although examples of the user-specific summarization program 122 ranking a subset of multiple audio frames and / or video frames are described herein using individual methods, it should be noted that the user-specific summarization program 122 may rank a subset of multiple audio frames and / or video frames via one or more combinations of the above embodiments.

[0095] In an embodiment, in response to the user-specific summarization program 122 selecting a subset of the plurality of audio frames and / or video frames, the user-specific summarization program 122 ranks the selected subset of the plurality of audio frames and / or video frames in step 420.

[0096] In step 430, the user-specific summarization program 122 prepares an integrated summary. In one embodiment, the user-specific summarization program 122 prepares an integrated summary of a plurality of audio frames ranked above an algorithmically determined threshold. In another embodiment, the user-specific summarization program 122 prepares an integrated summary of a plurality of video frames ranked above an algorithmically determined threshold. In another embodiment, the user-specific summarization program 122 prepares an integrated summary of a plurality of audio and video frames ranked above an algorithmically determined threshold.

[0097] In embodiments, the user-specific summarization program 122 prepares the integrated summary by merging multiple audio and / or video frames ranked above an algorithmically determined threshold. In embodiments, the user-specific summarization program 122 prepares the integrated summary by consecutively splicing together multiple audio and / or video frames ranked above an algorithmically determined threshold and merging multiple audio and / or video frames ranked above an algorithmically determined threshold. In embodiments, the user-specific summarization program 122 prepares the integrated summary by discarding multiple audio and / or video frames that are not ranked above the algorithmically determined threshold. The threshold is dynamic and changes for each user of the user-specific summarization program 122. In embodiments, the user-specific summarization program 122 sets the algorithmically determined threshold in accordance with machine learning on a training data set.

[0098] In an embodiment, in response to the user-specific summarization program 122 ranking a subset of the plurality of audio frames and / or video frames, the user-specific summarization program 122 prepares an integrated summary.

[0099] In a first example, User A's online virtual class on a virtual collaboration server tool is hosted by Teacher X. Invited speaker Y also joins User A's online virtual class. While User A is disconnected from the online virtual class due to User A's network connection issues, Teacher X presents 25 Microsoft® PowerPoint slides. The first slide Teacher X presents is slide 1. However, Teacher X very briefly refers to slide 25 to explain what Invited speaker Y will present later in the class. Teacher X then returns to slides 2 through 24 to explain the content before User A reconnects to User A's online virtual class. In this case, the user-specific summarization program 122 ranks slides 1 and 25 higher than slides 2 through 24 because slides 1 and 25 contain more content information. Slides 1 and 25 are merged.

[0100] In a second example, User B's team meeting on the virtual collaboration server tool is hosted by Team Leader X. While User B is disconnected from the team meeting, Team Leader X presents a video that resonates much better with team members than the technical slides because the video is less technical and more illustrative. In this case, the user-specific summarization program 122 ranks the video higher than the technical slides. The video and the other highly ranked slides are merged together, but the technical slides are canceled.

[0101] In step 435, the user-specific summarization program 122 converts the integrated summary into one or more sentences. In an embodiment, the user-specific summarization program 122 converts the integrated summary into one or more sentences in text format. In an embodiment, the user-specific summarization program 122 converts the integrated summary into one or more sentences using an extractive text summarization algorithm. In an embodiment, the user-specific summarization program 122 identifies important sentences and other salient information in the integrated summary. In an embodiment, the user-specific summarization program 122 extracts important sentences and other salient information from the integrated summary. Speech-to-text summarization using the extractive text summarization algorithm occurs for the entire duration of the meeting, but keeps a 30-minute rolling window open within the duration. In an embodiment, in response to the user-specific summarization program 122 preparing the integrated summary, the user-specific summarization program 122 converts the integrated summary into one or more sentences.

[0102] In step 440, the user-specific summarization program 122 applies speaker diarization. Speaker diarization is the process of dividing the input audio stream into homogeneous segments according to speaker identities. Speaker diarization improves the readability of automatic speech transcription by structuring the audio stream into speaker order and, when used with a speaker recognition system, by providing true speaker identities. Speaker diarization is a combination of speaker segmentation and speaker clustering. Speaker segmentation aims to detect speaker change points within an audio stream. Speaker clustering aims to group audio segments together based on speaker characteristics. In an embodiment, the user-specific summarization program 122 detects speaker change points within an audio frame (i.e., speaker segmentation). In an embodiment, the user-specific summarization program 122 groups audio segments together based on speaker characteristics (i.e., speaker clustering). In an embodiment, in response to the user-specific summarization program 122 converting the integrated summary into one or more sentences, the user-specific summarization program 122 applies speaker diarization.

[0103] In step 445, the user-specific summarization program 122 ranks the one or more sentences. In an embodiment, the user-specific summarization program 122 ranks the one or more sentences based on a set of factors, including, but not limited to, the speaker's role in the conference (i.e., host, participant, attendee) and the sentence's relevance to the conference's intent and / or topic. In an embodiment, the user-specific summarization program 122 retains the top N most useful sentences, where N may be a user preference set by the user in step 220 or a machine-driven recommendation. In an embodiment, in response to the user-specific summarization program 122 applying speaker diarization, the user-specific summarization program 122 ranks the one or more sentences.

[0104] For example, if an important person (e.g., the conference host) spoke 100 sentences during the duration of a user's absence from a conference, the user-specific summarization program 122 would rank all 100 sentences in order of importance. However, because N was set to 25, the user-specific summarization program 122 would only retain the top 25 sentences spoken.

[0105] In another example, if an important person (e.g., the meeting host) speaks 100 sentences during the duration of a user's absence from a meeting, the user-specific summarization program 122 ranks all 100 sentences in order of importance. Because all 100 sentences are important, a machine-driven recommendation is made to the user-specific summarization program 122 to retain all 100 sentences, and so the user-specific summarization program 122 retains all 100 sentences.

[0106] In yet another example, if an important person (eg, the conference host) spoke only one sentence, the user-specific summarization program 122 would retain the one sentence.

[0107] In step 450, the user-specific summarization program 122 identifies one or more keywords. In an embodiment, the user-specific summarization program 122 identifies one or more keywords in one or more sentences. In an embodiment, the user-specific summarization program 122 identifies one or more keywords related to the intent and / or topic of the meeting. In an embodiment, the user-specific summarization program 122 identifies one or more keywords related to two or more participants of the meeting.

[0108] In an embodiment, the user-specific summarization program 122 assigns a weighting to one or more keywords. In an embodiment, the user-specific summarization program 122 assigns a weighting to one or more keywords based on the relevance of the keyword to the intent and / or topic of the conference. In an embodiment, the user-specific summarization program 122 assigns a weighting to one or more keywords based on the relevance of the keyword to two or more participants of the conference.

[0109] For example, three sentences S10, S11, and S12 are candidates for multiple participants in a meeting. A ranking system is constructed to rank such sentences based on the frequency of keywords that match specific participants. Keywords are identified from S10, S11, and S12. The identified keywords are "data," "algorithm," and "K-means clustering." Participant X10 is a data scientist. Participant X11 is a solution architect. X10 is more interested in sentences containing the keywords "data," "algorithm," and "K-means clustering," while X11 is only interested in sentences containing the keyword "data."

[0110] In an embodiment, the user-specific summarization program 122 tags the one or more sentences. In an embodiment, the user-specific summarization program 122 tags the one or more sentences using a tagging system. In an embodiment, the user-specific summarization program 122 tags the one or more sentences with words or phrases that express the intent of the one or more sentences. In an embodiment, in response to the user-specific summarization program 122 ranking the one or more sentences, the user-specific summarization program 122 identifies one or more keywords.

[0111] For example, three sentences S1, S2, and S3 are spoken with the purpose of motivating or attracting the attention of a group of people. A tagging system is used to tag these sentences as "motivating" or "attention-grabbing." Three sentences S4, S5, and S6 are spoken with the purpose of lightening the mood of a group of people. A tagging system is used to tag these sentences as "lightening the mood." Three sentences S7, S8, and S9 are spoken without any purpose. A tagging system is used to tag these sentences as "nonsense."

[0112] At step 455, the user-specific summarization program 122 prepares a global ranking. In an embodiment, the user-specific summarization program 122 prepares a global ranking that incorporates the two or more participants identified and assigned weights in step 405, the one or more keywords identified and assigned weights in step 450, and the subset of one or more sentences ranked in step 455. In an embodiment, the user-specific summarization program 122 allows a user away from the conference to override the ranking priority to assist the user-specific summarization program 122 in preparing a summary that is more tailored to the user. In an embodiment, in response to the user-specific summarization program 122 identifying one or more keywords, the user-specific summarization program 122 prepares a global ranking.

[0113] In step 460, the user-specific summarization program 122 prepares summaries. In an embodiment, the user-specific summarization program 122 prepares summaries using a machine learning algorithm. In an embodiment, the user-specific summarization program 122 prepares a summary for each participant assigned a weight in step 405. In one or more embodiments, the user-specific summarization program 122 prepares summaries for the top N ranked participants, where N may be a user preference or a machine-driven recommendation set by the user in step 220.

[0114] For example, 15 people (i.e., X1, X2, ..., X15) participate in a conference. The user-specific summarization program 122 assigns a weighting to each participant based on the participant's role in the conference, the participant's role in the participant's enterprise, and the participant's relevance to the user away from the conference. The user-specific summarization program 122 prepares a summary for the top five ranked participants (i.e., X1, X2, X3, X4, and X5).

[0115] In an embodiment, the user-specific summarization program 122 tailors each prepared summary to the profile of the user who left the conference. In an embodiment, the user-specific summarization program 122 tailors each summary using the global ranking prepared in step 455. In an embodiment, the user-specific summarization program 122 tailors each summary to proportionally match the relationship between the participants who spoke during the conference and the user who left the conference. The relevance of a participant to the user who left the conference is determined by a set of factors, including, but not limited to, the participant's role in the conference (i.e., the conference organizer, the required attendee for the conference, or the optional attendee for the conference), the participant's company profile, the participant's company hierarchy, the participant's position within the company hierarchy, the participant's seniority within the participant's company, the participant's primary job, the participant's primary job function, the user's technology interests, and the user's expertise, whether the participant was mentioned by name by the conference host because the participant was expected to speak or answer questions, and whether the participant spoke during the conference.

[0116] In an embodiment, the user-specific summarization program 122 uses the speech-recognition confidence score, the intent confidence score, or both to adjust each summary. In an embodiment, the user-specific summarization program 122 prepares a summary in response to the user-specific summarization program 122 preparing a global ranking.

[0117] 5 is a block diagram of components of a computing device 500 within the distributed data processing environment 100 of FIG. 1 in accordance with an embodiment of the present invention. FIG. 5 is intended to be merely an example of one implementation and is not intended to imply any limitation with respect to the environments in which various embodiments may be implemented. Many modifications to the illustrated environment may be made.

[0118] Computing device 500 includes a communications fabric 502 that provides communication between cache 516, memory 506, persistent storage 508, communications unit 510, and input / output (I / O) interface 512. Communications fabric 502 may be implemented using any architecture designed to pass data and / or control information between processors (such as microprocessors, communications processors, and network processors), system memory, peripherals, and any other hardware components in the system. For example, communications fabric 502 may be implemented using one or more buses or crossbar switches.

[0119] Memory 506 and persistent storage 508 are computer-readable storage media. In this embodiment, memory 506 includes random access memory (RAM). In general, memory 506 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 516 is high-speed memory that improves performance of computer processor 504 by holding recently accessed data and data close to the data accessed from memory 506.

[0120] Programs may be stored in persistent storage 508 and memory 506 for execution and / or access by one or more of the computer processors 504 via cache 516. In an embodiment, persistent storage 508 includes a magnetic hard disk drive. As an alternative or in addition to a magnetic hard disk drive, persistent storage 508 may include a solid-state hard drive, a solid-state storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0121] The media used by persistent storage 508 may be removable. For example, a removable hard drive may be used for persistent storage 508. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 508.

[0122] In these examples, communications unit 510 provides for communication with other data processing systems or devices. In these examples, communications unit 510 includes one or more network interface cards. Communications unit 510 may provide communications using either or both physical and wireless communications links. Programs may be downloaded to persistent storage 508 via communications unit 510.

[0123] The I / O interface 512 allows for the input and output of data with other devices that may be connected to the server 120 and / or the user computing device 130. For example, the I / O interface 512 may provide a connection to external devices 518, such as a keyboard, keypad, touch screen, or other suitable input device, or a combination thereof. The external devices 518 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention may be stored on such portable computer-readable storage media and loaded into persistent storage 508 via the I / O interface 512. The I / O interface 512 also connects to a display 520.

[0124] Display 520 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.

[0125] The programs described herein are identified based on the application for which they are implemented in particular embodiments of the invention, although it should be understood that the names of specific programs herein are used merely for convenience, and thus the invention should not be limited to use with only the particular application identified and / or implied by such names.

[0126] The present invention may be a system, a method, and / or a computer program product, which may include a computer-readable storage medium containing computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0127] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes portable floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or ridge structures in grooves on which instructions are recorded, and any suitable combination thereof. As used herein, computer-readable storage media should not be construed as being ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted over wires.

[0128] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device over a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). This network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage on a computer-readable storage medium within each computing / processing device.

[0129] Computer-readable program instructions for carrying out the operations of the present invention may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object code written in one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, C++, and conventional procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network or a wide area network, or the connection may be to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, to carry out aspects of the present invention, electronic circuitry including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions to customize the electronic circuitry by utilizing state information of the computer-readable program instructions.

[0130] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0131] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to create a machine, where the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may be stored on a computer-readable storage medium and capable of directing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0132] Computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device such that the instructions, which execute on the computer, other programmable apparatus, or other device, perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, thereby causing a series of operable steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process.

[0133] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, comprising one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or in the reverse order, depending on the functionality involved. It is also noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks included in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified function(s) or operation(s), or executes a combination of special-purpose hardware and computer instructions.

[0134] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive and is not limited to the disclosed embodiments. Many changes and modifications will be apparent to those skilled in the art without departing from the scope of the present invention. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond those found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A computer-implemented method comprising: Detecting, by one or more processors, a user who is absent from a virtual conference including at least two participants for a preset period of time or for a preset percentage of the total allotted time of the pre-scheduled virtual conference; retrieving, by one or more processors, from a database a first set of data regarding the user, a second set of data regarding the at least two participants of the virtual conference, and a third set of data regarding a relationship between the user and the at least two participants of the virtual conference; preparing, by one or more processors, a summary tailored to the user's profile and covering the portion of the virtual meeting during which the user was disconnected; detecting, by one or more processors, that the user reconnects to the virtual conference; determining, by one or more processors, whether the user will review the summary before rejoining the virtual conference based on preset user preferences, decisions made by the user, or machine-driven recommendations; prompting, by one or more processors, the user to review the summary using a set of default user preferences in response to the user determining that the user will review the summary before rejoining the virtual conference; and outputting, by one or more processors, the summary to the user.

2. after outputting the summary to the user, comparing, by one or more processors, the summary with a playback of the complete recording of the virtual conference; requesting, by one or more processors, feedback from the user; receiving, by one or more processors, the feedback from the user; improving, by one or more processors, the accuracy of the prepared future summaries using reinforcement learning; 2. The computer-implemented method of claim 1, further comprising: storing, by one or more processors, the feedback from the user in the database.

3. preparing the summary tailored to the profile of the user and covering the portion of the virtual meeting while the user was disconnected; identifying, by one or more processors, the at least two participants of the virtual conference; assigning, by one or more processors, weights to the at least two participants of the virtual conference based on a first set of factors; and ranking, by one or more processors, the at least two participants of the virtual conference based on the weightings assigned to the at least two participants.

4. extracting, by one or more processors, a plurality of audio frames, a plurality of video frames, or a plurality of audio and video frames from the portion of the virtual conference during which the users were disconnected, after ranking the at least two participants of the virtual conference based on the weights assigned to the at least two participants; 4. The computer-implemented method of claim 3, further comprising: identifying, by one or more processors, a context of the plurality of audio frames, the plurality of video frames, or the plurality of audio and video frames to understand one or more topics of the virtual conference.

5. After identifying the context of the plurality of audio frames, the plurality of video frames, or the plurality of audio and video frames to understand the one or more topics of the virtual conference, selecting, by one or more processors, a subset of the plurality of audio frames, a subset of the plurality of video frames, or a subset of the plurality of audio and video frames based on whether the plurality of audio frames, the plurality of video frames, or the plurality of audio and video frames contribute to preparing a summary for a user who was away from the conference; ranking, by one or more processors, the subset of the plurality of audio frames, the subset of the plurality of video frames, or the subset of the plurality of audio and video frames using an algorithmic method or a second set of factors; merging, by one or more processors, the subset of the plurality of audio frames, the subset of the plurality of video frames, or the subset of the plurality of audio and video frames ranked above an algorithmically determined threshold; 5. The computer-implemented method of claim 4, further comprising preparing, by one or more processors, an integrated summary of the subset of the plurality of audio frames ranked above the algorithmically determined threshold, an integrated summary of the subset of the plurality of video frames ranked above the algorithmically determined threshold, and an integrated summary of the subset of the plurality of audio and video frames ranked above the algorithmically determined threshold.

6. after preparing an integrated summary of the subset of the plurality of audio frames ranked above an algorithmically determined threshold, an integrated summary of the subset of the plurality of video frames ranked above an algorithmically determined threshold, and an integrated summary of the subset of the plurality of audio and video frames ranked above an algorithmically determined threshold, converting, by one or more processors, the integrated summaries into one or more sentences using an extractive text summarization algorithm; applying, by one or more processors, speaker diarization; ranking, by one or more processors, the one or more sentences based on a third set of factors; and and retaining, by one or more processors, a subset of the one or more sentences ranked above a second threshold based on second preset user preferences or second machine-driven recommendations.

7. identifying, by one or more processors, one or more keywords in the subset of one or more sentences after retaining the subset of one or more sentences ranked above the second threshold based on the second preset user preferences or the second machine-driven recommendations; assigning, by one or more processors, a weight to the one or more keywords in the subset of the one or more sentences based on relevance of the one or more keywords to the one or more topics of the virtual conference and based on relevance of the one or more keywords to the at least two participants of the virtual conference; and tagging, by one or more processors, the subset of the one or more sentences with the one or more keywords.

8. preparing, by one or more processors, a global ranking incorporating the at least two participants, the one or more keywords, and the subset of the one or more sentences after tagging the subset of the one or more sentences with the one or more keywords; and preparing, by one or more processors, the summary tailored to the user's profile based on the global ranking.

9. 2. The computer-implemented method of claim 1, wherein the first set of data about the user, the second set of data about the at least two participants of the virtual conference, and the third set of data about the relationships between the user and the at least two participants of the virtual conference collected from the database include a profile created by the user, a company profile of the user, a calendar of the user, one or more profiles created by the at least two participants of the virtual conference, the company profiles of the at least two participants of the virtual conference, the calendars of the at least two participants of the virtual conference, one or more presentation tools used by the at least two participants of the virtual conference, and data from one or more previous virtual conferences hosted, participated in, or attended by the user.

10. detecting that the user reconnects to the virtual conference; capturing, by one or more processors, the time during the virtual conference when the user reconnects; and calculating, by one or more processors, a total duration of time that the user was disconnected from the virtual conference.

11. The computer-implemented method of claim 1 , wherein the set of default user preferences for reviewing the summary includes a language preference, a viewing mode preference, an audio preference, and a subtitle preference.

12. comparing the summary to the playback of the complete recording of the virtual meeting; extracting, by one or more processors, a first set of one or more key entities from the summary and a second set of one or more key entities from the full recording of the virtual meeting; 3. The computer-implemented method of claim 2, further comprising: matching, by one or more processors, the first set of one or more key entities from the summary with a second set of one or more key entities from the full recording of the virtual meeting.

13. requesting feedback from the user; 3. The computer-implemented method of claim 2, further comprising: providing, by one or more processors, the user with three or more choices representing a satisfaction level of the user, the three or more choices comprising: dissatisfied, neutral, and satisfied.

14. 4. The computer-implemented method of claim 3, wherein the first set of factors includes the roles of the at least two participants in the virtual conference, the roles of the at least two participants in an enterprise, and the relationship of the at least two participants to the user remote from the virtual conference.

15. 6. The computer-implemented method of claim 5, wherein the algorithmically determined threshold is dynamic and set to a training data set.

16. 6. The computer-implemented method of claim 5, wherein the second set of factors includes whether the frame includes the name of the user who has left the virtual conference, the ranking of the at least two participants, the relationship of the at least two participants with the user who has left the virtual conference based on the user's technology interests, the user's expertise, or past analysis.

17. Applying speaker diarization detecting, by one or more processors, changes between the at least two participants in the plurality of audio frames; The computer-implemented method of claim 6 , further comprising: grouping, by one or more processors, segments of audio together based on characteristics of the at least two participants.

18. 7. The computer-implemented method of claim 6, wherein the third set of factors comprises roles of the at least two participants in the virtual meeting and relevance of the one or more statements to the one or more topics of the virtual meeting.

19. A computer program product causing a computer to carry out the method according to any one of claims 1 to 18.

20. one or more processors; one or more computer-readable storage media; and program instructions collectively stored on said one or more computer-readable storage media for execution by at least one of said one or more processors, said stored program instructions including program instructions for performing the method of any one of claims 1 to 18.

Citation Information

Patent Citations

  • Minutes production device, method and storage medium using it

    JP2002099530A

  • Facilitating dynamic and seamless transitioning into online meetings

    US20160285929A1

  • Personalized meeting summaries

    US20210092168A1