Can we quantify content quality. Can we understand the story flow, without watching all the episodes of the show.
Indian television(TV) industry produces an enormous amount of video content every day. Several family drama Series are aired about five days a week, continuously for years(4-6). The series goes through different phases of storytelling, sometimes it performs well, whereas at times its performance curve dips. Performance is impacted by factors like quality of content, competitive shows, and other factors (airing of live sports events, .). This is an effort to represent content in quantitative ways, which can enable us to objectively study quality.
Due to sheer volume, It's not possible for an individual(team) to keep themselves updated with all the historical(current) content in the industry.
We understand It is difficult to define a closed space to quantify highly creative fields. Still, We know, there is a pattern to how significant proportions of our population reacts to a particular content type. It is difficult to (manually)define a high dimensional space, and a score function to compare all possible content quality, yet we can compare them in the learned high dimensional space.
Indian TV Family drama shows run for a long duration(>5 years). The story develops in different phases. Each phase has a certain sequence of life events associated with the primary characters of the show. A Group of sequential episodes with the same objective is said to form a plot. Due to the causal relationship in the flow of events, separation boundary in two plots is a matter of subjective interpretation; nevertheless, the objectives in two different plots are different. There can be subplots, part of a bigger plot. The events in these plots impact viewership, as the characters go through pleasant/harsh phases. This study empowers the business team to have a historical understanding of how people respond to plots of a show, to look into phases of competitor shows. Enriched with these pieces of information, the business and the content team can modulate the story flow. Our objective is to find these constructs(plots) in the show, summarise them for an end-user having limited information about the show.
We collect episodic data from the web. We train episode vectors using Doc2Vec1. The learned embeddings are representative of count-based statistics of n-grams corresponding to the episode. We group the episodes based on the similarity of sequential episodes. We call this group a Plot(diagonal white boxes in figure 1).
The similarity threshold to group the episodes are subjective, and locally fluctuating in nature. For now, we have done this step manually. There is an optimization problem[2] to automate the step.
Findings
Season 1,2,3 are well separated.
The last episode of a season is similar to the first episode of the next season.
In the initial seasons, the story is flowing closely(linearly).
Non-diagonal squares denote non-linear(non-local) dependency in the storyline.
We don’t have a clear square during season 6. The story in these episodes relates to episodes far earlier in its timeline.
Findings
The diagonal squares are the plots. The change point on episode number 115 corresponds to a time leap in the show.
We call the smaller squares subplots.
Due to the subjective nature of the plot, sometimes the squares overlap.
Some smaller sub squares can be drawn inside square a.
The size of square b can be reduced.
Note: Episode numbers are not as per the beginning of the show.
We train sentence embeddings using the same technique. We fix the plot embedding(aggerate of all learned episodes embeddings) and then train sentence embeddings. We rank the sentences based on similarity, and other metrics(Subject-Verb-Object triplet count, Stop word count, length). The ranked sentences may contain similar content in them. In this case, the sentences do not cover the complete variance in the plot. To improve upon the summary, We cluster the sentences. Assuming the cluster centers correspond to different content types(topics) in the plot, We take the sentences corresponding to each cluster center. The final summary is comprised of sentences selected on clustering and ranking.
We have used pre-trained sentence encoders. Its performance was comparable to our method.
We used pre-trained[3] generative models for abstractive summarisation. Since these models are mostly trained on the News dataset, the generated summary was not satisfactory. News datasets tend to contain important information in the first 2-3 lines.
The team manually validated the plots and found them to be largely consistent. Stories in different plots were different.
Extracted sentences captured important events in the plot.
Characters in our TV shows go through various phases of life events. With time, their social circle changes, inter-character dynamics evolve and thus the story progresses. We study a character’s affinity to different social elements (other characters, action, event, emotion), and how this flow impacts viewership.
We treat character names in every episode as different. Character C in episodes i,j are replaced by dummy characters C_i, C_j respectively. We use the story-cloze task to learn the embeddings of the character in different episodes. We used the encoder part of the Transformer[4].
To capture the current state of a character, We first prepare a list of keywords associated with different social constructs(action, character, emotion, event). From text data, We prepare a co-occurrence matrix, wherein we store how many times a character has occurred with the keywords. We convert the matrix to a Graph(Vertices=Characters). Based on this graph for each episode, We learn a compact representation of the characters in each episode :
We have used Node2vec[5], a graph embedding method.
Singular Value Decomposition(SVD) for optimal low-rank approximation of the Graph.
Given the keywords prepared in formulation 2, We prepare Triplets(character, keyword, character). We train vectors using TransE[6](Translation in Embedding Space) method.
Vertex Size is proportional to the presence of the character in the episode. Edge width is proportional to the strength of connection two characters shared.
Given Embeddings of each character in sequential episodes, we have defined metrics to quantify character development.
We use these metrics for Supervised Learning.
Team : Pushkar Paranjpe, Sonu Dixit, Rishabh Prakash, Kaushik Das, Arunima Anand, Rahul Patil