Jeff Jacobs

Assistant Professor of Data Science and Analytics · Georgetown University · jj1088@georgetown.edu · He/him/his

  • I am an Assistant Teaching Professor of Data Science and Analytics at Georgetown University. I received my PhD in Political Science from Columbia University in 2022, with a dissertation on quantitative approaches to studying the history of political thought. During the PhD I also worked as an Adjunct Instructor in NYU's Center for Data Science, and Research Assistant in Columbia's Economics Department.
  • My research in political science mainly pertains to the history of political thought and what I call "computational political theory" (Natural Language Processing + Network Analysis + Political Theory)
  • My research in economics focuses on empirical, text-analytic studies of monopsony and collective bargaining in modern and historical labor markets.

Before coming to Columbia, I worked as a Research Economist at UC Berkeley. I received my MS in Computer Science from Stanford University, where I RAed for the Stanford Network Analysis Project and the Department of Economics. As an undergraduate at University of Maryland I studied Mathematics, Computer Science, and Economics.

In my free time I enjoy making music, reading, and clumsily trying to learn Arabic. Feel free to email me!


Publications

Unsupervised Extraction of Workplace Rights and Duties from Collective Bargaining Agreements

Elliott Ash, Jeff Jacobs, Bentley MacLeod, Suresh Naidu, and Dominik Stammbach

Proceedings of the 20th IEEE International Conference on Data Mining -- International Workshop on Mining and Learning in the Legal Domain (ICDM-MLLD). 2020.

Monopsony in Online Labor Markets

Arindrajit Dube, Jeff Jacobs, Suresh Naidu, and Siddharth Suri

American Economic Review: Insights, (2)1: 33-46. 2020.

How to Do Things with Translations: Cross-Lingual Phrase Embeddings for Translation Analysis

Jeff Jacobs

Ninth Annual Conference on New Directions in Analyzing Text as Data (TADA). 2018.

Information Cartography: Creating Zoomable, Large-Scale Maps of Information

Dafna Shahaf, Jaewon Yang, Caroline Suen, Jeff Jacobs, Heidi Wang, and Jure Leskovec

Proceedings of the ACM International Conference on Knowledge Discovery and Data Mining (KDD), 1097-1105. 2013.

Metaheuristic Approaches to Resource Scheduling in Heterogeneous Wireless Networks

Cristy Duan, Honghao Gao, Jeff Jacobs, and Weixiang Wu

Joint Mathematics Meetings (JMM). 2012.

Evolving Musical Counterpoint: The Chronopoint Genetic Algorithm

Jeff Jacobs and James Reggia

Proceedings of the 2011 IEEE Congress on Evolutionary Computation, 11-16. 2011.

Dissertation

"Our Word is Our Weapon": Text-Analyzing Wars of Ideas from the French Revolution to the First World War

Defended on September 23, 2022

Working Papers

How to Do Things with Translations: Cross-Lingual Phrase Embeddings for Translation Analysis

Last Updated September 1, 2018

"Simultaneous and Systematic Abolition": Automated Content Analysis of the 1789 Cahiers de Doleances

Last Updated June 1, 2018

Invited Talks

How to Do Things with Translations: Cross-Lingual Semantic Phrase Embeddings for Translation Analysis

Feb 2021

Theories of Translation Workshop

Ohio State University, Columbus, OH, USA

"Our Word is Our Weapon": Language, Resistance, and Revolution

Nov 2019

Columbia Natural Language Processing Lab

Columbia University, New York, NY, USA

Fi Hadal Habs: Text-Analyzing the Underground Communiques of the Palestinian Intifadas

Oct 2018

Critical Media and Digital Studies Workshop

Columbia University, New York, NY, USA

The Point is to Change It: Theoretical Innovation and Political Practice in the History of Marxism

Jun 2018

2018 Graduate Workshop in Computational Social Science

Santa Fe Institute, Santa Fe, NM, USA

Automated Content Analysis and the 1789 Cahiers de Doléances

Jun 2018

5th Annual Politics and History Conference

University of Barcelona, Barcelona, Spain

Word Embeddings: Can Vectors Encode Meaning?

Feb 2018

with Katy Gero, Harvard University

NYC Digital Humanities Week

Columbia University, New York, NY, USA


Data / Software

Threadsheets: Weave Tabular Data into Weighted and Imputed Estimates

