Robert A. Uhl

How to write a spelling corrector — in Lisp

Back in 2007 Peter Norvig shared a simple spelling corrector (last updated in 2016); I thought that I’d share my translation into Lisp, with some comments. Norvig’s original article explains the actual algorithm he’s using; I’ll focus on stuff specific to my own version.

I’m definitely not a Lisp wizard (although I’ve been using it for many years), so it’s entirely possible that I’ve messed one thing or another up — I’m glad to receive corrections or comments.

Read more →

Social software and AI

One of the techniques used in some sub-fields of Artificial Intelligence is training: one feeds one’s apparatus a set of known good associations (e.g. this word sounds like this and that like that, or this is the number 3 in forty different styles of handwriting), and for each sees what answer it returns, then correct it based on its answer. This obviously requires a large corpus, and building such a corpus is time-consuming and error-prone. Read more →

Social software and AI

One of the techniques used in some sub-fields of Artificial Intelligence is training: one feeds one’s apparatus a set of known good associations (e.g. this word sounds like this and that like that, or this is the number 3 in forty different styles of handwriting), and for each sees what answer it returns, then correct it based on its answer. This obviously requires a large corpus, and building such a corpus is time-consuming and error-prone. Read more →