DIgital LAnguage InsighTS

DILAITS

Tools that work with language.

The comparison tab contrasts corpus A and corpus B. Summary values compare corpus-level measures. Keyword and collocate tables show side-by-side frequencies and relative frequencies. Collocate comparison always follows the search term from corpus A.

Corpus A

Paste a text, choose a language, and compute corpus-style statistics. Up to 100k words: no problem. Above: Your own risk...

Import File

Plain-text files are imported directly. PDF files are converted to text in the browser. Word files are not supported.

Ready.

Document Stats

Core counts, lemma frequencies, and a Zipf view of the corpus.

Summary The summary gives the main size and shape of the text. Words are counted as tokens, which means every running word in the text. Unique lemmas are types, which means different base forms such as run for run, runs, and running. The type/token ratio is types divided by tokens. In simple words, it is a measure of lexical richness: higher values usually mean a more varied vocabulary.
Measure Value
Analyze corpus A to see document statistics.
Most Frequent Lemmas This table shows the most frequent lemmas in the text. A lemma is the base form of a word. Frequency is the raw count, and Rel % shows how much of the whole text this lemma makes up. Use the switch to compare the list with stopwords included or with stopwords removed.
Lemma Frequency Rel %
Analyze corpus A to see lemma frequencies.
Zipf Distribution A Zipf distribution means that a few words are very frequent and most words are rare. The chart shows how closely your lemma frequencies follow that pattern.

Analyze corpus A to compare the observed lemma distribution with an ideal Zipf line.

Lemma Search

The search term is normalized to a lemma for matching, so inflected forms can match the same item. Collocates are counted as co-occurring surface forms within a window of 5 tokens left and 5 tokens right. KWIC shows up to 10 tokens of left and right context around each hit, and the position bar marks each hit as a vertical line at its relative token position in the full text.

Inspect one normalized search term with collocates and KWIC output.

Top Collocates Collocates are word forms and non-word tokens found in the +/- 5 token window around each hit. The list shows the 50 most frequent co-occurring items.
Collocate Frequency
Run a lemma search to see collocates.
Top Collocates Without Stopwords Same collocation window and counting logic as above, but stopword tokens are removed from the collocate list before frequencies are calculated.
Collocate Frequency
Run a lemma search to see collocates without stopwords.
KWIC KWIC means Key Word In Context. Each row shows the hit centered between up to 10 tokens of left context and up to 10 tokens of right context. The position bar above the table represents the full token length of the text and shows each hit as a vertical line at its relative position.

Run a lemma search to see hit positions across the text.

# Left Context Keyword Right Context
Run a lemma search to see KWIC rows.

N-Grams

An n-gram is a contiguous token sequence. This app computes all token n-grams of length 3, 4, 5, and 6, including words and non-words. Only n-grams with frequency greater than 3 are shown, and the list can be filtered and sorted.

Inspect repeated token sequences of length 3 to 6.

Analyze corpus A to see repeated n-grams.

Stopwords

Stopwords are high-frequency function words that can be excluded from selected outputs. Editing this list affects stopword-filtered lemma frequencies and stopword-filtered collocate lists for the chosen language after re-analysis.

Edit the stopword list for the selected language. Use one word per line.

Using the built-in stopword list.

Corpus B

Paste a text, choose a language, and compute corpus-style statistics.

Import File

Plain-text files are imported directly. PDF files are converted to text in the browser. Word files are not supported.

Ready.

Document Stats

Core counts, lemma frequencies, and a Zipf view of the corpus.

Summary The summary gives the main size and shape of the text. Words are counted as tokens, which means every running word in the text. Unique lemmas are types, which means different base forms such as run for run, runs, and running. The type/token ratio is types divided by tokens. In simple words, it is a measure of lexical richness: higher values usually mean a more varied vocabulary.
Measure Value
Analyze corpus B to see document statistics.
Most Frequent Lemmas This table shows the most frequent lemmas in the text. A lemma is the base form of a word. Frequency is the raw count, and Rel % shows how much of the whole text this lemma makes up. Use the switch to compare the list with stopwords included or with stopwords removed.
Lemma Frequency Rel %
Analyze corpus B to see lemma frequencies.
Zipf Distribution A Zipf distribution means that a few words are very frequent and most words are rare. The chart shows how closely your lemma frequencies follow that pattern.

Analyze corpus B to compare the observed lemma distribution with an ideal Zipf line.

Lemma Search

The search term is normalized to a lemma for matching, so inflected forms can match the same item. Collocates are counted as co-occurring surface forms within a window of 5 tokens left and 5 tokens right. KWIC shows up to 10 tokens of left and right context around each hit, and the position bar marks each hit as a vertical line at its relative token position in the full text.

Inspect one normalized search term with collocates and KWIC output.