Package in both Python and R allowing interactive specification and visualization of data concordance tasks. Interfaces with GitHub and Google Sheets APIs to generate grid of estimates color-coded by confidence levels.

Web App: Access at threadsheets.app.

Python Version: Install using pip install threadsheets or click here to open demo in Google Colab. Updated March 12, 2023.

R Version: Install using install.packages("threadsheetr"). View vignettes at the threadsheetr CRAN page.

MarxDB.com: Web App for Browsing the Marx-Engels Digital Cyclopedia

Web app with ReactJS frontend and MongoDB backend, deployed using Vercel, allowing browsing and searching various datasets compiled for my dissertation. Updated October 3, 2022.

 

QConjoint: PHP server for running conjoint experiments in Qualtrics

A php script that interacts with the Qualtrics interface, allowing survey creators to send respondent-entered data (categorical or continuous) and receive randomly-generated variations of this data, for populating a conjoint comparison table. Demo server here, and demo survey showing implementation here. Updated January 28, 2021.

scipot: Topic Modeling in Reverse for Synthetic Document Generation

Trains an Author-Topic Model on a collection of \(N\) documents with \(M\) authors, then runs the model "in reverse" to generate synthetic documents via a user-specified Dirichlet mixture \((\alpha_1, \ldots, \alpha_M)\), where \(\alpha_i\) represents the probability of sampling from author \(i\)'s topic distribution when generating a new word. Updated June 3, 2020.

ngramdl: R functions for downloading and plotting ngram frequency from Google Books

Mainly a fix of the ngramr library to work with the latest version of Google's Ngram Viewer. Run github_install("jpowerj/ngramdl") to install the package directly from within R/R Studio (requires devtools package), then use ngram2csv(phrase_list, csv_filepath) to download, or ggram(phrase_list) to plot within R. Updated June 3, 2020.



Teaching

At Georgetown

At NYU

Fall 2020 Lecture Recordings:

Spring 2020 Lecture Recordings:

At Columbia

QMSS 5067: Natural Language Processing for the Social Sciences

Summer 2021

HRTS 3001: Introduction to Human Rights

Spring 2021

POLS 4700: Mathematical Methods for Political Science

Fall 2018

POLS 4710: Principles of Quantitative Political Research

Fall 2017

POLS 1201: Introduction to American Politics

Fall 2016

At Stanford

CS 109: Probability Theory for Computer Scientists

Winter 2014

CS 103: Mathematical Foundations of Computing

Autumn 2012

CS 221: Artificial Intelligence Principles and Techniques

Summer 2013

CS 90SI: Code the Change: Learn Web Development Through Non-Profit Projects

Autumn 2013

(Developed curriculum for new one-credit Computer Science course)

At University of Maryland

CMSC 420: Data Structures

Spring 2012

CMSC 250: Discrete Mathematics

Fall 2011

MATH 003: Developmental Mathematics

Fall 2010

CMSC 132: Object-Oriented Programming II

Spring 2010

Short Courses/Workshops

Mobile App Development with React Native

Summer 2022

Code for Palestine Summer Course

Ramallah, West Bank, Occupied Palestinian Territories

Design Thinking for Mobile App Development

Summer 2019

Code for Palestine Summer Course

Ramallah, West Bank, Occupied Palestinian Territories

Web Development with Flask and MySQL

Summer 2018

Code for Palestine Summer Course

Ramallah, West Bank, Occupied Palestinian Territories

Mobile App Development with Android Studio

Summer 2017

Code for Palestine Summer Course

Jericho, West Bank, Occupied Palestinian Territories

Game Theory and Mechanism Design

Autumn 2013

Stanford Splash! Program

Palo Alto, CA, USA

Pledge No Allegiance: America Through A Hip Hop Lens

Autumn 2014

Stanford Splash! Program

Palo Alto, CA, USA

Tutoring Materials

Solutions to problems drawn from the Exeter Mathematics 2 Packet:
  • Problem 428: The Median-Isosceles Triangle Identity [PDF]
  • Problem 353: Finding Angles Using Triangles [PDF]
  • Problems 323, 328, 469, 474: Trapezoids and Vectors [PDF]
  • Problems 436, 467, 622, 683, 684, 696: Plotting Circles and Chords [PDF]
  • Problems 731, 732, 734, 738 740, 756, 758, 793: Circles, Triangles, Arcs [PDF]
  • Problems 876 and 877: Snell's Law [PDF]