Dynamic chapter generation for a communication session using an overall score and a chapter score
Methods and systems provide for providing dynamic chapter generation for a communication session. In one embodiment, the system connects to a communication session with a number of participants; receives a transcript of a conversation between the participants produced during the communication session, the transcript including timestamps for a number of utterances associated with speaking participants; segments the utterances into a plurality of contiguous topic segments; generates a title for each topic segment, the generating comprising: labeling one or more of the topic segments based on one or more labeling rules, extracting one or more top phrases from each topic segment, determining a ranking of the top phrases for each topic segment, and generating the title for each topic segment based on the top ranked phrase for the topic segment; and transmits, to one or more client devices, a list of the topic segments with generated titles for the communication session.
1 . A method, comprising:
connecting to a communication session with a plurality of participants;
receiving a transcript of a conversation between the participants produced during the communication session, the transcript comprising timestamps for a plurality of utterances associated with speaking participants;
segmenting the utterances into a plurality of contiguous topic segments, comprising:
identifying a plurality of candidate segments, each segment representing a cluster of the utterances,
generating a segment score for each candidate segment, and
aggregating the segment scores to compute an overall segmentation score, wherein the overall segmentation score and the segmentation scores are used to segment the utterances into the plurality of contiguous topic segments;
generating a title for each topic segment, the generating comprising:
labeling one or more of the topic segments based on a placement of the one or more topic segments in the conversation relative to other topic segments,
extracting one or more top phrases from each topic segment,
determining a ranking of the top phrases for each topic segment, and
selecting a title based on phrase ranking and the placement of the one or more topic segments in the conversation relative to other topic segments; and
transmitting, to one or more client devices, a list of the topic segments with generated titles for the communication session.
2 . The method of claim 1 , wherein segmenting the utterances into the plurality of contiguous topic segments comprises building a representation of the utterances as a plurality of sentences, each sentence being an input token for the segmentation.
3 . The method of claim 2 , wherein building the representation of the utterances as the plurality of sentences comprises representing each utterance with a Universal Sentence Encoder (USE) embedding.
4 . The method of claim 1 , wherein segmenting the utterances into the plurality of contiguous topic segments comprises:
splitting the conversation into topic segments by determining a plurality of contiguous segment boundaries between the segments.
5 . The method of claim 4 , wherein splitting the conversation into the topic segments is performed with one or more of a greedy segmentation method, a dynamic programming based method, and an iterative refinement method.
6 . The method of claim 1 , wherein generating the title for each topic segment further comprises preprocessing by extracting one or more entity names and one or more entity labels from the topic segments.
7 . The method of claim 1 , wherein segmenting the utterances into the plurality of contiguous topic segments comprises identifying an optimal number of segments for the conversation based on a minimum score improvement threshold.
8 . The method of claim 1 , wherein segmenting the utterances into the plurality of contiguous topic segments comprises:
determining a minimum number of segments based on a total meeting time and an average segment time.
9 . The method of claim 1 , wherein labeling the one or more of the topic segments comprises labeling a topic segment as a social exchange if the topic segment is a first segment of the conversation and contains one or more greeting words.
10 . The method of claim 1 , wherein labeling the one or more of the topic segments comprises labeling a topic segment as an introduction if the topic segment is a first or second segment of the conversation and contains one or more introductory words.
11 . The method of claim 1 , wherein labeling the one or more of the topic segments comprises labeling a topic segment as an ending if the topic segment is a last segment of the conversation and contains one or more ending words or action verbs.
12 . The method of claim 1 , wherein extracting the one or more top phrases from each topic segment is performed with a TextRank method.
13 . The method of claim 1 , wherein determining the ranking for each of the top phrases is based on one or more of a TextRank keyword score and a Term Frequency-Inverse Document Frequency (TF-IDF) score.
14 . The method of claim 1 , wherein determining the ranking for each of the top phrases comprises determining whether each of the top phrases is an entity.
15 . The method of claim 1 , wherein determining the ranking for each of the top phrases comprises determining whether each of the top phrases only occurs once in the topic segment it appears in.
16 . A communication system comprising one or more processors configured to perform operations of:
connecting to a communication session with a plurality of participants;
receiving a transcript of a conversation between the participants produced during the communication session, the transcript comprising timestamps for a plurality of utterances associated with speaking participants;
segmenting the utterances into a plurality of contiguous topic segments, comprising:
identifying a plurality of candidate segments, each segment representing a cluster of the utterances,
generating a segment score for each candidate segment, and
aggregating the segment scores to compute an overall segmentation score, wherein the overall segmentation score and the segmentation scores are used to segment the utterances into the plurality of contiguous topic segments;
generating a title for each topic segment, the generating comprising:
labeling one or more of the topic segments based on a placement of the one or more topic segments in the conversation relative to other topic segments,
extracting one or more top phrases from each topic segment,
determining a ranking of the top phrases for each topic segment, and
selecting a title based on phrase ranking and the placement of the one or more topic segments in the conversation relative to other topic segments; and
transmitting, to one or more client devices, a list of the topic segments with generated titles for the communication session.
17 . The communication system of claim 16 , wherein labeling the one or more of the topic segments comprises:
for each topic segment:
determining whether each of the top phrases for the topic segment only occurs once in the topic segment and does not overlap with other top phrases for the topic segment; and
if the determination is true for all of the top phrases for the topic segment, labeling the topic segment as other or undetermined.
18 . The communication system of claim 16 , wherein segmenting the utterances into a plurality of contiguous topic segments comprises:
identifying an optimal number of segments for the conversation based on a minimum score improvement threshold.
19 . The communication system of claim 16 , wherein segmenting the utterances into a plurality of contiguous topic segments comprises:
determining a minimum number of segments based on a total meeting time and an average segment time.
20 . A non-transitory computer-readable medium containing instructions that when executed by a processor, cause the processor to perform operations comprising:
connecting to a communication session with a plurality of participants;
receiving a transcript of a conversation between the participants produced during the communication session, the transcript comprising timestamps for a plurality of utterances associated with speaking participants;
segmenting the utterances into a plurality of contiguous topic segments, comprising:
identifying a plurality of candidate segments, each segment representing a cluster of the utterances,
generating a segment score for each candidate segment, and
aggregating the segment scores to compute an overall segmentation score, wherein the overall segmentation score and the segmentation scores are used to segment the utterances into the plurality of contiguous topic segments;
generating a title for each topic segment, the generating comprising:
labeling one or more of the topic segments based on a placement of the one or more topic segments in the conversation relative to other topic segments,
extracting one or more top phrases from each topic segment,
determining a ranking of the top phrases for each topic segment, and
selecting a title based on phrase ranking and the placement of the one or more topic segments in the conversation relative to other topic segments; and
transmitting, to one or more client devices, a list of the topic segments with generated titles for the communication session.