Robot-Human-Text Relationships in Asimov’s “Someday”

Let’s call this ‘phase 1’ of an on-going project of mine.  It started as a simple assignment as introduction to XML, and has since snowballed into something, I think, deserves more effort and study.  ‘Phase 1’ represents my initial attempt at encoding certain narrative features in Isaac Asimov’s “Someday”.  My idea: What sort of relationships between Asimov’s robot and human characters can be determined through encoding?  It’s still early to tell, but results so far seem promising.

The story and my meager attempts at rendering the results in XHTML are viewable at http://www.ualberta.ca/~eforcier/someday/someday3.xml (recommend viewing in Firefox)

Here’s the initial report I wrote to accompany the site:

When I selected the text “Someday” by Isaac Asimov it was with a particular purpose in mind.  This short story is among a number of other Asimov texts commonly referred to as his “robot stories”.  Typically these robot stories contain a principal human character and a principal robot character, as well as any number of supporting characters both robot and human.  I wanted to establish a way of encoding these stories that would allow me to map relationships with the robot characters and identify how the figure of the robot is constructed.  How are robots treated in Asimov’s robot stories?  Early on I determined that I could use XML to encode all references in the narrative to the principal robot character[1], but this act alone was not enough to provide the data I needed to answer my question.  In order for my method to be successful, I had to distinguish different types of references and identify the source in each case.   “Someday” introduced additional challenges as well; the text contains four “inner stories” told by the principal robot character that parallel the main narrative.  There was also the question of document analysis: should I concern myself with the source of the text?  Is it important to place it in context?  What ancillary information needs to be encoded?

I accomplished my primary task of identifying and categorizing all references to the principal robot character with a single element: pr_ref.  This element is designed to extract two key pieces of information from each reference it catalogues: source and type.  All references are sorted into three different ‘types’: descriptive, emotive, and interactive.  The ‘descriptive’  value is used whenever a reference describes the principle robot character, e.g. “just an old thing I had when I was a kid”, “it turned out to be just as stupid as he expected.”  The ’emotive’ value represents any reference that contains an emotional response to the robot, e.g. “[he] looked at it critically”, “despite Niccolo’s own bitterness against the Bard.”  The ‘interactive’ value applies when there is an action being exerted upon or otherwise involving the robot, e.g. “he kicked the Bard with his foot”, “he had the front panel off and peered in.”  The source is identified by where the reference is located in the narrative.  Since the ’emotive’ and ‘interactive’ values both require agency to occur, the source will always be associated with another character in the text (e.g. Paul, Niccolo).  ‘Descriptive’ values can be associated with the narrative voice (“nvoice”), if it is clear the reference is occurring outside the experiential range of any of the characters.  Together the tag looks like this:

<pr_ref src=”[Paul|Niccolo|nvoice]“”>[descriptive|emotive|interactive]”>[p.r. reference]</pr_ref>[2]

When parsing data it then becomes possible to determine, for instance, how many, what type, and which references originated with Niccolo (the principal human character), and identify possible patterns in the text.  I did exactly that by creating separate XSL style sheets for each possible source (Niccolo, Paul, and “nvoice”)[3]; in so doing, I discovered that Paul (the supporting/secondary human character) interacts with the robot quite a bit more than Niccolo, but that Niccolo is more emotionally responsive to the robot.  This also allows me to see how the identity of the robot is constructed.  If my method were used on all of the robot stories, would there be a pattern to the formation of the robot character?  How would the relationships between robot, human, and text reveal themselves?  And what could it mean in an analysis of the corpus?

I also encoded character names and third-person pronouns in the narrative[4].  Although I did not make any particular use of this encoding, this could be valuable information in an analysis of the different relationships and how interaction is constructed in the text[5].  For instance, while the narrative voice refers to the robot only as “it”, on several occasions both human characters refer to it as “he”.  Is this merely an accurate portrayal of children incorrectly ascribing gender to an inanimate object, or could this have a deeper significance?  Are robots gendered in other robot stories?  What does that mean for Asimov’s robot?

