Date of Award

6-3-2026

Document Type

Thesis - SCU Access Only

Publisher

Santa Clara : Santa Clara University, 2026

Department

Computer Science and Engineering

First Advisor

Yi Fang

Abstract

Entity resolution is the problem of merging records that refer to the same underlying entity but disagree on the surface. It comes up whenever data is aggregated from multiple sources: the same customer appearing under two account IDs after a vendor migration, or a tweet that refers to a sports team by an abbreviation that does not appear in any structured roster. Two strategies dominate practice today. Lookup tables and rule-based matchers are cheap but brittle; every new spelling or abbreviation requires another hand-written rule. Large language model APIs are accurate on messy input, but each call typically costs hundreds of milliseconds and a per-token fee, and the input has to leave the local environment.

This thesis presents RESO, a local entity resolution stack that addresses both limitations. Record matching uses a Fellegi–Sunter probabilistic model (1). Each field contributes an agreement weight learned from labeled training data, and at inference time those weights combine into a likelihood score that two records describe the same entity. A separate linking module accepts a single noisy string and returns the closest entry in a knowledge base. It generates candidates with token blocking and BM25 retrieval, then re-ranks them against an ONNX sentence-transformer index running in-process. When an alias maps to multiple plausible candidates, the linker breaks ties using context-keyword priors learned per entity, so that an entity tagged with the keyword “hockey” is preferred when the surrounding text mentions hockey. An optional extraction layer pulls entity mentions from raw text using a pluggable LLM backend, with support for Cerebras, Groq, Anthropic, OpenAI, Gemini, and local Ollama models. The system is implemented in Rust as a Cargo workspace with Node and Python bindings. I evaluate RESO on a sports knowledge base of 367 entities, where aliasing and abbreviation patterns are unusually dense. The statistical pipeline reaches 94.5% top-1 accuracy on alias recovery, at a throughput of roughly 8,300 queries per second per thread. End-to-end resolution of a paragraph of commentary is about 130 times faster than the equivalent cloud LLM call, with no per-query cost.

Share

COinS