Inducing Stereotypical Character Roles from Plot Structure (2021)

Abstract: Stereotypical character roles-also known as archetypes or dramatis personae-play an important function in narratives: they facilitate efficient communication with bundles of default characteristics and associations and ease understanding of those characters’ roles in the overall narrative. We present a fully unsupervised k-means clustering approach for learning stereotypical roles given only structural plot information. We demonstrate the technique on Vladimir Propp’s structural theory of Russian folktales (captured in the extended ProppLearner corpus, with 46 tales), showing that our approach can induce six out of seven of Propp’s dramatis personae with F1 measures of up to 0.70 (0.58 average), with an additional category for minor characters. We have explored various feature sets and variations of a cluster evaluation method. The best-performing feature set comprises plot functions, unigrams, tf-idf weights, and embeddings over coreference chain heads. Roles that are mentioned more often (Hero, Villain), or have clearly distinct plot patterns (Princess) are more strongly differentiated than less frequent or distinct roles (Dispatcher, Helper, Donor). Detailed error analysis suggests that the quality of the coreference chain and plot functions annotations are critical for this task. We provide all our data and code for reproducibility.

## introduction stereotypical characters are characters that both play an important role in the plot of a story and fit into recognizable categories. in general, characters are central to every narrative and drive the action forward, and stereotypical character roles include both common, context-independent roles such as hero, villain, or victim, as well as culturallyspecific roles such as the donor (in, for example, 1 https://doi.org/10.34703/gzx1-9v95/ dd6sen russian tales) or the trickster (in, for example, native american tales). referred to alternatively as archetypes (abrams and harpham, 2014) or dramatis personae @xcite , stereotypical character roles are crucial aids to narrative understanding: they facilitate efficient communication with bundles of default characteristics and associations and ease understanding of the purpose of those character in the overall narrative @xcite . beyond demonstrated cognitive effects, stereotypical character roles are useful for nlp tasks such as narrative generation @xcite , interactive dialogue generation @xcite , and sentiment analysis @xcite . prior work has demonstrate the utility of preidentified roles. but how do we learn the roles in the first place? there have been several approaches to this task, but all prior work incorporated some a priori knowledge of the possible stereotypical roles in the model, for example, results of manual qualitative analyses @xcite , an archetype ontology @xcite , or feature vectors of archetype information @xcite . ideally a solution to this task will learn roles from the data in a completely unsupervised manner. we present just such an approach here, a k-means-based unsupervised clustering using plot functions as the key feature: we show that if you know characters' involvement in plot functions for a corpus, we can automatically induce the stereotypical roles with reasonable performance. the paper proceeds as follows. to motivate our approach we begin by describing prior work on learning stereotypical character roles ( §2). we next describe our corpus ( §4), followed by the experimental setup, including cluster assignment methods, features, and clustering models ( §5). we present the results ( §6) and analyze the error patterns of the system, discussing various aspects, which leads us to a discussion of future work ( §7). we conclude with our contributions ( §8). ## related work vladimir @xcite was a russian folklorist who provided one of the first classic accounts of stereotypical character roles in literary theory @xcite . propp studied a corpus of 100 russian hero folktales, and in his analysis proposed 31 plot functions and seven stereotypical character roles (which he called dramatis personae): hero, villain, donor, helper, princess, dispatcher, and false hero. while hero and villain are fairly universal, roles such as donor and false hero are somewhat culturally specific. there is a limited amount of prior work on learning or using stereotypical character roles in stories. one body of work uses roles, but does not automatically extract them. for example, @xcite built upon their work in character identification @xcite to assign stereotypical roles to characters. the authors encoded propp's "sphere of action" @xcite into a role action matrix and used a greedy similarity matching approach to assign roles to characters achieving 33.56% accuracy when using manually extracted characters. similarly, @xcite designed a system to classify characters in action movies into categories such as hero, antagonist, spouses, and sidekicks using graph and ngrams features, with an overall performance of 0.43 f 1 . groza and corde (2015) integrated propp's seven dramatis personae into an existing ontology, and then exploited constraints of character roles to reason over the ontology, inferring such things as family relationships and whether an entity was a main character. the model achieves 74% accuracy and outputs major characters who belong to one the seven types, but does not classify them more precisely. other work has tackled unsupervised clustering of characters, but either at more abstract levels or not quantitatively evaluated. the level of abstraction is important, because the more abstract a character role, the more likely it is to be found across cultures: unlike automatic character identification @xcite , which is generalizable across domains, stereotypical character roles depend strongly on the cultural background of the text. for example, chen et al. (2019) used a minimum span clustering approach to group characters into core, secondary and peripheral categories using a character network; such categories, while useful for stereotypical role learning, are not them-selves culturally-specific stereotypical roles. @xcite identifies the what they call the persona of characters-similar to a stereotypical character role-by clustering agent and patient actions as well as the adjectives used to describe the characters. their model achieves 42% purity at best between the models of the same size. following a similar persona definition, @xcite developed the booknlp pipeline to extract narrative information from english novels. the model is hierarchical and assigns multiple personas to a characters, and the authors used the analysis to explore the relationship between character persona and author style and literary effects; however, the reliability or performance of the actual persona extraction was not quantitatively evaluated. stereotypical roles are also useful in other nlp tasks. gervás (2013) explores the use of propp's 31 plot functions and seven dramatis personae to generate stories, while @xcite propose a model to generate role-appropriate dialogues for different character archetypes in an interactive environment. another recent work (bhaskaran and bhallamudi, 2019) looks at stereotypical gender and occupational roles to identify bias in sentiment analysis models. ## propp's morphology vladimir @xcite was a russian folklorist who wrote one of the first classic analyses of stereotyped character roles in literary theory @xcite . propp analyzed 100 russian folktales and introduced seven stereotypical character roles, listed below, which were connected to 31 basic structural elements or plot functions typical of the russian hero tales he analyzed, as shown in hero the role model of a story. villain the negative character who creates struggles for the hero. donor the character who provides some magical object to the hero. helper the character who helps the hero. princess the character who becomes a companion of the hero. dispatcher the character who illustrates the need for the hero's quest and sends the hero off. false hero the character who takes credit for the hero's actions. ## corpus we demonstrate our method on the so-called extended propplearner corpus @xcite , which is an expansion of the 16 tale propplearner corpus @xcite . this corpus comprises 46 russian folktales originally collected in russia in the late 1800s but translated into english, and then annotated using modern linguistic annotation methods for a variety of useful information. we used all 46 folktales for training the animacy and character detection stages, but excluded two of those texts (#16 and #17) from the archetype learning experiments due to errors in the alignment of archetype markings with referring expression annotations. to the best of our knowledge, this is the only corpus that provides gold-standard stereotypical character role annotations as well as plot function information. it also contains gold-standard annotations for referring expressions, coreference chains, animacy, and character @xcite . we performed some manual correction on this corpus, primarily eliminating minor errors in the coreference chain and plot function anno-tation and merging coreference chains that were erroneously split. element type counts archetype gold auto. ## approach our approach assumes we begin with coreference chain annotations. we first detected the animate entities using an existing state-of-the-art animacy detector @xcite , then identified which of those animate entities are characters using an existing character identifier @xcite . finally, we implemented k-means clustering to learn stereotypical roles of those characters. ## results and discussion for each feature set explored, we swept the number of clusters (k) from 1 to 20, calculating the overall f 1 across the clustering as an objective measure. in most cases, @xmath0, which matches the number of labels in the set. in general, the plot function p1b feature outperformed all of the other plot function features. our model achieved the best performance (f 1 0.58) for the feature set of p1b, tf-idf, bag-of-words, and hashing for all clustering assignment methods. for the case of individual cluster results, we can see that the results of hero, villain, princess, and other clusters are better than donor, helper, and dispatcher clusters. we hypothesize that this is due to both lack of data for the latter labels, as well as lack of distinctiveness in the distributions of their plot function participation. donor does poorly on tf-idf while princess is high, we suspect because donor is mostly dependent on actions, not on the content of the coreference chains. on a different note, the features containing thematic information do not impact most of the classes except for dispatcher. ## error analysis a detailed error analysis of the results revealed some minor problems for the model that depends on the external tools we have used and the quality of the data. first, the model uses the output of the animacy and character models. therefore, our clustering model compounds the errors from those steps. improvement in animacy and character models can improve the performance. second, the quality of coreference chains and plot functions is critical for the model. initially runs of our model did not achieve good performance, but the performance increased when we discovered and corrected a number of errors in the coreference chains and plot function annotations. after including missing plot function annotations and completing incomplete coreference chains, the f 1 improved from 0.45 to 0.50 for p1b. third, some roles are not involved in very many plot functions; therefore, the model has difficulty clustering them correctly. finally, a few characters have multiple roles simultaneously, but our model can learn only assign one role for each character. future work might address this issue through a hierarchical clustering method that supports multiple roles simultaneously. ## contributions we have made two major contributions in the area of stereotypical character role learning. first, we designed and developed a pipeline to learn stereotypical roles automatically. second, we showed that plot functions, agent, and patient information are necessary to cluster similar roles. we provide our code and data for reproducibility of the work 3 .