One of the complexities of “Someday” that I wanted to explore was the presence of stories-within-story.  The principal robot character, the Bard, is a story-telling robot.   At key moments in the text, the Bard starts telling a story.  I was curious to view these “inner stories” in sequence, removed from the greater narrative.  By adding an “inner story” attribute to the <p> element I was able to extract all paragraphs containing “inner stories” and read them separately[6].   When the “innerstories” of “Someday” are seen side-by-side, one commonality sticks out: none of them have endings.  Throughout the narrative, these stories are interrupted by the humans, Niccolo and Paul, but the last story is interrupted by the robot’s own flawed parts.  My encoding facilitated this discovery; while in this case the information was fairly obvious, the encoding of “inner stories” could be valuable when analyzing the structures of meta-narratives.

In my approach to this project I determined that I wanted to prioritize discourse analysis over document analysis.  This decision is apparent in the tree structure of my XML.  Since I was focusing on a single text, the root element is “STORY”.  This is consistent with the idea that, were I to encode an entire corpus of robot stories, I would create a new root element for “STORIES” containing “STORY” as child elements.  I did, however, include document information under the child element “collection”, which includes front matter like reviews and table of contents from the text source.  My DTD includes the possibility of elements such as “printHistory” and “back” for content that appears after the text.  I also included the element “notes” for encoder comments that I wanted to include with the text[7].

Originally I was going to render my XML using CSS alone, but after a first attempt I realized I could not accomplish everything I wanted to with it; I could only render the information once onto a web page and I had no way of linking pages.  I turned to XSLT to create XHTML pages that would provide more room for me to play with the XML.  While all XML documents validated against the DTD and the XSL documents were well-formed, I ran into some difficulty trying to get the XHTML to render across different browsers.  Mozilla Firefox displays all pages correctly, while Internet Explorer and Safari read the inline styles differently.  Firefox is recommended for viewing these web pages, since it will not render correctly in other browsers.

There are other ways of using the XML encoding of “Someday”.  With a larger file including multiple texts, the Mandala browser developed by Dr. Stan Ruecker would allow me to visualize the same associations I have made using XHTML pages as a series of connected dots and “magnets”; the observation, for instance, that Niccolo interacts less and is more emotionally responsive to the Bard would be that much more apparent.  It would be possible to easily identify the patterns of human-robot relationships that occur throughout Asimov’s robot stories via this type of visualization.  I intend to expand on this project and continue this line of enquiry by examining how such an examination could be put into practice using Mandala.


[1] Note that this would work equally well with any other character in a given text.  It would probably be inadvisable, however, to encode references in a single XML document to more than one or two characters.
[2] I used the characters’ names when assigning the source, but if I were to encode several stories I could use a generic identifier, e.g. phuman = principal human character, shuman = secondary human character, and so on.
[3] The XHTML page can be viewed for each of these style sheets by opening the following xml files in a browser: somedaynvoice.xml, somedayphuman.xml, somedayshuman.xml.
[4] Names were encoded by identifying the role they played in the text: e.g. probot = principal robot character, shuman = secondary human character.
[5] The TEI does this, for instance, albeit more rigorously and in greater complexity.  The Encoding Guide for Early Printed Books (Women Writers Project) discusses some general reasons why it can be useful to encode names, titles, and pronouns: http://www.wwp.brown.edu/encoding/guide/html/phrase_namesGeneral.html.
[6] The XHTML page can be viewed by opening someday_innerstory.xml in a browser.
[7] These notes are used in someday.xml, which was rendered with CSS.  They explain why certain parts of the text are highlighted.

I’ve had a chance to mess around with Dr. Ruecker’s Mandala browser since writing this, and I can say that using such an interface to visualize the human-robot relationships, and as an aid in analysis seems particularly valuable.  Here’s just an example, based on some preliminary screen shots (click on images to view in medium- and full-size).

The next ‘phase’, I suppose, is developing a corpus of encoded robot stories, and refining my XML.

Advertisements
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: