Topic Modeler
Paste two or more documents and fit a small LDA model locally. Tune topics, iterations, priors, stopwords, and output format, then review ranked topic word lists plus each document's topic mixture.
About this tool
Topic modelling finds recurring themes across a collection of documents without labels. This tool fits a small LDA (Latent Dirichlet Allocation) model directly from the text you paste, then reports each learned topic's top words and each document's mixture of topics. It is designed for meeting notes, support tickets, survey responses, research snippets, and other short corpora where you want a quick local map of repeated themes.
The model is deterministic for a given seed. It tokenises text, lowercases words, removes optional English stopwords plus any stopwords you add, prunes short tokens, and runs collapsed Gibbs sampling over the document-word matrix. No text is uploaded and no pretrained model is downloaded.
Worked example
Paste four short documents separated by blank lines:
Butter flour sugar and oven heat make a crisp pastry.
Baking dough with butter and sugar creates a golden crust.
Compiler modules check function signatures and return types.
Type errors appear when the module function returns the wrong value.
Set topics = 2, keep the default seed, and run the report output. You should see one topic whose words lean toward baking terms and one whose words lean toward compiler/module terms, followed by a document-mixture section that shows each document's strongest topic.
Output formats
reportgives a readable summary: corpus size, effective priors, ranked topic labels, top words with weights, and document mixtures.jsonreturns the full model with topics, word probabilities, document previews, and mixture weights.csvreturns a topic-keys table followed by a document-topic matrix, matching the shape many topic-modelling CLIs produce.
Limits and edge cases
This browser-safe implementation caps the corpus at 300 documents, 25,000 kept tokens, and 20,000 vocabulary terms. Very tiny corpora can produce unstable topics; use a fixed seed and try a few topic counts before treating the result as a real pattern. For PDFs, DOCX, EPUB, HTML, or transcripts, extract text with a separate tool first and paste the plain text here.
FAQ
Is this the same as a hosted NLP topic-modelling service?
It uses the same broad LDA idea, but it is intentionally smaller and local. There are no uploads, accounts, dashboards, coherence plots, word clouds, or saved projects. The result is a quick topic word list plus a document-topic matrix you can copy elsewhere.
How many topics should I choose?
Start small. For a short pasted corpus, try 2–5 topics and increase only if the word lists merge unrelated themes. Too many topics on too little text usually creates duplicate or noisy topics.
What does alpha do?
Alpha controls how mixed each document is. Lower alpha makes each document prefer fewer topics; higher alpha allows each document to blend more topics. Leave alpha at 0 to use the common MALLET-style automatic value 50 / topics.
Can I use non-English text?
Yes, if the text is whitespace-tokenised, but the built-in stopword list is English only. Turn off English stopwords or paste your own comma/space-separated stopword list for the language you are analysing.
Why did changing the seed change the topic words?
LDA sampling starts from random topic assignments. The seed makes that randomness reproducible. If a topic only appears for one seed, it may be weak; stable themes tend to reappear across nearby settings and seeds.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool topic-modeler "The recipe uses butter flour sugar and a hot oven.
The compiler checks module types and function signatures."New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/topic-modeler/?documents=The%20recipe%20uses%20butter%20flour%20sugar%20and%20a%20hot%20oven.%0A%0AThe%20compiler%20checks%20module%20types%20and%20function%20signatures.&separator=blank-line&topics=5&words_per_topic=8&iterations=200&alpha=0&beta=0.01&remove_stopwords=true&stopwords=company%2C%20report%2C%20q3&min_word_length=3&seed=42&output=reportMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
