Computational Social Science
Diagram of the Universal Message schema showing fields like ID, Text, Author, and Reply Sets that normalize data across platforms

Look, Don't Tweet: Unified Data Models for Social NLP

Bachelor’s thesis introducing PyConversations, an open-source library that normalizes over 308 million posts from Twitter, Reddit, Facebook, and 4chan into a unified data model for cross-platform social media research.

Machine Learning Fundamentals
Vintage slot machine with multiple arms representing the multi-arm bandit problem in machine learning

5 Axes of Multi-Arm Bandit Problems: A Practical Guide

Key dimensions that have helped me understand multi-arm bandit problems: action space, problem structure, external information, reward mechanism, and learner feedback.

Computational Social Science
NewsTweet data collection pipeline: news outlets are crawled via Google News RSS feeds, articles are accessed to extract embedded tweets, and user timelines are downloaded from Twitter

NewsTweet Dataset: Social Media in Digital Journalism

We introduce NewsTweet, a dataset and pipeline for studying embedded tweets in digital journalism, revealing that 13% of Google News articles incorporate tweets and providing insights into how social media becomes newsworthy.

Computational Social Science
Sawtooth follower growth patterns for @elonmusk and @realDonaldTrump showing coordinated bot activity

Coordinated Social Targeting on Twitter

We developed high-frequency monitoring tools to detect coordinated manipulation on Twitter, documenting anomalous follower patterns including sub-second spikes, sawtooth waves, circulating accounts, and weaponized ancient dormant accounts targeting political figures.

Natural Language Processing
Venn diagram showing semantic overlap between word senses for go, move, and proceed, illustrating our hierarchy induction algorithm

Data-Driven WordNet Construction from Wiktionary

We present an unsupervised algorithm for inducing semantic networks from Wiktionary’s crowd-sourced data, creating a WordNet-like resource an order of magnitude larger than Princeton WordNet with over 344,000 linked example sentences.

Machine Learning Fundamentals
NEAT genome encoding diagram showing node genes and connection genes with innovation numbers

A Guide to Neuroevolution: NEAT and HyperNEAT

Discover how NEAT and HyperNEAT changed neuroevolution by automatically designing neural network architectures and scaling them through geometric patterns.

Machine Learning Fundamentals
Diagram showing the three main types of machine learning: supervised, unsupervised, and reinforcement learning

Breaking Down Machine Learning for the Average Person

Understand the pattern recognition behind Netflix recommendations, email spam filters, and game-playing AI through three core machine learning approaches.

AI Fundamentals
Diagram illustrating knowledge-based agent architecture with knowledge base, reasoning, and action components

Foundations of AI: Knowledge-Based Agents and Logic

Explore the building blocks of classic AI reasoning, from knowledge bases and logic to how systems draw new conclusions from existing knowledge.

Scientific Computing
Cartesian Genetic Programming graph showing input nodes, function nodes, and output nodes with active and inactive connections

Cartesian Genetic Programming in Julia

A sophomore year exploration of evolutionary algorithms applied to Atari games, implementing NEAT-inspired speciation mechanisms for Cartesian Genetic Programming to protect topological innovation while introducing custom crossover operators (subgraph, aligned-node) for evolving neural network policies.

Natural Language Processing
Types and distribution of coreferences in QuAC dataset showing dialogue complexity

QuAC: Question Answering in Context Dataset

QuAC introduces a conversational QA dataset that models student-teacher interactions, creating context-dependent questions that test systems’ ability to understand dialogue and resolve references.

Natural Language Processing
Visualization of coreference resolution in the CoQA conversational question answering dataset

CoQA Dataset: Advancing Conversational Question Answering

CoQA extends question answering beyond isolated questions to conversations that require context and reference understanding.

Generative Modeling
Illustration of GAN training process showing adversarial competition between generator and discriminator

Understanding GANs: From Fundamentals to Objective Functions

An in-depth guide to GANs: how two neural networks compete to generate realistic data, the math behind it, and the evolution of objective functions that stabilize training.