Reading and Writing Electronic Text (Schedule Spring 2020)
Syllabus here. Readings should be generally available on the web, unless otherwise indicated. If you’re having trouble accessing a resource, try the NYU Library Proxy (it’s very easy to set up). Please contact me ASAP if you have trouble accessing any of the readings.
Items marked as “intertexts” are related work (artworks, poems, etc.) that are in dialogue with the readings and concepts presented in class. You’re encouraged to review and engage with these works.
Please use this form to turn in your homework assignments.
NOTE: If at any point you’re having trouble running the example code, try using the code/notes on Binder instead.
Session 01: Strings and expressions
- Introduction and syllabus
- Installing Anaconda (download the “graphical installer” for your platform)
- Introduction to Jupyter Notebook
- Python expressions and strings
- Uploading your notebooks
Due at the beginning of session 02.
Many well-known poetry generators, especially those from the beginning of the computational era, work by drawing randomly from a limited vocabulary of strings and composing those strings using straightforward string manipulation techniques (like concatenation, splitting, joining, indexing, etc.). Create your own poetry generator using these techniques. Use one of the generators implemented in this notebook as a starting point for your creation. It’s okay if at this point you’re just copy-and-pasting code! You should be able to identify the parts of the code you can change without breaking things. (But also don’t be afraid to break things.)
In your documentation, discuss the poetry generator you created and how it differs from the code it was based on. Why did you choose the vocabulary that you chose? Does your generator succeed in creating output that surprises you?
To be discussed (briefly) in session 02.
The short chapter from Hartman’s Virtual Muse sets up a theoretical framework for understanding the appeal of computer-generated poetry: juxtaposition. Consider Hartman’s thesis in the context of the poem generators you modified in this week’s assignment. “Bots Should Punch Up,” on the other hand, presents a moral framework for computer-generated texts (and algorithmic action in general).
- Hartman, Charles O. “Start with Poetry.” Virtual Muse: Experiments in Computer Poetry, Wesleyan University Press, 1996, pp. 16–27.
- Richardson, Leonard. “Bots Should Punch Up.” Crummy.Com, 27 Nov. 2013, https://www.crummy.com/2013/11/27/0.
Optional, on that Pound poem cited in the Hartman chapter above:
- Pound’s full translation of “The River Merchant’s Wife”
- An essay accompanying a present-day translation of “Parting at Changgan” (Li Bai’s work upon which Pound’s translation is based)
- The text (in Chinese) of the original poem, with word-for-word English translation
- Hayot, Eric. “Critical Dreams: Orientalism, Modernism, and the Meaning of Pound’s China.” Twentieth Century Literature, vol. 45, no. 4, Duke University Press, 1999, pp. 511–33.
Recommended programming exercise
Session 02: Lists and lines
- Python: Understanding lists, manipulating lines
To be discussed in session 03.
How (if at all) is randomness uniquely suited to creating surprising juxtapositions in poetry? How does a procedural technique reflect the intentionality of its creator? What effect does the choice of source text have on the “output” of a procedural technique?
- Hartman, Charles O. “The Sinclair ZX-81.” Virtual Muse: Experiments in Computer Poetry, Wesleyan University Press, 1996, pp. 28–37.
- Poetry and Pleasure from Mac Low, Jackson, and Anne Tardos. Thing of Beauty: New and Selected Works. University of California Press, 2007.
- Notanda from Philip, M. NourbeSe, and Setaey Adamu Boateng. Zong! Wesleyan University Press, 2008. Project MUSE, http://muse.jhu.edu.proxy.library.nyu.edu/book/12847. (Engage with the rest of the book as well.)
Optional but recommended:
- Lexia 126 through 185 from Trettien, Whitney Anne. Computers, Cut-Ups and Combinatory Volvelles: An Archaeology of Text-Generating Mechanisms. MIT, 2009, http://whitneyannetrettien.com/thesis/.
- “Creative reading techniques” (ch. 6) from Padgett, Ron. Creative Reading: What It Is, How to Do It, and Why. National Council of Teachers of English, 1997.
- Hejinian, Lyn. “The Rejection of Closure.” Poetry Foundation, 2009, https://www.poetryfoundation.org/articles/69401/the-rejection-of-closure.
Recommended programming exercise
Session 03: Keys and values
Due at the beginning of session 04.
The digital cut-up. Create a notebook program that reads in two or more texts
and stores portions of them in Python data structures. The program should
create textual output that creatively rearranges the contents of the text. Use
functions from the
random module as appropriate. You must use lists as part
of your procedure. Choose one text that you created with your program to
present in class.
- The Little Gidding Harmonies
- Permutations (re-implemented by Joseph Moore)
- Front page news by Jen Hofer
Suoplementary notes and recommended exercises
- Python: Dictionaries, sets, tuples (more thorough dictionary tutorial)
- Programming Exercise C: Dictionaries
Session 04: Grammars
To be discussed in session 05.
These readings concern the relationship of form, content, and affordance. What is a poetic form? To what extent are form and content independent? Does a particular subject matter or phenomenology demand a particular form? What kind of forms are procedures effective at implementing (or emulating)?
- Giles, Harry Josephine. “Some Strategies of Bot Poetics.” Harry Josephine Giles, 6 Apr. 2016.
- Morris, John. “How to Write Poems with a Computer.” Michigan Quarterly Review, vol. 6, no. 1, 1967, pp. 17–20.
- Lee, Sueyeun Juliette. “Shock and Blah: Offensive Postures in ‘Conceptual’ Poetry and the Traumatic Stuplime.” Evening Will Come, vol. 41, 2014.
Session 05: Natural language processing
- Reading discussion
- Python functions
- Terms to know when talking about language
- Python: Introduction to Spacy
Due at the beginning of session 06.
The genre study: Choose a genre or form of writing. This can be anything from a literary genre to a meme format. Gather a small number of exemplars of the genre and make a list of the characteristics that are common to all of them. Write a program that produces texts that emulate a particular form or genre of language.
On genre and poetic form.
- Table of forms
- Pentametron by Ranjit Bhatnagar
- Susan Scratched by Caitlin Weaver
- Poem.exe by Liam Cooke
Session 06: Distributional semantics
- Python: Introduction to word vectors
To be discussed in session 07. The Bucholtz reading addresses the process of turning the speech event into text, and how there is no such thing as a perfect transcription. Reflect on the importance of this for computational models of language, which must always begin with some kind of transcription. (More notes TK.)
- Bucholtz, Mary. “The Politics of Transcription.” Journal of Pragmatics, vol. 32, no. 10, 2000, pp. 1439–1465.
- Drucker, Johanna. “Why Distant Reading Isn’t.” PMLA, vol. 132, no. 3, Modern Language Association, May 2017, pp. 628–35.
- To watch: Rachel Tatman, “What I won’t build”
- Heller, Nathan. “What the Enron Emails Say About Us.” The New Yorker, July 2017. www.newyorker.com, http://www.newyorker.com/magazine/2017/07/24/what-the-enron-e-mails-say-about-us.
- Hovy, Dirk, and Shannon L. Spruit. “The Social Impact of Natural Language Processing.” Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), Association for Computational Linguistics, 2016, pp. 591–598.
- Underwood, Ted. “A Genealogy of Distant Reading.” Digital Humanities Quarterly, vol. 011, no. 2, June 2017.
- The Hills, 5 by Kate Durbin
- PCOET by David Melnick
- Talking Popcorn by Nina Katchadourian
- Reverse OCR by Darius Kazemi
- Veil by Charles Bernstein
Session 07: Neighbors, clusters, classification
- Reading discussion
- Neighbors, clusters and classification
Due at the beginning of session 08.
The digital cut-up revisited. In assignment #2, the tools available to you for cutting up and rearranging texts relied only on information present in the character data itself. Since then, we’ve learned several methods for incorporating outside information concerning syntax (i.e. with spaCy) and semantics (i.e., word vectors) into what we “know” about a text in question. Adapt your original digital cut-up assignment, making use of one of these new sources of information. What new aesthetic possibilities are made available if the unit of the cut-up can be a type of syntactic unit (instead of words, lines, characters), and if stretches of text can be algorithmically selected not at random, but based on their meaning?
Session 08: Language models, part 1
- Continuing work on neighbors, classification, etc.
- Just the first half of this notebook on predictive text. For a more detailed explanation of Markov chain text generation (along with a complete implementation), see Markov models and chains
- Hartman, Charles O. “Travesty.” Virtual Muse: Experiments in Computer Poetry, Wesleyan University Press, 1996, pp. 54–64.
- From “Philosophers on GPT-3”: Zimmerman, “If You Can Do Things with Words, You Can Do Things with Algorithms” and Vallor, “GPT-3 and the Missing Labor of Understanding”. (Feel free to read the other articles as well!)
- Riedl, Mark. “AI Democratization in the Era of GPT-3.” Medium, 25 Aug. 2020.
- Bertram, Lillian-Yvonne. “Incident.” (excerpted from Travesty Generator)
- Botnik Studios
- Binder, Jeff. Visions and revisions.
Session 09: Language models, part 2
- Reading discussion
- Predictive text with Markov chains.
- I’ll show you how to use the aitextgen Colab notebook.
Due at the beginning of session 10.
Use predictive models to generate text: either a Markov chain or a neural network, or both. How does your choice of source text affect the output? Try combining predictive text with other methods we’ve used for analyzing and generating text: use neural network-generated text to fill Tracery templates, or train a Markov model on the output of parsing parts of speech from a text, or some other combination. What works and what doesn’t? How does neural network-generated text “feel” different from Markov-generated text? How does the length of the n-gram and the unit of the n-gram affect the quality of the output?
Session 10: Words and sound, part 1
- Pronouncing tutorial
To be discussed at the beginning of session 11. These readings address how the way words sound can be deployed for poetic and rhetorical effect, and the role of sound symbolism in language and literature at large.
- Robson, David. “In the Beginning Was the Word, and the Word Was Embodied.” Aeon, 6 Feb. 2019.
- LaBelle, Brandon. “Gibberish, Gobbledygook.” Lexicon of the Mouth: Poetics and Politics of Voice and the Oral Imaginary, Bloomsbury Academic & Professional, 2014
- Hume, Christine. “Improvisational Insurrection: The Sound Poetry of Tracie Morris.” Contemporary Literature, vol. 47, no. 3, University of Wisconsin Press, 2006, pp. 415–39.
Optional, on sound symbolism:
- Borroff, Marie. “Sound Symbolism as Drama in the Poetry of Robert Frost.” PMLA, vol. 107, no. 1, 1992, pp. 131–44. JSTOR, doi:10.2307/462806.
- Bök, Christian. “When Cyborgs Versify.” The Sound of Poetry/The Poetry of Sound, edited by Craig Dworkin and Marjorie Perloff, University of Chicago Press, 2009, pp. 129–41.
- Hinton, Leanne, et al. “Introduction: Sound-Symbolic Processes.” Sound Symbolism, Cambridge University Press, 1995. ProQuest Ebook Central, http://ebookcentral.proquest.com/lib/nyulibrary-ebooks/detail.action?docID=4641097.
- Hrushovski, Benjamin. “The Meaning of Sound Patterns in Poetry: An Interaction Theory.” Poetics Today, vol. 2, no. 1a, 1980, pp. 39–56. JSTOR, doi:10.2307/1772351.
Optional, on expressiveness and identity in the practice of spelling:
- Androutsopoulos, Jannis K. “Non-Standard Spellings in Media Texts: The Case of German Fanzines.” Journal of Sociolinguistics, vol. 4, no. 4, Nov. 2000, pp. 514–33.
- Rickford, John Russell, and Russell John Rickford. Spoken Soul: The Story of Black English. Wiley, 2000. (See especially chapter 2 for a discussion of “eye dialect”.)
- Ilbury, Christian. “‘Sassy Queens’: Stylistic Orthographic Variation in Twitter and the Enregisterment of AAVE.” Journal of Sociolinguistics, vol. 24, no. 2, 2020, pp. 245–64. (Great example of AAVE language features being deployed stylistically, e.g., appropriatively, especially phonetic features that manifest orthographically.)
- Dworkin, Craig. “To Destroy Language.” Textual Practice, vol. 18, no. 2, Jan. 2004, pp. 185–97.
- generative-DOOM by Nabil Hassein. Read the “Decolonizing Pronouncing” section in particular.
Session 11: Words and sound, part 2
- Reading discussion
- Pincelate tutorial
- Cut-ups and remixing with Pronouncing and Pincelate
Due at the beginning of session 12.
The digital cut-up revisited again. Adapt an existing cut-up assignment to take make use of rhyme, meter, or sound symbolism (or develop something new from scratch).
Session 12: Applications
- Web applications with Flask; for running on Glitch, see notes here.
- If time: ipywidgets tutorial
Session 13: Workshop
- Workshop day (bring in a draft of your final project piece to share).
Session 14: Final project presentations
- Final project presentations.