Portrait
At Cades Cove in the Smokies.

Scott Martin

Computer scientist, linguist, software engineering leader, math and logic enthusiast, cyclist

Email
Public encryption key

About Me

My work in software engineering has focused on three main areas:

  1. Climate technology
    • Grid optimization at WeaveGrid, designing algorithms for optimal EV charging
    • Demand response at Onsemble, where I developed a virtual power plant to aggregate the negative load from an install base of electrified appliances, reducing demand on the grid at peak times
    • Home electrification, also at Onsemble, building mobile apps that help people tap into subsidies to switch from gas to electric appliances
  2. NLP / AI
    • Dialog systems at Ozlo, which eventually became the engine behind Meta's conversational assistant embedded in the Portal, Ray-Ban Stories, and several other devices
    • Semantic modeling for conversational assistants at NLU and AI lab and Yahoo Labs
  3. Trust and safety, also known as Integrity
    • Civic integrity, preventing encitements to violence on Facebook in at-risk countries
    • Facebook feed integrity, by optimizing the content curation algorithm to limit the spread of severe misinformation and disinformation
Some open-source software projects and datasets I have contributed to are As an academic, I have done research into My full CV has all the details. I also enjoy bike rides on or around Mount Tam from time to time.

Selected Publications & Talks

On semantics, syntax, and formal/mathematical/theoretical linguistics

On computational linguistics and NLP

Code & Datasets

MuDoCo

The Multidomain Coreference (MuDoCo) dataset was released as an open-source project in conjunction with our LREC 2020 paper. It contains almost 8,500 authored human-machine dialogs annotated for coreference links.

Dataset on the Facebook Research GitHub
(Initial release with the paper)

This dataset is encoded in JSON, with named entity and reference types and link annotations. It is broken down by domain and additionally split into an 80%/10%/10% scheme for training, testing, and development data, respectively.

Edinburgh++

This corpus is an enhanced version of the Edinburgh paraphrase corpus, with both machine- and hand-corrected tokenization, hand-corrected alignments based on retokenization, parses from both the OpenCCG parser and the Stanford dependency parser. It also includes named entity annotations generated by the Stanford parser and Meteor alignments for use as a baseline.

Edinburgh++ Corpus
(03/22/2013 release)
README file

The corpus is encoded in JSON format, but comes with a handy Python script that outputs just the alignments. The training and a test partitions are based on the partitioning scheme in my COLING 2012 paper.

PEP

The name PEP stands for PEP is an Earley Parser and is an example of direct left recursion. PEP is an implementation of Earley's chart-parsing algorithm in Java. It includes a thin command-line interface, but is intended to be used as a library. PEP is free software released under the LGPL.

PEP project
on GitHub
PEP source and binaries
Version 0.4
Signature
generated using my public key
API Documentation
generated by JavaDoc

The PEP GitHub project, and the tar bundle above, contains PEP's binaries, full source code, generated documentation, and an Ant build file. It also includes several sample grammars for testing and automated JUnit tests. Version 0.4 is generalized to allow rules with right-hand sides that include a mix of terminals and nonterminals.

PEP can parse strings licensed by any CFG (including those that contain recursive rules). PEP's charts use backpointers so that if a grammar allows ambiguity, PEP keeps track of all of the possible parses in a set of traversable parse trees. For example, the 'tiny' grammar included with PEP contains the rules

which means that there are two possible parses for Mary saw the man with the telescope, and PEP generates both:
$ echo "Mary saw the man with the telescope" | ./bin/pep -s S -g samples/tiny.xml -
ACCEPT: S -> [Mary, saw, the, man, with, the, telescope] (2)
1. [S[NP[Mary]][VP[VP[VT[saw]][NP[Det[the]][N[man]]]][PP[P[with]][NP[Det[the]][N[telescope]]]]]]
2. [S[NP[Mary]][VP[VT[saw]][NP[Det[the]][N[N[man]][PP[P[with]][NP[Det[the]][N[telescope]]]]]]]]

Teaching

Graduate

Formal Foundations of Linguistic Theory
(Assistant to Carl Pollard.) Foundational course on the mathematical tools used in formal linguistics.
Syntax 1
(Assistant to Bob Levine.) Overview of syntactic theory and description based on HPSG.
  • Fall 2011

Undergraduate

Language and Computers
Broad-based overview of topics in computational linguistics.
Language and Formal Reasoning
Truth-conditional meaning in natural language and its interaction with deductive reasoning.
Introduction to Language in the Humanities
Survey course in general linguistics.