Intellectually Curious
Intellectually Curious is a podcast by Mike Breault featuring over 1,800 AI-powered explorations across science, mathematics, philosophy, and personal growth. Each short-form episode is generated, refined, and published with the help of large language models—turning curiosity into an ongoing audio encyclopedia. Designed for anyone who loves learning, it offers quick dives into everything from combinatorics and cryptography to systems thinking and psychology.
Inspiration for this podcast:
"Muad'Dib learned rapidly because his first training was in how to learn. And the first lesson of all was the basic trust that he could learn. It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult. Muad'Dib knew that every experience carries its lesson."
― Frank Herbert, Dune
Note: These podcasts were made with NotebookLM. AI can make mistakes. Please double-check any critical information.
Intellectually Curious
Splink: Fast and Scalable Probabilistic Data Linkage Guide
Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.
Splink is an open-source Python library designed for high-speed, probabilistic record linkage and data deduplication across various SQL backends like DuckDB, Spark, and Athena. Developed by the Ministry of Justice, it utilizes the Fellegi-Sunter model to identify and cluster matching records in large datasets without requiring unique identifiers or extensive training data. The provided documentation highlights Splink’s ability to scale to hundreds of millions of records while offering interactive visualizations for model diagnostics. Case studies from the UK government illustrate how the tool is productionized using modular pipelines and automated workflows to ensure consistency and auditability. These sources emphasize a design philosophy rooted in idempotency and observability, allowing organizations to manage complex entity resolution tasks reliably. Ultimately, the software serves as a versatile framework for data scientists to resolve identities and link disparate information systems efficiently.
Note: This podcast was AI-generated, and sometimes AI can make mistakes. Please double-check any critical information.
Sponsored by Embersilk LLC
I had this uh hilarious realization the other day. I was trying to log into a retail website. And after hitting forgot password about three times, I realized I had somehow created five different accounts over the past decade. Oh no, five. Yeah, five. I used different emails, a nickname on one. I even managed to typo my own street address on another one. So to their database, I literally look like five completely different people. You know, you are definitely not alone in that. But um imagine being the database trying to untangle that mess without a single reliable identification number connecting them all together. That sounds like an absolute nightmare, honestly. But it brings us perfectly to our mission for today's deep dive. We've got a stack of documentation in front of us about this open source Python tool called Splink, and we are going to figure out exactly how it untangles these massive data messes. Right, and why probabilistic record linkage is just an absolute game changer for big organizations dealing with that exact kind of friction, which actually tackling those data bottlenecks reminds me of our sponsor. Oh, yeah, perfect time for that. Right, because if you are dealing with messy systems and you need help with AI training or automation or software development, that is exactly what Embersilk does. You can check out Embersilk.com to uncover where AI agents can make the most impact for your business. Absolutely. So getting back to Splink, how does it actually figure out that all those fragmented retail accounts belong to me? Like if there is no master ID badge, what is it actually looking for? Well, think of it like a master detective relying on a diverse mix of clues. Splink uses something called the Falegy Sunter model, which rather than looking for exact matches, it uses a statistical scoring system. Okay, so it assigns a score based on how likely a match is. Exactly. It knows that matching a rare last name, say um Zilberman, is a much stronger clue than just matching a highly common first name like John. That makes perfect sense. But the documentation mentions it does this with zero training data. Like it's completely unsupervised learning. Yeah, it is. So if no human is teaching it what a match looks like beforehand, how does it know how to weigh those clues? Aaron Powell That is the brilliant part, really. It looks for statistical correlations within the dataset itself. So it might notice that a specific typo always appears next to a specific birth date, and it essentially teaches itself the rules of your data. Aaron Powell Wait, really? Just by finding those unique combinations. Exactly. And interestingly, it actually thrives on diverse independent data points. Uncorrelated columns are what you want here. Aaron Powell What do you mean by uncorrelated exactly? Well, you might think giving the system a city and a postcode is great, right? But those are highly correlated. One basically predicts the other. Oh, right. Because if you know the postcode, you already know the city. Aaron Powell Precisely. So it doesn't add much new information. Splink wants uncorrelated columns to build a stronger case. And it does this incredibly fast. Aaron Powell Yeah, I was reading that it can link a million records on just a standard laptop in about a minute. Yes. And it easily scales up to over a hundred million records if you use heavier data backends like Spark, Athena, or DuckTB. That is wild. Let's talk about a massive real-world application though, because that is where the logistics get crazy. Like the UK's Ministry of Justice. Oh yeah, that is a great example. They use Splink to link millions of justice system records weekly, but with chaotic new data flooding in every single week. How do they keep the system from breaking without just burning through their entire IT budget? They handle it with a highly modular pipeline. They don't just dump raw data into Splink. First, they clean and standardize it. Right, getting rid of all the weird formatting and typos. Exactly. They even use clever phonetic encoding, like this system called double metaphone. So names that sound the same but are spelled differently can still match. Oh, like matching Claire with a C and Claire with a K? You got it. So after standardizing, Splink scores the likelihood that two records are connected and then clusters them into single unified people. But what about the budget part? Rebuilding that massive model every week sounds so expensive. Well that's the secret. They actually only retrain their models about once a year. Really? But how is that accurate if the data is constantly changing week to week? Because the underlying patterns of how records match don't change that often. The rules of language and typos stay pretty stable. Oh, I see. So the weekly runs are just applying those existing rules. Exactly. By relying on that stable model, their weekly runs are purely for predicting and clustering the new data, not retraining the system from scratch. Aaron Powell, which saves massive amounts of compute costs and keeps the pipeline incredibly stable. Precisely. It is just a brilliant use of the technology. It really is. I mean, open source innovations like Splink just show how human ingenuity is actively solving these complex logistical challenges. We are building this remarkably interconnected and efficient future. Aaron Powell Absolutely. By elegantly organizing massive data sets, we are clearing away the friction that holds society back. It's just a fantastic example of technological progress empowering us to make better decisions. It is. And it makes me wonder about the future applications of this. You know, if an open source tool can link chaotic digital footprints so flawlessly, imagine what this means for global historical archives. Oh, wow, yeah. Like going back through centuries of unstructured records. Exactly. We could potentially reconstruct the forgotten, fragmented family trees of all humanity, just discovering incredible connections across centuries that we thought were completely lost to time. That is a beautiful thought to leave on. The connections are out there just waiting to be found. Well said. If you enjoyed this deep dive, please subscribe to the show. Hey, leave us a five star review if you can. It really does help get the word out. Thanks for tuning in.