You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »


The Extracted Features (EF) dataset contains informative characteristics, at the page level, of text from public domain volumes in the HathiTrust Digital LIbrary (HTDL). These are slightly more than 5 million volumes, representing about 38% of the total digital content of the HTDL.

The URL of the Extracted Feature Dataset is: .


Texts from the HTDL corpus that are not in the public domain are not available for download, which limits the usefulness of the corpus for research. However,  a great deal of fruitful research, especially in the form of text mining, can be performed on the basis of non-consumptive reading using extracted features (features extracted from the text) even when the full text is not available. To this end, the HathiTrust Research Center (HTRC) has started making available a set of page-level features extracted from the HTDL's public domain volumes. These extracted features can be the basis for certain kinds of  algorithmic analysis. For example, since topic modeling algorithms work with "bags of words" (sets of tokens), and since tokens and their frequencies are now being provided as extracted features, the EF dataset can enable a user to perform topic modeling with the data.

Worksets and the Extracted Features (EF) Dataset

Currently, the extracted features dataset is being provided in connection with worksets. (If you are not familiar with HathiTrust worksets, you may want to review the tutorial available elsewhere in this Wiki regarding the HTRC Workset Builder.)

The EF dataset for any HTRC workset can be retrieved as follows. A user first creates a workset (or choose an existing workset) from the HTRC Portal. The EF datasets for the workset are transferred via rsync, a robust file synchronization/transfer utility. The user executes the EF rsync script generator algorithm (available as one of the algorithms provided at the HTRC Portal) with that workset. This produces a script that the user can then download and execute on his/her own machine. When executed on the user’s machine, the script transfers the EF data files for that workset from the HTRC’s server to the user’s hard disk, resulting, for each volume in the selected workset, in two zipped files containing “basic” and “advanced” EF data. The EF data is in JSON (JavaScript Object Notation) format — a commonly used lightweight data interchange format.

Content of an EF Dataset

An EF data file for a volume consists of volume-level metadata, and of the extracted feature data for each page in the volume, in JSON format.  The volume-level metadata consists of both metadata about the volume and metadata about the extracted features.

Volume Metadata

  1. schemaVersion: A version identifier for the format and structure of this metadata object.
  2. dateCreated: The time this metadata object was processed.
  3. title: Title of the given volume.
  4. pubDate: The publication year.
  5. language: Primary language of the given volume.
  6. htBibUrl: HT Bibliographic API call for the volume.
  7. handleUrl: The persistent identifier for the volume 
  8. oclc: The array of OCLC number(s).
  9. imprint: The publication place, publisher, and publication date of the given volume.


Extracted Features Metadata

  1. schemaVersion: A version identifier for the format and structure of the feature data.
  2. dateCreated: The time the batch of metadata was processed and recorded.
  3. pageCount: The number of pages in the volume.
  4. pages: An array of JSON objects, each representing a page of the volume. 

Extracted Features Data

The extracted features that HTRC currently provides include part-of-speech (POS) -tagged token counts, header and footer identification, and various line-level information. (Providing token information at the page level makes it possible to separate paratext from text — e.g. identify pages of publishers’ ads at the back of a book.)  Each page is broken up into three parts: header, body, and footer. Correction of hyphenation of tokens at end of lines has been carried out, but not any additional data cleaning or OCR correction. 

“Basic” Features

  1. seq: A sequence number (pertaining to the page’s position)
  2. tokenCount: Number of tokens in the page.
  3. lineCount: Number of non-empty lines in the page.
  4. emptyLineCount: Number of empty lines in the page.
  5. sentenceCount: Number of sentences identified in page (using the open-source OpenNLP software).
  6. languages: List of languages and their respective percentage that were identified on this page.

The corresponding fields for header, body, and footer are the same, but apply to different parts of the page:

  1. tokenCount: Number of tokens in this page section.
  2. lineCount: Number of lines containing characters of any kind in this page section.
  3. emptyLineCount: Number of lines without text in this page section.
  4. sentenceCount: Number of sentences found in the text in this page section, parsed using OpenNLP.
  5. tokenPosCount: An unordered list of all tokens (characterized by part of speech using OpenNLP), and their corresponding frequency counts, in this page section. 

“Advanced” Features

This information is provided to help clarify genre and volume structure; for instance, it can help distinguish poetry from prose, or body text from an index.

  1. seq: A sequence number (same as in “basic” features)
  2. beginLineChars: Count of the initial character of each line in this page section (ignoring whitespace).
  3. endLineChars: Count of the last character on each line in this page section (ignoring whitespace).
  4. capAlphaSeq: (body only) Maximum length of the alphabetical sequence of capital characters starting a line.


Example EF data for basic features for a single page
{  "id":"loc.ark:/13960/t1fj34w02",
      "title":"Shakespeare's Romeo and Juliet,",
      "imprint":"Scott Foresman and company, [c1920]"





  • No labels