Top Collocates Collocates are word forms and non-word tokens found in the +/- 5 token window around each hit. The list shows the 50 most frequent co-occurring items.
Collocate Frequency
Run a lemma search to see collocates.
Top Collocates Without Stopwords Same collocation window and counting logic as above, but stopword tokens are removed from the collocate list before frequencies are calculated.
Collocate Frequency
Run a lemma search to see collocates without stopwords.
KWIC KWIC means Key Word In Context. Each row shows the hit centered between up to 10 tokens of left context and up to 10 tokens of right context. The position bar above the table represents the full token length of the text and shows each hit as a vertical line at its relative position.

Run a lemma search to see hit positions across the text.

# Left Context Keyword Right Context
Run a lemma search to see KWIC rows.

N-Grams

An n-gram is a contiguous token sequence. This app computes all token n-grams of length 3, 4, 5, and 6, including words and non-words. Only n-grams with frequency greater than 3 are shown, and the list can be filtered and sorted.

Inspect repeated token sequences of length 3 to 6.

Analyze corpus B to see repeated n-grams.

Stopwords

Stopwords are high-frequency function words that can be excluded from selected outputs. Editing this list affects stopword-filtered lemma frequencies and stopword-filtered collocate lists for the chosen language after re-analysis.

Edit the stopword list for the selected language. Use one word per line.

Using the built-in stopword list.

Comparison

Compare summary values, keyword profiles, and collocates across corpus A and corpus B.

Analyze corpus A and corpus B to populate the comparison view.

Summary Values

These are the same document statistics shown in A and B, displayed side by side for comparison: characters, words (tokens), unique lemmas (types), type/token ratio, sentences, average word length, and average sentence length. The type/token ratio is calculated by dividing the number of types by the number of tokens.

Side-by-side document statistics for both corpora.

Measure A B
No comparison data yet.

Keyword List

Each row is one lemma from either corpus. Rel % = frequency / corpus tokens * 100. Keyness is signed log-likelihood: positive values mean the lemma is relatively stronger in corpus A, negative values mean it is relatively stronger in corpus B.

Sortable lemma-level frequencies, relative frequencies, and keyness scores.

Analyze both corpora to compare keyword profiles.

Collocate Comparison

Collocates are surface forms in a +/- 5 token window around the search hits. Relative frequencies are normalized inside the collocate list for each corpus: collocate frequency / total collocate tokens * 100. The compared item is always based on corpus A's search term.

Side-by-side collocate counts for the currently compared lemma.

Search for a lemma in corpus A or corpus B to compare collocates.

Collocate Comparison Without Stopwords

This table uses the same collocation window and normalization as the standard collocate comparison, but stopword tokens are removed before frequencies and relative frequencies are calculated.

Side-by-side collocate counts without stopwords for the currently compared lemma.

Search for a lemma in corpus A to compare collocates without stopwords.

Grammar Builder

Define rules and a vocabulary. Open syntax help.

Grammar not prepared yet.

Sentence Generator

Generate all valid sentences from the current grammar.

Sentence Checker

Syntax Trees

Digital Poet

D-Gram Help

Short English summary of the main syntax rules from the D-Gram documentation. Open the German PDF.

1. Basic rule format

Each syntax rule has the form Parent -> Child1 Child2. The left side contains exactly one element. The right side contains one or more elements separated by spaces.

2. Naming

You can choose category names freely, but they must be used consistently. D-Gram is case-sensitive. A common convention is uppercase for phrases or sentence parts and initial capitals for word classes, for example NP, VP, Noun, Verb.

3. Vocabulary entries

The vocabulary uses the same arrow syntax, but words appear on the right side in quotes, for example Noun -> "dog" | "cat". Use | to list alternatives on one line. Double quotes are preferred.

4. Features and agreement

You can add features in square brackets, for example NP[case=?c, num=?n]. Features are separated by commas. Wildcards such as ?c or ?n force matching values across elements and are useful for agreement.

5. Example with agreement

NP[case=?c, num=?n] -> Article[case=?c, num=?n] Noun[case=?c, num=?n]

Lexicon entries can also carry features, for example Article[case=nom, num=sg] -> "the".

6. Important separators

Use spaces between elements in rules, | between lexical alternatives, and commas between features inside square brackets.

7. Important limitations

D-Gram does not automatically add capitalization at the beginning of a sentence. It does not automatically add punctuation. It also inserts spaces between all elements, so punctuation or affixes must be modeled explicitly if needed.

About DILAITS

DILAITS stands for DIgital LAnguage InsighTS. It brings together browser-based tools for exploring language data and working with grammar.

Anna-Liza supports corpus-style text analysis with document statistics, lemma search, collocates, KWIC, n-grams, and corpus comparison.

D-Gram supports rule-based grammar work, including sentence generation, sentence checking, syntax trees, and poem generation.

Creators: Bojan Peric and Noah Bubenhofer.

Software version: 2.2, May 9, 2026.