Topics
Pick a sample or paste a passage, then press Tag.
The model is two parts: bge-small-en-v1.5 (33 million parameters, about 34 MB, fetched once from Hugging Face) turns the passage into 384 numbers, and a 26-topic layer trained here turns those into topic scores.
Topic mix by series
How it was made
- Passages. Every Berean Community Church and The Beacon transcript on sermons.lawrencewu.net (the archive sits behind a password) was cut to the message alone, using the sermon-section classifier that already trims worship, announcements and prayers, and then into passages of about 150 to 250 words: passages from sermons.
- Teacher. Claude read passages, up to twelve evenly spaced from each of sermons, and gave each the topics it is substantially about, from the 26 defined below. It gave topics per passage on average.
- Student. Each passage is embedded by bge-small-en-v1.5, the same quantized model this page loads, run with the same library (transformers.js ). A on those 384 numbers learned the teacher's labels on the training sermons, and a cut-off per topic was tuned on separate development sermons.
- Judge. The held-out sermons ( passages from sermons, split by sermon so no sermon is on both sides) were scored against the teacher. The baseline uses no labels at all: it embeds each topic's definition and tags a passage when its cosine similarity clears a cut-off tuned on the same development sermons.
F1 by topic, held-out sermons
Student against the teacher's labels; the gray tick is the zero-shot baseline. The count is how many held-out passages the teacher gave that topic.
The 26 topics
Topics marked with a question are grounded in the doctrinal questions of Where They Stand.