Learn how to use anvay for topic modelling, visualisation, and interpretive analysis.
anvay is a web-based platform for topic modelling and interpretive analysis of text corpora. Built for scholars, students, and digital humanists, it provides an end-to-end workflow that enables users to upload a corpus, generate interpretable topic models, and explore their thematic structure through a suite of interactive visualisations and reports.
At its core, anvay uses Latent Dirichlet Allocation (LDA) to uncover latent themes in textual corpora. It complements this algorithmic analysis with tools that foreground interpretability and readability — especially for morphologically rich and low-resource languages.
Each of the following sections corresponds to a tab in the documentation. Together, they walk the user through the entire modelling process, from theory to interpretation:
Most topic modelling tools are not built for Indian languages, and fewer still are designed with interpretability in mind. anvay is unique in combining a rigorous LDA pipeline with meaningful post-processing: relevance-weighted top words, flagging of low-confidence topics, representative paragraph extraction, and topic-document linking. It is designed for exploration as much as explanation, and aims to bridge computational methods with close reading.
anvay offers an end-to-end workflow that guides you from raw text to interpretive insight:
Processing text for topic modelling involves constraints that vary significantly by language. No tool can fully resolve the ambiguity of language — users are encouraged to view topic models not as definitive maps, but as exploratory guides: shaped by data, framed by parameters, and ultimately interpreted through human reading.
Bengali, Hindi, and Tamil are morphologically rich — inflected forms, compound constructions, and script-specific characters (like zero-width joiners in Bengali, or Tamil vowel markers) affect tokenisation quality. English is simpler in this regard, but OCR noise and domain jargon still matter.
News texts yield clearer clusters due to formulaic structure. Literary texts are more fluid, with shifting voices and metaphors that blur topical boundaries. This applies regardless of language — though the effect is often more pronounced in Bengali and Tamil literary corpora.
The platform applies language-specific preprocessing and topic diagnostics. Bengali has the most mature pipeline. English, Hindi, and Tamil are functional but experimental — results should be interpreted with additional caution and validated against the source texts.
Topic modelling is a statistical method used to identify recurring themes in large text collections. Rather than categorising documents manually, topic models detect patterns of word co-occurrence and infer abstract themes based on them.
The most widely used algorithm is Latent Dirichlet Allocation (LDA), which makes two key assumptions:
Can a single document contain multiple topics?
Yes — LDA models each document as a blend of topics in different proportions. For example, one story might be 60% about migration and 40% about domestic life.
How does the model define a topic without labels?
A topic is simply a group of words that tend to appear together. For example, a farming topic might include words for village, rice, land, cultivate, and farmer — in whatever script you are working in.
Does the model know what the words mean?
No — the model detects statistical patterns, not meaning. It's the researcher who interprets the topics after modelling is complete.
Topic models operate on co-occurrence, not semantics. In noisy or morphologically complex corpora, models may group suffixes, filler, or OCR artefacts as if they were meaningful. Always combine quantitative exploration with qualitative judgement.
anvay uses a topic modelling algorithm called Latent Dirichlet Allocation, or LDA. It's one of the most widely used methods for discovering thematic structure in large text corpora — and it's implemented here using the gensim Python library.
LDA is a probabilistic model that assumes every document is a mixture of latent "topics," and each topic is a distribution over words. It doesn't "understand" your texts — it notices patterns. If certain words tend to appear together across documents, the model assumes they belong to the same thematic cluster.
Technically, every word in the corpus — even common ones — is assigned a topic distribution. But most pipelines (including ours) filter out high-frequency, low-meaning words before modelling. The topics you interpret are built from the more distinctive words that remain.
In other words, LDA doesn't give you meaning. It gives you structure. It shows you where clusters of co-occurrence exist — and leaves it to you, the reader, to decide which ones matter.
To help you understand how this works in practice, we've included a sentence-building activity below. Select words from a shared pool, construct a sentence, and analyse which topics those words are most likely to belong to. You'll notice that topic assignment depends on word co-occurrence — not grammar, logic, or truth. Switch between languages to see how distributional assumptions play out across different scripts.
Your Sentence:
Topic modelling doesn't assign hard categories. Every word in every document is given a probability of belonging to each topic. Even a seemingly irrelevant word like "the" or "but" is mathematically linked to every topic — just with very low weight. Conversely, strongly associated words might belong to multiple topics with varying strengths.
This means that "topics" are not neat buckets, but soft groupings — blurry constellations of co-occurrence. What feels like a coherent theme is, in fact, a pattern we detect and make sense of as readers. The model shows us structure, but not meaning. We impose that meaning by recognising which words rise to the top, and how they resonate with our sense of language, genre, or context.
In literary texts, this becomes even more complex. Characters shift registers, metaphors disguise literal meaning, and themes bleed across documents. Topic models can surface patterns, but not always meanings. They require interpretation — and that interpretive labour is an essential part of working with LDA, especially in the humanities.
The quality of your topic model depends on the quality of your input. While anvay attempts to handle malformed characters, OCR noise, and common formatting issues, the most meaningful results come from a clean, well-prepared corpus. Below are guidelines — and examples — to help you curate your files effectively.
The principles are the same regardless of language: plain prose, clean encoding, no page markers or structural artefacts.
--- PAGE 1 --- *** OCR Scanned *** @#$%^& Chapter 4: The Changing Tide It was raining...
It was raining. The minister arrived quietly. People gathered near the tent. No slogans were shouted.
পৃষ্ঠা ১, ***, speaker names like রামু বলল in dialogue.
है, था, और, में are already included.
Lemmatisation uses simplemma, which is dictionary-based and experimental for Hindi.
Tip: Copying from PDFs may introduce invisible characters in any language. Always open your files in a text editor to verify they are saved in UTF-8 before uploading.
Best practice: Use clean plain-text files, one file per document. Avoid headers, footers, and formatting markup of any kind.
On the upload screen, drag and drop your .txt files or use the file picker. Each file you upload is treated as a separate document in the topic model. The more files you include, the more stable and interpretable your results — but there are practical limits to ensure performance and readability.
.txt) onlyEach file represents one document. The model learns themes across the corpus by analysing word patterns across these documents. If your files are too short (under ~300 tokens), topics may feel weak or generic. If they are too long or unevenly distributed, dominant documents may skew topic prevalence.
Use consistent file formatting and avoid uploading empty, duplicate, or placeholder files. File names are displayed in the Report tab, so name them meaningfully to track interpretations. Filenames in any language — Bengali, Hindi, Tamil — are fully supported and will display correctly in all charts.
.txt files are accepted.DS_Store) — these will be ignored or discardedtagore_ghare_baire.txt, premchand_godan_ch1.txtStopwords are high-frequency words — such as pronouns, particles, or auxiliary verbs — that tend to dilute topic modelling results. Removing them sharpens topic coherence by reducing statistical noise.
anvay offers two mechanisms for stopword removal:
Yes on the Remove Stopwords field. NLTK provides stopword lists for BN Bengali and EN English. For HI Hindi and TA Tamil, this option has no effect — NLTK does not include these languages.
Advanced Options, upload a plain-text .txt file with one word per line. This replaces the built-in list entirely for that run.If both the NLTK option and a custom file are active, the lists are automatically merged before modelling begins.
Bengali texts often repeat verbs like বলল, করেছে, or জানাল that add noise but little thematic value. Dialogue-heavy or scanned texts especially benefit from a custom stopword list.
Before custom stopwords:
After:
The built-in NLTK English list covers articles, prepositions, conjunctions, and common auxiliaries. For domain corpora, supplement with domain-specific stopwords (e.g. chapter, page, ibid for digitised books).
No built-in NLTK Hindi stopwords are available. Download anvay's Hindi stopword list from the upload form — it already includes common particles and function words. Edit it to suit your corpus before uploading.
No built-in NLTK Tamil stopwords are available. Download anvay's Tamil stopword list from the upload form — it already includes common function words. Edit it to suit your corpus before uploading.
Use plain text with one term per line. Encoding must be UTF-8.
word1 word2 word3
The parameters you choose during upload affect how the model processes your texts and extracts topics. Some are intuitive, others more technical. Begin with recommended ranges — then adjust gradually based on the interpretability of your output.
Number of Topics
This controls how many thematic clusters the model will attempt to identify. It's not a fixed setting — it depends heavily on your corpus:
5–10 topics10–2030–50+, but interpret with careTip: If topics feel repetitive or unclear, reduce the number. If topics feel too broad, increase gradually. The goal is not coverage — it's clarity.
Language
Select the primary language of your uploaded documents. This controls which tokeniser, normaliser, and stopword list are used. Do not mix languages within a single run — upload multilingual corpora as separate analyses.
Normalisation
Reduces word forms to a common base. The available options depend on language:
খাচ্ছে, খেয়েছে → খা). Recommended for most Bengali corpora.Remove Top Words (%)
Automatically discards the top N% most frequent words across the corpus. These often include generic verbs or connectors that don't add thematic value. Start with 5–10.
Filter: No Below
Removes words that appear in fewer than N documents. Useful to exclude rare noise — typos, one-off names, OCR artefacts. Recommended: 3–10.
Filter: No Above
Removes words that appear in more than this fraction of documents. These are often uninformative. Recommended: 0.5–0.7.
Alpha and Eta
These govern sparsity:
alpha = 0.5 and eta = 0.5 produced clean, interpretable topics. Outcomes depend on corpus structure — experiment to find what works best for your data.
Chunk Size
Controls how many documents are processed at once during training. This affects speed and memory use — not model quality. Default: 100–200.
Per-word TopicsEach visualisation in anvay helps you explore your topic model from a different angle: identifying overlap, strength, evolution, and prevalence.
Note: All visualisations display the top words for each topic on hover — making it easy to identify and interpret topics directly from the charts without switching back to the Report tab.
Closer dots = more similar topics. This chart plots topics based on their word distributions. Topics that are close together share many high-weight words. Use this to identify overlapping themes or cluster boundaries.
Axes: Both axes represent a two-dimensional projection of topic–word distributions. Distance between points reflects topic similarity; the axes themselves have no intrinsic semantic meaning.
Brighter cells = stronger topic–word link. Each cell shows how strongly a word is associated with a topic. Use this to explore overlap and word distribution depth. This view presents the same information shown in the bar chart, but emphasises patterns and contrast across topics.
Axes: The horizontal axis lists topic indices, and the vertical axis lists a globally selected set of high-weight words. Cell intensity reflects the strength of association between a word and a topic.
Bigger slices = more dominant topics. This chart shows how much each topic contributes to the corpus overall.
Encoding: Slice size represents the cumulative weight of a topic across the corpus.
High bars = frequent words in your corpus. Use this to inspect lexical dominance and identify potential noise.
Axes: The horizontal axis shows word tokens, and the vertical axis shows their frequency in the corpus after preprocessing.
Each topic node links to its top words. Blue circles are topics, grey ones are words. Helps visualise word overlap and outliers.
Encoding: Spatial layout reflects relational structure rather than scale; proximity and connections indicate association, not distance or magnitude.
Each line shows a topic's weight across time. Use this to detect historical shifts or evolving discourse patterns.
Axes: The horizontal axis represents document order (or a derived sequence such as time bins), and the vertical axis shows topic weight, tracing how topic presence changes across the corpus.
Use case: For example, if a novel is divided into chapters and each chapter is uploaded as a separate file with filenames reflecting chapter order, this visualisation can be used to examine how thematic emphasis shifts across the course of the narrative.
Each dot shows a topic's weight in one document. Useful for detecting niche vs. broad topics and skewed presence.
Axes: The horizontal axis lists documents in the uploaded corpus, and the vertical axis shows topic weight, indicating how strongly each topic is represented in individual documents.
Shorter branches = more similar topics. This dendrogram clusters topics by semantic similarity. Helps spot overlap or hierarchy.
Axes: The vertical axis shows inter-topic distance, while the horizontal arrangement reflects hierarchical grouping rather than a quantitative scale.
The Report tab gives you a structured breakdown of the model's results — from high-level training stats to granular, paragraph-level illustrations. It's designed to support interpretive work, especially when working with complex or literary texts.
This section is designed to help you tune your topic model by reflecting on how the input data and training parameters shaped the model. It provides a snapshot of your corpus and the internal diagnostics logged during training. Used carefully, this is where interpretability begins.
These values reflect the input that the model actually received, after all filtering and preprocessing. They help you assess whether your model is working with enough — and the right kind of — data.
300 tokens, topics may feel thin or generic. In such cases, consider reducing stopword or rare word removal, disabling stemming, or merging short documents.1,000–10,000 is often ideal for LDA.These logs come directly from the LDA engine (gensim), grouped into stages. They help you interpret model behaviour and stability.
alpha, eta, and chunksize.passes or adjusting alpha.This section shows the top 10 words in each topic, ranked by their probability of occurring within that topic. These are taken directly from the model — no filtering, smoothing, or interpretation has been applied.
In technical terms, this is based on p(w | t) — the probability of a word given a topic. The higher the value, the more representative that word is for that topic. However, this measure does not account for whether the word is distinctive across topics.
This section shows how each topic contributes to each document, based on the topic model's output. The weights are probabilistic, not categorical — every document is a mixture of topics, and every topic appears in multiple documents to varying degrees.
Each value represents p(t | d) — the model's estimate of how likely topic t is to occur in document d. The sum of all topic weights for a single document is 1.0.
0.0 in a document does not appear there, or appears below the model's threshold.Example: Suppose a document has the following topic weights:
Topic 2: 0.61, Topic 4: 0.24, Topic 7: 0.11
Topic 2 is strongly dominant; Topic 4 plays a secondary role; Topic 7 is minor but present.
These are the most frequently occurring words in the corpus after preprocessing. They are not tied to any specific topic but reflect recurring motifs and dominant vocabulary. If you see generic verbs, numbers, or formatting tokens here, consider adding them to your stopword list.
Topic prevalence indicates how strongly each topic appears across the entire corpus. It is calculated by summing the topic's weight across all documents. Although topic weights do not have a fixed scale, a higher value generally means that the topic appears more consistently and with greater intensity in the dataset.
This table helps you identify which topics dominate the corpus overall — but note that very high values can sometimes reflect overfitting or topic redundancy. Use this view in combination with the document-level weights and top words to evaluate coverage and specificity.
For each topic, anvay displays one real sentence from the dataset where that topic is most strongly represented. These are not summaries — they are actual sentences taken from the original files.
Each sentence is accompanied by the filename and the topic's weight in that document. If no sentence strongly overlaps with the top words for that topic, it is marked as ⚠ Low Confidence.
"Topic 7: শ্রমিক, মজুরি, কারখানা → appears most clearly in a sentence describing a workers' protest speech. The texture is emotional, not abstract."
This walkthrough explores how different filtering strategies shape the topics generated from a corpus of 150 Bengali news articles. Rather than presenting final outputs, it highlights how topic visibility is shaped by preprocessing decisions — and how different assumptions produce different readings.
Note: Because anvay uses a probabilistic model (LDA), your results may vary slightly even with the same corpus and parameters. This is expected behaviour and reflects the model's sensitivity to small variations in sampling.
We've provided a sample dataset of 150 news articles. These are stored in .txt format inside a .zip archive.
To ensure stable and interpretable topics, use the following parameters in your analysis:
These settings were selected after extensive testing across multiple runs. They balance clarity, separation between topics, and interpretability — without forcing deterministic output or removing named entities.
files | 150 |
num_topics | 10 |
nltk_stopwords | yes |
alpha | asymmetric |
eta | 0.1 |
passes | 10 |
iterations | 50 |
chunk | 200 |
ngram | unigram |
per_word_topics | no |
no_above | 1 |
no_below | 1 |
stemming | dict based |
custom_stopwords | bengali_stopwords.txt |
This configuration removes only the top 10% most frequent words and retains even the rarest tokens. The resulting topics are noisy but revealing — they surface underrepresented narrative fragments, scattered names, and infrastructural traces that typically disappear under stricter filtering.
Here are the ten topics anvay discovered in this run. We don't assign rigid names. Instead, we invite you to explore each topic through a question — to encourage discovery, not closure.
| Topic | Top Words | Interpretive Question |
|---|---|---|
| 0 | নারায়ণ, খাদ্য, চাল, কেজি, প্রসঙ্গ, হনিপ্রীত, শস্য, চাষীদের, ঘড়ির, অ্যালার্ম | How does the corpus link agriculture and food regulation with public messaging or alerts? |
| 1 | অটো, নেদারল্যান্ডস, ক্যামেরায়, বাবলুর, আইল, ডিআরএস, ইউনিয়নের, যন্ত্র, পদ্ধতি, দি | What fragments of surveillance, technology, and international reference co-occur in transport reporting? |
| 2 | বিরিয়ানি, রোজভ্যালি, জিজ্ঞাসাবাদ, চিঠিতে, মন্ত্রীর, ক্যামেরার, মাইকেল, ইকবাল, ক্যামেরা, কাক | How are food, scandal, and legal interrogation narrated within the same discursive frame? |
| 3 | হাড়, বাগান, বাবর, অজিতার, মালদহ, চা, সিন্ডিকেট, শ্রেণির, দোকানের, সর্বত্র | What do local economies and syndicate politics reveal about the everyday in this corpus? |
| 4 | ইরফান, সারদার, শাহরুখ, শিবাঙ্গী, শতাব্দী, মন্নত, করণ, নন্দন, নন্দনের, পাপন | What kinds of cultural memory are constructed around names in celebrity and political discourse? |
| 5 | সানিয়া, নার্সিংহোমের, হিন্দিতে, বেহালার, বড়দির, সহবাগ, দমকল, হিন্দি, রমরমা, দমকলের | How do language, locality, and public service intersect in these narrative fragments? |
| 6 | কপিলের, মনোতোষ, রিচার্জ, ঝাড়খণ্ড, কল্পনা, স্মার্ট, জিয়ারুল, রিচার্ড, মানচিত্র, একশো | Which tokens suggest infrastructural, bureaucratic, or digital contexts — and how do names intervene? |
| 7 | দের, ষড়যন্ত্রের, জেসপ, প্রচারের, সিআইডি, অভিযোগের, গোর্কি, অস্বস্তিতে, মাকো, অনির্বাণ | What themes of conspiracy, discomfort, and institutional inquiry recur across unrelated topics? |
| 8 | শ্রীলঙ্কার, ওয়ালেট, সার, ভোটার, গীতশ্রী, সিরিজ, ফেরত, বোন, সায়, পরিচয়পত্র | How are identity, return, and voter registration framed across borders and documentation? |
| 9 | বেপরোয়া, শ্লীলতাহানির, ঝড়ে, গতিতে, গতিবেগ, তাজমহল, চোর, স্টেশনের, তিনজন, জোড়া | How does the corpus balance crime reporting with suddenness, sensation, and scale? |
files | 150 |
num_topics | 10 |
nltk_stopwords | yes |
alpha | asymmetric |
eta | 0.1 |
passes | 10 |
iterations | 50 |
chunk | 200 |
ngram | unigram |
per_word_topics | no |
no_above | 0.5 |
no_below | 5 |
stemming | dict based |
custom_stopwords | bengali_stopwords.txt |
This configuration applies both lower and upper frequency thresholds, removing extremely rare and overly common words. The resulting topics are more abstract, consistent, and legible — but many specific names and local contexts are lost in the process.
| Topic | Top Words | Interpretive Question |
|---|---|---|
| 0 | চিকিৎসা, এপ্রিল, ভাসা, কিশোর, পাঁচজন, পর্যায়ের, রায়কে, পশ্চিম, দেখবেন, সমস্যার | How is healthcare framed as a general or seasonal concern, and what groups are foregrounded? |
| 1 | অল্প, পরিষদের, সিংহের, ছায়া, তখন, টুইটারে, দলই, ক্ষমতার, চ্যানেলে, দেখেছেন | What kind of political presence is constructed through social media and visual cues? |
| 2 | ভাড়া, টের, খেলোয়াড়দের, কাটেনি, শেষপর্যন্ত, ব্যস্ত, খালি, বিদেশি, সমর্থকরা, এনে | What logistical and emotional elements shape reporting on sports and crowd movement? |
| 3 | কুড়ি, খানের, রেখেছেন, বিকেলের, জোগাড়, রঙ, তাড়াতাড়ি, পালিয়ে, বলিউড, বালি | How do entertainment and lifestyle fragments produce a sense of pace or escape? |
| 4 | হাজিরা, পাঠিয়েছে, শক্ত, বিনিময়ে, চালাচ্ছেন, রায়কে, মহলের, সঙ্গী, মাঝ, ধারায় | What power dynamics emerge from judicial or institutional scheduling and alliances? |
| 5 | টিমের, সুন্দর, দারুণ, ব্যবধান, মোছা, বিরোধিতা, বলছি, মহলে, ক্ষতি, লুকানো | How does parliamentary or political speech perform opposition and damage control? |
| 6 | আচরণ, এরই, বসানো, বিরুদ্ধেও, তরুণের, একসঙ্গ, উপলক্ষ, বক্তব্য, লাগাতে, অংশের | What moral expectations are placed on collective or youth behaviour in the corpus? |
| 7 | মমতাকে, কাণ্ডে, বিধায়কের, পৌছে, ছাপ, দেব, গিয়েছিলাম, ভবিষ্য, তুঙ্গ, মহল | How is leadership (especially Mamata Banerjee) situated in scenes of escalation or future-promise? |
| 8 | সামিল, চিন্তায়, দুদিন, আয়োজিত, ছিল, নিচ্ছেন, পরিচালন, চেনা, পেল, সবাই | What are the signals of event management, concern, and collective participation? |
| 9 | খায়, শেয়ার, টার, ক্ষুব্ধ, রুটে, সিইও, নিরিখে, বিপাকে, থাকছেন, গান | How do economics, public mood, and executive positioning intersect across routes and reactions? |
Bengali (and this applies broadly to all supported languages) is:
Named entities, places, and idiosyncratic phrasing are not incidental — they are structural elements of meaning. Standard filtering often erases these, making latent themes disappear.
What this walkthrough shows is that:
Legibility is a function of filtering. A topic doesn't appear because it's important — it appears because your filtering method allows it to survive.
anvay defaults to a gentler filtering method (removing only the top 10% of words) so you can surface latent structure. But you can also enable frequency filtering if your goal is topical readability.
We recommend:
no_below/no_above, just remove top 5–10% wordsThis helps you understand your corpus — and your assumptions — much more than relying on a single run.
Topic modelling is not neutral. The same corpus can yield very different "themes" depending on how you treat frequency. anvay is designed not to automate interpretation, but to reveal its conditions.
anvay is a shared research tool hosted on a university server. To ensure fair and stable access for all users, it enforces limits on upload size, submission rate, and result availability. This page explains what those limits are and what to expect from each session.
.txt) only. PDFs, Word documents, and other formats are not accepted.These limits are enforced before processing begins. If any file fails validation — wrong format, wrong encoding, too large — the entire submission is rejected and you will see a specific error message. No partial processing occurs.
To prevent overload, anvay limits the number of submissions from a single IP address:
If you exceed these limits, you will see a 429 Too Many Requests error. Wait a moment and try again — the limit resets automatically. For research workflows that require many rapid iterations, we recommend preparing your corpus and parameters carefully before submitting, rather than making exploratory runs in quick succession.
Every submission to anvay is independent. Each run generates a private, uniquely identified session — your results are not linked to any user account and are not visible to anyone else.
There is no login, no persistent storage, and no way to recover a session once it has expired. Plan accordingly — especially for large corpora where training may take several minutes.
anvay does not retain your files. Uploaded documents are stored only for the duration of processing, then deleted immediately — before the results page even loads. Result files are deleted after 2 hours. No content from your corpus is logged, stored, or shared.
anvay does not use cookies, tracking scripts, or third-party analytics. It does not display advertisements.
This section answers common questions and explains issues that may arise when using anvay. Topic modelling is sensitive to your corpus and settings — so if things seem off, you're not alone.
This means no words survived preprocessing. It usually happens when:
no_below too high or no_above too lowno_below, reduce filtering, and check your documents are long enough.
If multiple topics use similar words or feel indistinguishable, it might be because:
Documents may be excluded if:
If the interface seems unresponsive, check whether:
.txt file or a file that isn't UTF-8 encodedThis is a normal part of working with topic models. If topics feel noisy, repetitive, or unintelligible, it's often a sign that:
Hindi and Tamil support is experimental. The most common cause of poor results is missing stopwords — neither language has a built-in NLTK stopword list. Use the Download built-in stopwords list link on the upload form to get anvay's curated list for your language, edit it to suit your corpus if needed, then upload it. Without a stopword file, the model will be dominated by function words and particles that carry no thematic value.
Additionally, the normalisation pipelines (simplemma for Hindi, dictionary stemming for Tamil) are less mature than the Bengali pipeline. If results remain poor after adding stopwords, try disabling normalisation and running with a cleaner corpus.
This was a bug in earlier versions of anvay where a filename sanitiser inadvertently stripped Unicode combining marks (matras and vowel signs). It has been fixed. If you are still seeing this, make sure you are running the latest version of app.py.
Topic ModellingLDA (Latent Dirichlet Allocation)TopicDocumentTokenBengali (BN)English (EN) — ExperimentalHindi (HI) — ExperimentalTamil (TA) — ExperimentalExperimentalStemmingখাচ্ছে → খা.LemmatisationStopwordsCustom StopwordsNumber of TopicsRemove Common WordsRemove Rare Wordsno_belowno_above0.6 = 60%).AlphaEtaChunk SizePer-word TopicsUTF-8OCR Noise***, @#$%). Common in digitised texts in any language.Malformed TokenMatra / Vowel SignTopic PrevalenceTop TermsLambda ScoreRepresentative ParagraphLow-Confidence TopicLow-Confidence SentenceDocument–Topic DistributionTopic CoherenceScatterplotHeatmapPie ChartTop Word FrequencyTopic–Word NetworkTopic EvolutionTopic DistributionDendrogramUploadVisualisationsReportDownloads.txt or .csv format.Walkthrough