Shakespearean Networks

The plays of William Shakespeare, like many plays, are organized as a series of "scenes" in which various characters speak in sequence. This Demonstration illustrates the structure of eight of his most famous plays by creating links between characters who speak in proximity to each other during a scene. You select the play. You also select the maximum permissible proximity of speakers required to forge a link. Thus, if you select maximum proximity as two, and the sequence of speakers in a scene is "HAMLET", "Ghost", "HAMLET", "MARCELLUS", "HORATIO", then Ghost and MARCELLUS would be linked but Ghost and HORATIO would not be. The Demonstration displays a network showing the relationships among the characters, a list of the most important characters as judged by their "page rank" in this network, and the communities of characters that maximize the "modularity" of the network. If you hover your mouse over a node in the network, the name of the associated character will appear.


Snapshot 1: Macbeth with maximum proximity of 1
Snapshot 2: Macbeth with maximum proximity of 2
Snapshot 3: Romeo and Juliet. Notice that Romeo and Juliet are in separate communities even with maximum proximity of 3.
If the variable playDictionary holds a list of rules mapping a filename onto an XML version of the play, the code required to create the speech sequences is as follows:
comments
 
Powered by Wolfram Mathematica
Give us your feedback
Give us your feedback

Source page:




 often  occasionally  never

Note: Please do not include anything you consider confidential or proprietary. Your message and contact information may be shared with the author of any specific Demonstration for which you give feedback, but will not otherwise be published or distributed.
Privacy Policy »

Note: To run this Demonstration you need the free
Mathematica Player
or Mathematica 7+
Download or upgrade to Mathematica Player 7
I already have Mathematica Player or Mathematica 7+