{"id":137,"date":"2018-07-09T18:26:18","date_gmt":"2018-07-09T18:26:18","guid":{"rendered":"http:\/\/sarahjpurcell.sites.grinnell.edu\/sandbox_clone\/?page_id=137"},"modified":"2019-10-30T16:50:47","modified_gmt":"2019-10-30T16:50:47","slug":"topic-modeling","status":"publish","type":"page","link":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/tutorials\/textual-analysis\/topic-modeling\/","title":{"rendered":"Introduction to Topic Modeling"},"content":{"rendered":"<p>This tutorial was written by <a href=\"https:\/\/www.grinnell.edu\/users\/waldenka\">Katherine Walden<\/a>, Digital Liberal Arts Specialist at Grinnell College.<\/p>\n<p>This tutorial was reviewed by <a href=\"https:\/\/www.grinnell.edu\/users\/purcelsj\">Sarah Purcell<\/a> (L.F. Parker Professor of History) and <a href=\"https:\/\/www.grinnell.edu\/users\/donovang\">Gina Donovan<\/a> (Instructional Technologist) at Grinnell College, and edited by Papa Ampim-Darko, a student research assistant at Grinnell College.<\/p>\n<p>This tutorial is adapted from the Programming Historian\u2019s <a href=\"https:\/\/programminghistorian.org\/en\/lessons\/topic-modeling-and-mallet\">Topic Modeling and MALLET tutorial<\/a>.<\/p>\n<p><a href=\"http:\/\/creativecommons.org\/licenses\/by-nc\/4.0\/\" rel=\"license\"><img decoding=\"async\" style=\"border-width: 0;\" src=\"https:\/\/i.creativecommons.org\/l\/by-nc\/4.0\/88x31.png\" alt=\"Creative Commons License\" \/><\/a><br \/>\nIntroduction to Topic Modeling is licensed under a <a href=\"http:\/\/creativecommons.org\/licenses\/by-nc\/4.0\/\" rel=\"license\">Creative Commons Attribution-NonCommercial 4.0 International License<\/a>.<\/p>\n<p>&#8212;&#8212;&#8212;-<\/p>\n<p>As the authors in <em>Exploring Big Historical Data <\/em>point out, \u201cKeywords have their limitations, in that they require us to know what to search for\u201d (113). As an alternative, topic modeling builds a list of significant terms by calculating what terms, phrases, clusters, etc. are significant or occur frequently within a text.<\/p>\n<p>In this tutorial, we will introduce topic modeling using digital tools that represent the types of technical interfaces historical scholars use in their research. Across these digital tools, we will be using the process Underwood describes for topic modeling:<\/p>\n<blockquote><p>\u201cYou assign words to topics randomly and then just keep improving the model, to make your guess more internally consistent, until the model reaches an equilibrium that is as consistent as the collection allows\u201d (Underwood, quoted on page 119)<br \/>\n<em>Exploring Big Historical Data<\/em>: Chapter 4<\/p><\/blockquote>\n<hr \/>\n<h4 style=\"text-align: center;\">GUI Topic Modeling Tool (GTMT)<\/h4>\n<p>As we\u2019ll explore later in this tutorial, the more robust topic modeling tools can sometimes have a steep technical learning curve. The <a href=\"https:\/\/github.com\/senderle\/topic-modeling-tool\">Topic Modeling Tool<\/a> in a Google Code repository provides a graphical user interface for preliminary topic modeling. The project was created in 2011 through a Institute of Museum and Library Services grant and was developed by Yale University, the University of Michigan, and the University of California, Irvine. The GUI Topic Modeling Tool is built on the <a href=\"http:\/\/mallet.cs.umass.edu\/\">MALLET toolkit<\/a>.<\/p>\n<hr \/>\n<h5>Data<\/h5>\n<p>Navigate to <a href=\"https:\/\/sarahjpurcell.sites.grinnell.edu\/digital_methods\/files\/Equiano_Text.txt\">https:\/\/sarahjpurcell.sites.grinnell.edu\/digital_methods\/files\/Equiano_Text.txt <\/a>in a web browser and save the \u201cFiles\u201d compressed zip folder to your Desktop.<\/p>\n<p>Extract the folders contents.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<h5>Launching GTMT<\/h5>\n<p>GTMT is already installed on the computers in our classroom.<\/p>\n<p>To use it on your own computer, go to the <a href=\"https:\/\/github.com\/senderle\/topic-modeling-tool\">GitHub page<\/a>, download the Mac or Windows version, and follow the installation instructions.<\/p>\n<p><a href=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_GTMT.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-616\" src=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_GTMT.png\" alt=\"\" width=\"852\" height=\"322\" srcset=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_GTMT.png 852w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_GTMT-300x113.png 300w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_GTMT-768x290.png 768w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_GTMT-676x255.png 676w\" sizes=\"auto, (max-width: 852px) 100vw, 852px\" \/><\/a><\/p>\n<p>Navigate to <strong>C:\\Program Files (x86)\\TopicModelingTool\\app<\/strong> in File Explorer, and double click on the <strong>TopicModelingTool-jfx<\/strong> file to launch the program.<\/p>\n<hr \/>\n<h5>Importing and Analyzing Data<\/h5>\n<p><a href=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-844\" src=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_1.png\" alt=\"\" width=\"505\" height=\"370\" srcset=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_1.png 505w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_1-300x220.png 300w\" sizes=\"auto, (max-width: 505px) 100vw, 505px\" \/><\/a><\/p>\n<p>1-Click the <strong>Input Dir\u2026<\/strong> icon and select the folder where the Equiano text file is located.<\/p>\n<p>2-Click the <strong>Output Dir\u2026<\/strong> icon and <strong>create a folder<\/strong> on the Desktop named <strong>Topic Modeling<\/strong>. Select this folder as your Output Directory.<\/p>\n<p>3-Click the <strong>Learn Topics<\/strong> icon to topic model the source text.<\/p>\n<p><a href=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_2-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-568\" src=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_2-3.png\" alt=\"\" width=\"932\" height=\"576\" srcset=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_2-3.png 932w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_2-3-300x185.png 300w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_2-3-768x475.png 768w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_2-3-676x418.png 676w\" sizes=\"auto, (max-width: 932px) 100vw, 932px\" \/><\/a><\/p>\n<p>4-What you see happening in the Console is the back-end work the MALLET tool does to generate the topic models.<\/p>\n<p>5-Once modeling is complete, the locations for output files is the folder you selected as Output Dir\u2026 The full file path for the output files is listed under <strong>**Generating Output**<\/strong> in the Console.<\/p>\n<hr \/>\n<h5>Exploring Results<\/h5>\n<p><a href=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_3-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-569\" src=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_3-2.png\" alt=\"\" width=\"742\" height=\"313\" srcset=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_3-2.png 742w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_3-2-300x127.png 300w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2018\/08\/Capture_3-2-676x285.png 676w\" sizes=\"auto, (max-width: 742px) 100vw, 742px\" \/><\/a><\/p>\n<p>6-Open <strong>File Explorer<\/strong> and navigate to the folder you selected as the <strong>Output Directory<\/strong>. In that folder, you have the results of your topic modeling as <strong>CSV and HTML files<\/strong>.<\/p>\n<p>7-Click on the <strong>output_html folder<\/strong>.<\/p>\n<p>8-The <strong>Docs folder<\/strong> contains an HTML file with topic modeling for each individual document contained in the <strong>Input Directory folder<\/strong>. <strong>All_topics<\/strong> is an HTML file that provides the list of topics. The <strong>Topics folder<\/strong> contains an HTML file that lists how many times a specific topic appears in each document.<\/p>\n<p><a href=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-843\" src=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_2.png\" alt=\"\" width=\"1267\" height=\"324\" srcset=\"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_2.png 1267w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_2-300x77.png 300w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_2-768x196.png 768w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_2-1024x262.png 1024w, https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-content\/uploads\/2019\/10\/Img_2-676x173.png 676w\" sizes=\"auto, (max-width: 1267px) 100vw, 1267px\" \/><\/a><\/p>\n<p>9-Open the <strong>all_topics HTML file<\/strong>.<\/p>\n<p>10-Based on your existing knowledge of the source text, how accurate or expected\/believable are these topics? What terms or topics surprise you? What terms or topics are absent that you think might be significant?<\/p>\n<p>11-Open the <strong>output_html folder<\/strong> and open the HTML file for a specific topic.<\/p>\n<p>12-Based on your knowledge of the source text, are you surprised by the distribution of this topic or where it appears in the text? What questions do you have about the results for this topic?<\/p>\n<p>13-Open the <strong>output_csv folder<\/strong>. The <strong>topics-words CSV<\/strong> includes the list of topics generated from the GTMT.<\/p>\n<p>14-The <strong>topics-in-docs CSV file<\/strong> is organized by document and lists the topics that appear in each document. The <strong>docs-in-topics CSV file<\/strong> is organized by topic and lists the documents that include each topic.<\/p>\n<p>15-<strong>Open both CSV files<\/strong>. How does the organization of information compare across the two table structures? How is the presentation of information in the CSV files different than your experience with the HTML files? What questions do you have about the information contained in the CSV files?<\/p>\n<p>16-How useful did you find the GTMT for enriching your understanding of the text?<\/p>\n<hr \/>\n<h5>Additional Exploration<\/h5>\n<ul>\n<li>Change the number of topics generated by the GTMT and compare results. How did changing the number of topics change the topic modeling structure?<\/li>\n<li>Click on the Optional Settings icon to see additional customization options for the GTMT, like adding a list of stopwords and changing the number of topic words to print.<\/li>\n<\/ul>\n<hr \/>\n<p><!--\n\n\n<h4 style=\"text-align: center;\"><span style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" data-mce-type=\"bookmark\" class=\"mce_SELRES_start\"><\/span>Topic Modeling using MALLET<\/h4>\n\n\nThe GTMT runs on the <a href=\"http:\/\/mallet.cs.umass.edu\/index.php\">Machine Learning for Language Toolkit<\/a> (MALLET), which is an open-source software developed in 2002 at the University of Massachusetts. Built on Java, the MALLET package allows researchers to use machine learning functions like natural language processing, document classification, clustering, topic modeling, and information extraction to textual data. In this tutorial, we will be focusing on the topic modeling functionality within MALLET.\n\n\n\n<hr \/>\n\n\n\n\n\n<h5>Installing MALLET<\/h5>\n\n\nMALLET is already installed on the Library lab computers.\n\nTo install MALLET on your own computer, first download the <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/index.html\">Java developer\u2019s kit<\/a> (JDK) and\u00a0 follow the instructions on the <a href=\"http:\/\/mallet.cs.umass.edu\/download.php\">MALLET project download page.<\/a>\u00a0Consult The Programming Historian\u2019s <a href=\"https:\/\/programminghistorian.org\/en\/lessons\/topic-modeling-and-mallet\">MALLET tutorial<\/a> for more detailed installation instructions.\n\n\n\n<hr \/>\n\n\n\n\n\n<h5>MALLET and the Command Line<\/h5>\n\n\nUp to this point in our tutorials, we have explored digital history tools using Graphical User Interfaces, or GUIs. More complex tools or more complex projects often require working outside a GUI environment to more fully analyze and visualize a historical data set. This MALLET tutorial requires some work with the Command Line Interface (CLI). If you are new to working with a CLI, The Programming Historian\u2019s <a href=\"https:\/\/programminghistorian.org\/en\/lessons\/intro-to-bash\">Introduction to the Bash Command Line tutorial<\/a> is a useful introduction. In this tutorial, we will be running MALLET from the Windows Command Prompt.\n\n1-Open <strong>Command Prompt<\/strong> by selecting <strong>Start Menu -&gt; All Programs -&gt; Accessories -&gt; Command Prompt<\/strong>. Right click on the <strong>Command Prompt<\/strong> icon and select <strong>Run as administrator. <\/strong>Click <strong>Yes<\/strong> on the pop-up window.\n\n2-Type cd .. (cd-space-period-period) to change your directory. Continue using cd .. until you are at the C: directory.\n\n\n<pre> cd .. (cd-space-period-period)<\/pre>\n\n\n3-Type cd mallet to open the MALLET directory.\n\n\n<pre>cd mallet<\/pre>\n\n\n4-To use MALLET, you have to specify you are using a MALLET command and direct the computer to where it can get information on how to run that command.\n\n5-If you open the MALLET folder in File Explorer, you will see a bin subfolder, which contains the directions for running MALLET commands.\n\n6-Type bin\\mallet and hit Enter on the keyboard to be presented with a list of MALLET commands. The bin\\mallet commands explain the different commands you can use to explore topic modeling in MALLET.\n\n\n<pre>bin\\mallet<\/pre>\n\n\n\n\n\n<hr \/>\n\n\n\n\n\n<h5>Adding Data to MALLET<\/h5>\n\n\n7-[COPYING S&amp;B DATA INTO MALLET DIRECTORY]\n\n8-[NAVIGATE TO SUB DIRECTORY WITH S&amp;B DATA]\n\n\n\n<hr \/>\n\n\n\n\n\n<h5>Loading a MALLET Object<\/h5>\n\n\n9-Use the following command to import the directory with the S&amp;B text files into MALLET\n\n\n<pre>bin\\mallet import-dir - - input sample-data\\Files - -output tutorial.mallet - - keep-sequence - -remove-stopwords<\/pre>\n\n\n\n\n<blockquote>To translate the command we just used:\n\n\n<ul>\n \t\n\n<li>bin\\mallet instructs the computer to get MALLET instructions from the bin folder.<\/li>\n\n\n \t\n\n<li>import-dir means we are importing a directory<\/li>\n\n\n \t\n\n<li>dash-dash input sample-data\\Files tells the computer the location of our input directory<\/li>\n\n\n \t\n\n<li>dash-dash output tutorial.mallet tells the computer to save the imported directory as a MALLET object labeled tutorial.mallet<\/li>\n\n\n \t\n\n<li>dash dash keep-sequence keeps the texts in the order they were loaded, and dash-dash remove-stopwords removes function words like a, an, and the based on a default English stopwords dictionary<\/li>\n\n\n<\/ul>\n\n\n<\/blockquote>\n\n\n10-If you type dir and hit Enter on the keyboard, the tutorial.mallet object should appear in the list of objects contained in the current directory.\n\n\n<pre>dir<\/pre>\n\n\n\n\n\n<hr \/>\n\n\n\n\n\n<h5>Creating a Topic Model<\/h5>\n\n\n11-Type bin\\mallet train-topics - - input tutorial.mallet and hit Enter\n\n\n<pre>bin\\mallet train-topics --input tutorial.mallet<\/pre>\n\n\n12-This command directed the computer to the bin folder for instructions, used the train-topics command to have MALLET generate a list of topics based on the tutorial.mallet input and MALLET\u2019s default train-topics settings.\n\n13-As MALLET runs the train-topics, you will see multiple lists of topics appear in your Command Prompt window. MALLET is working to find the best set or division of words to generate a topic model that is the best fit for your text.\n\n14-Once the train-topics command has finished, scroll up through the Command Prompt window to see the changes the program made as it calculated the best possible topics for the model.\n\n15-Based on your knowledge of the text, does this topic model make sense? How is it similar or different to the model you generated using GTMT? What do you notice about how MALLET refined its topic model before printing the final version?\n\n\n\n<hr \/>\n\n\n\n\n\n<h5>Saving Topic Model Output<\/h5>\n\n\n16-Although we can see the topic model MALLET generated within the CLI, we might want to access these results later outside the CLI.\n\n17-Type bin\\mallet train-topics dash-dash input tutorial.mallet dash-dash num-topics 20 dash-dash output-state.gz dash-dash output-topic-keys tutorial_keys.txt dash-dash output-doc-topics tutorial_composition.txt\n\n\n<pre>bin\\mallet train-topics --input tutorial.mallet --num-topics 20 --output-state.gz --output-topic-keys tutorial_keys.txt --output-doc-topics tutorial_composition.txt<\/pre>\n\n\n\n\n<blockquote>To translate the command we just used:\n\n\n<ul>\n \t\n\n<li>This command uses train-topics and num-topics to instruct MALLET to identify 20 topics.<\/li>\n\n\n \t\n\n<li>The state.gz command outputs every word contained in your text and the topic it belongs to as a compressed file (.gz).<\/li>\n\n\n \t\n\n<li>The output-topic-keys tutorial_keys.txt command creates a text file (*.txt) with the top key words for each topic.<\/li>\n\n\n \t\n\n<li>The output-doc-topics tutorial_composition.txt command creates a text file with the breakdown by percentage of each topic in the original text.<\/li>\n\n\n \t\n\n<li>Explore the tutorial_keys.txt and tutorial_composition.txt files to see how the results provide additional information for what was happening in the CLI.<\/li>\n\n\n<\/ul>\n\n\n<\/blockquote>\n\n\n\n\n\n<hr \/>\n\n\n\n--><\/p>\n<h5><em>Reflection questions<\/em><\/h5>\n<ul>\n<li><em>How do the results in these files compare to what you were seeing in the CLI?<\/em><\/li>\n<li><em>How does the topic modeling data impact your understanding of the text?<\/em><\/li>\n<li><em>What questions do you have about the output data from MALLET?<\/em><\/li>\n<li><em>How does your experience using MALLET with the CLI compare with using the GTMT?<\/em><\/li>\n<li><em>Where would you go next with topic modeling this text?<\/em><\/li>\n<\/ul>\n<hr \/>\n<h5>Topic Modeling in Historical Research<\/h5>\n<p>In our tutorials on mapping and spatial analysis, we looked at Cameron Blevins\u2019s historical research that uses U.S. postal service data. In another research project, Blevins uses topic modeling to better understand <a href=\"http:\/\/dohistory.org\/diary\/index.html\">27 years of diaries<\/a> written by 18<sup>th<\/sup> century New England midwife Martha Ballard (who we also studied through the documentary about Laurel Thatcher Ulrich&#8217;s work).<\/p>\n<p>Visit Blevins\u2019s personal site and read his blog post titled \u201c<a href=\"http:\/\/www.cameronblevins.org\/posts\/topic-modeling-martha-ballards-diary\/\">Topic Modeling Martha Ballard\u2019s Diary<\/a>.\u201d<\/p>\n<p><em>Reflection questions (think about theses, and talk with your group):<\/em><\/p>\n<ul>\n<li><em>Why does Blevins see topic modeling as a useful research methodology for analyzing Ballard\u2019s diaries?<\/em><\/li>\n<li><em>What does Blevins have to say about the results MALLET generated?<\/em><\/li>\n<li><em>How does Blevins connect MALLET\u2019s calculations to an argument about the historical meaning and significant themes in Ballard\u2019s diaries?<\/em><\/li>\n<li><em>Based on your own experience and Blevins\u2019s project, in what ways do you see topic modeling as a useful digital approach for historians?<\/em><\/li>\n<li><em>What types of historical research questions might topic modeling help researchers address?<\/em><\/li>\n<li><em>What types of data or research questions might not be a good fit for topic modeling? And why?<\/em><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial was written by Katherine Walden, Digital Liberal Arts Specialist at Grinnell College. This tutorial was reviewed by Sarah Purcell (L.F. Parker Professor of History) and Gina Donovan (Instructional Technologist) at Grinnell College, and edited by Papa Ampim-Darko, a student research assistant at Grinnell College. This tutorial is adapted from the Programming Historian\u2019s Topic [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":658,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-137","page","type-page","status-publish","hentry","post-preview"],"_links":{"self":[{"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/pages\/137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/comments?post=137"}],"version-history":[{"count":17,"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/pages\/137\/revisions"}],"predecessor-version":[{"id":845,"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/pages\/137\/revisions\/845"}],"up":[{"embeddable":true,"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/pages\/658"}],"wp:attachment":[{"href":"https:\/\/his100.sarahjpurcell.sites.grinnell.edu\/spring-2021\/wp-json\/wp\/v2\/media?parent=137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}