This document introduces the problem of classifying emails as spam or ham (not spam) using a naive Bayes classifier. It explains that a naive Bayes classifier calculates the probability that an email contains spam or ham given the presence of certain words or "tokens" by using Bayes' theorem and making the assumption that tokens are independent. The goal is to build a basic spam classifier from scratch in F# that predicts whether a short message service (SMS) message is spam or ham based on the tokens it contains. Readers are instructed to use an existing implementation to create their initial classifier and then improve upon it.