Explore how poems in the Estonian and the Finnish-side collections relate to each other. This page compares the roughly 290,000 poems in this site’s index — drawn from four source archives holding about 294,000 texts — and their 4.3 million verse lines, using five poem-level and five verse-level similarity algorithms plus fused rankings — from shared words to shared meaning across languages.
How these numbers are computed: each ranked list comes from one named algorithm (word overlap, weighted term frequency, translation-pivot, character-bigram alignment, or semantic embeddings); the Combined view fuses four of the five poem-level algorithms (TF-IDF, Jaccard, translation, alignment) into one ranking. The alignment method follows Janicki, Kallio & Sarv (2023).
Tip: Press ? on your keyboard to toggle this panel. It auto-selects the section matching your current tab.
Eight views
Poem Similarity — pick a poem, see its closest matches
Verse Similarity — search for a verse line and find similar ones
Verse Pairs — browse the strongest verse-to-verse connections found across the whole corpus
Song types — pick a song type and see which types are most like it, and why
Geography — see which places share poetic traditions on a map
Recurring verses — discover which verses recur across the tradition and which are unique
Compare — put any two poems side by side, verse by verse, with shared words highlighted
Cross-corpus clusters — browse groups of near-identical verse lines that recur in both the Estonian and Finnish corpora
How similarity is measured
Eight methods look for connections in different ways — three of them (TF-IDF, Jaccard, Translation) run at both the poem and the verse level:
TF-IDF — same root words (e.g., “laulu” and “laulude” both count as “laul”)
Wordform (Jaccard) — same exact words shared between two texts
Translation-Pivot — same meaning across languages (compared through English translations)
Alignment — similar verses appearing in the same order (poem view)
Semantic (GloVe) — similar overall themes, even with different words (poem view)
CharBigram — shared letter patterns, robust to spelling variation (verse view)
Sentence Embedding — whole-line meaning from a sentence-embedding model (verse view)
Combined (RRF) — merges the others by rank into one fused score; agreement between methods pushes a match up, but a match found by one method alone can still appear. On poems it fuses 4 (TF-IDF, Jaccard, Translation, Alignment); on verses it fuses 5 (TF-IDF, Jaccard, Translation, CharBigram, Sentence).
On the Poem view, Verse Match rolls the verse-level Combined (RRF) score up into a whole-poem score.
Why views show different counts. The eight methods above are the measurement families used across the page. Verse Match adds one more poem ranking by rolling the verse-level combined score up to whole poems — so the Poem view offers seven ranked lists (five algorithms plus Verse Match and Combined RRF) and the Verse view six (five algorithms plus Combined RRF):
Scores are percentages: higher = more similar. Colors match algorithms throughout the page.
Algorithm
UI label
Measures
Cross-corpus?
TF-IDF
TF-IDF Lemma
Shared lemmas (IDF-weighted cosine)
No
Jaccard
Wordform (Jaccard)
Shared word forms (set intersection)
No
Translation
Translation-Pivot
Shared English translations (pivoted cosine)
Yes
Alignment
Alignment
Verse sequence structure (Wagner-Fischer DP)
Partial
Semantic
Semantic (GloVe)
GloVe 300d + SIF embedding cosine
Yes
Verse Match
Verse Match
5-algorithm verse-level RRF aggregated to poem
Mixed
RRF
Combined (RRF)
Reciprocal Rank Fusion of multiple algorithms
Depends
Data: ~294,000 texts in the four source archives — ERAB in Estonia (~109K), and on the Finnish side SKVR (~89K, the main published archive), JR (~86K, unpublished) and KR (~10.5K, published Kalevala-metre poetry), whose material is not all in Finnish. After deduplication and merging, the index this page compares holds 292,089 poems, with 4,316,744 verse lines in the similarity pipeline.
Start by searching for a poem (by archive ID like “H II 1, 389” or by a word in the text). You’ll see the most similar poems ranked by whichever method you choose.
Side-by-side comparison
The pair buttons (e.g., “TF-IDF vs Jaccard”) show two rankings next to each other — useful for seeing which matches are found by different methods. Poems appearing in both columns are especially reliable matches.
Combined (RRF)
Merges the methods’ rankings into one fused score; agreement between methods pushes a poem up, but a strong match from a single method can still appear. The algorithm badges (T, J, Tr, A) on each card show which methods contributed.
Poem comparison overlay
Click “Compare” on any match to see both poems verse by verse. Highlighted words show what’s shared:
Yellow — same exact word
Blue — same root word (different form)
Purple — same meaning across languages
Curved lines between the poems connect matching verses. Thicker lines = stronger matches.
Network graph & similarity map
A web of connections shows how your poem relates to its matches and their matches. The similarity map plots where matches were collected geographically.
Tips
Use the score slider to hide weak matches
Check Cross-corpus only (on Translation, Alignment, Semantic, Verse Match and Combined) to see connections between the Estonian and the Finnish-side collections
Click any poem ID to chain-navigate — breadcrumbs track your path
Deep link: ?poem=H II 1, 389
Verse Similarity
Search for a verse line and see which other verses across the corpus sound similar. Each match is scored by five methods — Jaccard (same words), TF-IDF (same root words), Translation (same meaning across languages), CharBigram (shared letter patterns), and Sentence Embedding (whole-line meaning) — which are then merged into a combined ranking. (See the Overview tab for what each method does.) A separate experimental panel, Semantic neighbours – native embedding, sits below the results and is described at the end of this tab; it is not part of the combined ranking.
Reading a result
Results are a single ranked list, not columns. Each row shows:
A strip of small coloured squares — one lit square per method that found this match (hover them to see which methods, and at what rank)
An N/5 count — how many of the five methods agree on this match
A ×N badge when the same line occurs more than once — identical verses are folded into a single row rather than repeated down the list, and ×N is how many times that exact line appears across the corpus. If several distinct copies (different poems or places) folded into the row, an attestations expander lists each one so you can jump to a specific occurrence.
A language badge (ET / FI) and the collection place; cross-corpus matches also carry an ET↔FI badge
Click the arrow to explore onward from that verse — the verse trail tracks where you have been
Sorting the matches
Best match (default) — balances how many methods agree with how strong each method’s score is, calibrated so no single method dominates. Genuine matches tend to rise to the top, and look-alikes that only one method likes are held back.
Combined (RRF) — merges the methods purely by the rank each gives a match; agreement helps most, but a verse found by one method alone can still rank high.
Agreement — orders by the raw number of methods (out of five) that found the match.
Top raw score — orders by the single strongest method score. Good for surfacing spelling and dialect twins that only the letter-pattern method catches, but it can also float unrelated look-alikes to the top.
Filtering and display
All / ET↔FI / ET / FI — show all matches, only cross-corpus ones, or only within one corpus
Place menu — limit to matches from one collection place
Hide exact repeats — drops the one match that is word-for-word your search line (your search verse re-attested verbatim elsewhere), leaving only the near, non-identical matches. Repeated copies of any other line are already folded into a single ×N row by default (see “Reading a result”), so this control only concerns the search line itself. It greys out when no match is identical to your search line.
Highlight related words — words spelled identically to one in the search verse are always marked, with no download: the same word repeated within a language, and the same spelling across Estonian and Finnish shown as a likely shared root. Switch this on to also mark the same dictionary word in a different grammatical form (e.g. metsä / metsän) and, across Estonian and Finnish, words that share a root or an English translation; the first time, it loads a one-time word index. It can legitimately find nothing extra to mark when a verse uses dialectal spellings the dictionary does not cover.
Translations — show an English translation under each verse
Below the five-method results, an experimental panel finds lines with a similar meaning in any language directly from the original texts, using multilingual sentence-embedding models. It shows two models together, each labelled: LaBSE (Language-agnostic BERT Sentence Embeddings) and mpnet (paraphrase-multilingual-mpnet-base-v2, a Sentence-BERT model), so you can compare them at a glance. It is not part of the combined ranking. Lines that none of the five methods found are highlighted, and the panel opens by itself when it holds such lines.
Each model has its own Show hidden candidates (research view) control that reveals, on click, the stored candidate lines that model’s quality rule rejected, each labelled with the reason it is hidden. Most rejected lines score high on raw similarity yet come from generic phrasings, so read them with caution.
Each line shown passes a calibrated quality rule. The two models were calibrated separately, so their thresholds differ.
LaBSE:
meaning-similarity to your line at least 0.77 on a 0–1 scale;
at least 0.065 above your line’s 100th-closest candidate (this drops matches from generic phrasings where everything scores high);
at least 25% of your line’s words reappear in it (matched by word beginnings), to guard against cross-language look-alikes — unless the similarity is at least 0.90.
mpnet:
meaning-similarity at least 0.885 on a 0–1 scale;
at least 0.045 above your line’s 100th-closest candidate;
at least 35% word overlap (by word beginnings) — unless the similarity is at least 0.97.
Verse Pairs
Browse the strongest verse-to-verse connections found across the whole corpus, ranked by combined evidence from shared words, rare words, translations, and letter patterns.
Sort by any algorithm or use Combined (default)
Check Cross-corpus only to focus on cross-corpus pairs
Click a pair to see its scores, a map link, and a button that opens both poems
Switch to By Place Pair to see which collection places share the most verse material
Select pairs (checkboxes) to expand them on the map — the map then shows where each verse text was collected across the corpus:
Map Expansion (select a pair)
Main location (large circle) — the place with the most poems containing that verse text
Spread lines (dashed) — connect the main location to every other place where the same verse appears
Co-location (purple) — places where both verse texts appear, shown only when such overlap exists
Algorithm badges: J (blue) = Jaccard, T (green) = TF-IDF, Tr (teal) = Translation, C (pink) = CharBigram, S (purple) = Sentence.
By Place Pair view shows identical verses + near-matches = combined total. Sort by combined count, identical verses, near-matches, best RRF score, cross-corpus near-matches, or one of the two size-normalized options (in Cross-corpus only mode the sort menu is shorter):
Size-normalized (small places) — shared verse pairs ÷ √(distinct verse lines recorded in each place), so a thinly collected place that shares a lot ranks above a large archive that shares more in absolute terms.
Size-normalized (without small places) — the same score, but places with fewer than 1,000 distinct recorded verse lines are left out. The ratio is unstable where almost nothing was collected: two shared lines between two tiny collections can otherwise outrank hundreds shared between two well-collected parishes. This cut applies only while this sort is chosen.
Counts are a lower bound. Place-pair totals are counted over the whole corpus, attribute each verse to its primary recorded place, and exclude self-pairs, so true corpus-wide totals are higher still. (For scale: 288,635 verses carry no recorded place, and 3,601,619 matching verse pairs were skipped because at least one side had no place.) Cross-corpus (ET↔FI) counts additionally inherit language-labelling caveats for border parishes, so treat them as a lower-bound estimate, not an exact count. Matching also compares normalized text (lowercased, spaces collapsed) and does not fold dialectal spelling variants, so one verse spelled differently across dialects (e.g. peningita vs penningita) is counted as two separate texts rather than one match — a further reason the totals understate true parallelism.
Song types
Which song types resemble each other? Choose a song type as the archives file it (ERAB; SKVR, KR) and this view lists the types whose poems are most alike. Each method gives its own list; the combined ranking, shown first, merges several of them into one.
The combined ranking merges these lists: .
From poems to types. Each method first compares single poems or single lines; this view adds those links up over all the poems filed under the two types. Poems filed under both types are left out of that sum, so two types do not look alike only because the archives file the same poems under both; that overlap is shown as a badge instead. The Measure menu sets how the links are added up: Sum of poem pairs adds the strength of every linked poem pair and scales it by the sizes of the two types; Coverage of poems looks at how well each poem of one type is matched by its closest poem in the other type, in both directions, so that a large type does not come first by its size alone.
How much evidence. A pair of types enters a list only if at least three linked poem pairs support it, or two when the poems are in different languages. Where the two types have too few poems for that ever to happen, the pair is shown with a mark for limited evidence. In lists where very large types would otherwise rise near the top of almost every list, the order takes into account whether the two types are close to each other compared with their other similar types. Each list keeps the 30 closest types in the same language and 30 in the other, and the filters work within those 30.
The lists. TF-IDF, Jaccard and CharBigram compare the words themselves; Translation compares the texts through English translations; Semantic compares the meaning of whole poems through the English glosses of their words; Sentence, LaBSE and mpnet compare the meaning of single lines (mpnet is experimental); Alignment matches verses in their order. The combined poem ranking is the Poem Similarity tab’s combined ranking of four methods. The lists marked “(verses)”, the verse match and the line-match lists compare single lines first. The glossary explains each method.
Lines the types share.Shared lines counts the lines both types contain; lines that recur in many different songs count less. Lines found inside shows when lines of one type turn up inside the other, and in which direction. Alignment and shared-line coverage measures how much of one type’s poems can be aligned with the other type’s poems or, failing that, covered by lines they share. These three lists group lines in a way of their own, not the one the Recurring verses and Cross-corpus clusters tabs show, so their counts differ from those tabs.
The archives’ own evidence.Filed together is the share of poems the archives file under both types, and Archive cross-references are the archivists’ own notes, such as “part of” or “compare”. They come from the archives, not from the texts, so the combined ranking leaves them out unless All evidence is ticked. RunoVerse’s suggested type links types through the types RunoVerse suggests for poems; it carries an outlined badge, because a suggestion is not an archive filing.
Reading a row. The squares show how many independent sources place the type among the closest. The bar shows the type’s value in the chosen list (the number beside it) against the highest value on the list; the Minimum slider hides the types whose value is lower than the number shown beside it. Badges mark the same archive heading, the same ERAB category, and the filing: types filed on exactly the same poems are folded into one row, and a separate badge shows when all of one type’s poems are also filed under the other. An ERAB category is a genre, song category or function that the Estonian runosong database ERAB records for its poems, so only types with Estonian poems have one; it counts for a type only when it covers at least one in five of the type’s poems that ERAB has categorised. Why opens the pair’s rank in every list and the poems the link rests on; Compare opens side by side the strongest example in the list, one poem from each type; in a combined ranking, the example comes from the list in which the type ranks highest. A row whose only example is a poem filed under both types offers “Open poem” instead, which opens that poem in the reader.
How often the closest types are the same song. For a blind check, a random sample of song types was drawn. Two language models, Claude Opus and GPT, read poems of each type beside poems of its closest types in the combined ranking, with the type names hidden. Among the five closest types in the same language, both models judged the pair to be the same song, or parts of one song, in of cases; among the three closest in the other language, in ; and among the five closest under All, in . A type that shares only a motif or a theme with the viewed type, or on which the two models disagreed, is not counted as the same song.
Song types created after the blind check were not in its sample, so these figures do not cover the following types: .
Computed, not checked. These lists are computed from the texts, and no one has read a sample of their pairs to check them. A close type is therefore a lead to follow up, not a finding.
Best match is the default order of the combined ranking when it is offered. It reorders the closest types by weighing the combined score, the number of agreeing sources and the ranks in the separate lists, with weights fitted to the blind check’s judgements on half of the sampled types; on the other half of the sample it put fewer unrelated types among the five closest in the same language than the combined score did.
Map and strongest pairs. The map shows where the poems of a type were collected, with those of one similar type beside them; poems without a place on the map are counted in a note under it. A line joins two places when a poem of one type was recorded at one end, a poem of the other type at the other end, and the method chosen in “Similarity by” links the two poems (for the combined ranking, any of the text lists it merges); click a line for the two places, the number of poem pairs and an example pair to compare. Methods that do not pair poems, such as the archives’ own evidence, draw no lines. Strongest type pairs lists the closest pairs among all types for each language pair; sorting them by poems or by places describes the pairs and does not measure similarity. Where more pairs share the value of the last pair shown, those with the most evidence behind them are shown, and a note says how many pairs share that value.
Corpora. JR poems carry no archive song type, so they do not appear here. The section headings of the Kanteletar (KR) are headings of the edition, not song types, and are not listed; six Kanteletar poems filed under “Jauhaessa” are counted with that type.
The page address keeps the chosen type, list and filters, so Copy link shares exactly this view.
Geography
What this map shows: where the same runosongs turn up in more than one place. Each dot is a place where collectors wrote songs down; each line joins two places that recorded the same or nearly the same verse lines (whole poems in Poem Connections and Combined). A thicker line means more shared material. The data spans four runosong corpora — three Finnish (SKVR, the main archive; KR, published Kalevala-metre poetry; JR, the unpublished-poems archive) and one Estonian (ERAB). A green line stays within the Finnish material or within the Estonian material, so it can join places from different Finnish collections; a gold dashed cross-corpus line always joins an Estonian and a Finnish place. Click a dot for the place itself; click a line for what the two places share.
The five views (the buttons above the map):
Verse Network — every pair of places, compared verse line by verse line. Most links stay within one corpus (green solid); the rarer cross-corpus links are gold dashed.
Cross-corpus verse clusters, Poem Connections, Combined — all use the whole corpus, but draw only the connections that cross between the corpora.
Place Focus — pick one place and see lines to every place it connects to.
Colour key (also shown in the legend below the map). Dots: blue = an Estonian place, orange = a Finnish place (darker shades in the cross-corpus views; an emerald dot marks the place you picked in Place Focus). Lines: Verse Network — green solid = same-corpus, gold dashed = cross-corpus; Cross-corpus verse clusters — purple; Poem Connections — teal; Combined — purple solid = shared verses, teal = shared poems, red dashed = both. In the three cross-corpus views every line joins the two corpora, so there is just one line colour.
Verse Network
Lines join collection places that recorded matching verse lines anywhere in the corpus. The metric dropdown controls what the thickness measures:
Normalized surprise — rewards small places that share material relative to their size: five identical lines shared between two tiny collections signals a stronger link than five shared between two huge ones. (Technically: identical shared verse lines ÷ √(each place's distinct verse lines).)
Combined count (default) — identical shared verse lines plus near-match verse pairs. These are two different units (cluster types + near-match instances, like the Verse Pairs tab's Combined), so read it as a strength score, not a clean tally.
Identical verses only — how many exact verse lines (recurring verses — lines attested in many poems across the tradition) are recorded in both places, across the whole corpus. This is the count the Normalized-surprise view is built from, before the size correction.
Near-matches only — how many fuzzy (not identical) verse-pair matches the two places share, across the whole corpus. Each verse keeps its 5 closest matches per method (Jaccard, TF-IDF, translation, char-bigram, sentence-embedding) above a threshold (0.80 within a language, 0.30 across languages). The separate Verse Pairs browser lists only the strongest pairs as examples; this count is not limited to them.
Corpus filter — All connections / Cross-corpus only / Same-corpus only.
Min connections — applies to the count metrics (Combined / Identical / Near-matches), not to the Normalized-surprise ratio. Under Normalized surprise the map shows every pair it can score (at least one shared identical verse and known collection sizes for both places), still limited by Show top.
Show top (10–500) — keep only the N strongest lines.
Counts are a lower bound. Near-match counts keep only each verse's 5 closest matches per method above the threshold; about 288,000 verses carry no collection place and contribute nothing; each verse is attributed to its primary (first-listed) collection place; self-pairs are excluded; and dialect or orthographic spellings are not folded together, so the same line spelled two ways is at best a near-match, never identical.
Cross-corpus verse clusters
Cross-corpus only. A line joins an Estonian-corpus and a Finnish-corpus place that share cross-corpus verse clusters — groups of near-identical lines that span the language boundary. Dot size and Min clusters reflect each place's total cross-corpus clusters; line thickness and Min connections reflect the clusters this cross-corpus pair shares. The detail panel may also report identical verse-text types shared across the boundary — a different number from the cluster count.
Corpus (All / ET / FI), Min clusters, Min connections, Top N sliders
Show all checkbox — draw every connection instead of the filtered top N
Poem Connections
Cross-corpus only. A line joins places where similar whole poems (not single verses) were collected. The algorithm buttons choose how poems are matched:
RRF — fuses four poem-level methods (TF-IDF, Jaccard, Translation, Alignment); agreement between methods raises the fused score, and the panel shows how many of the four found the pair (two or more is more robust).
Translation-Pivot — matches poems through their English translations, so it works across the corpora.
Semantic — matches poems by overall meaning, using word-embedding similarity on the translations. (Thematic and Semantic are single methods, with no agreement count.)
Min pairs — hide places sharing fewer than N similar poem pairs; line thickness = number of shared cross-corpus poem pairs.
Show all checkbox — draw every connection.
Combined
Overlays the shared-verse lines and the poem lines on one map: purple solid = shared verses, teal = shared poems, red dashed = a pair sharing both. Clicking a verse line opens the Cross-corpus verse clusters panel; clicking a poem line opens the Poem Connections panel.
Algorithm (poem matching, as above), Min verse pairs, Min poem pairs sliders
Show all checkbox (on by default) — toggle the full network vs the filtered view
Place Focus
Pick a single place and see its strongest connections radiating outward.
Tradition Strength — how much poetic material this place shares with each partner: every unique verse pair the two places share contributes its best similarity score (from four verse-level methods), and those scores are summed — so both how many pairs are shared and how strong each match is push the score up. Larger, better-collected places still tend to score higher.
Surprising Connections — the same summed score divided by the geometric mean of the two places’ total collected verse lines, so a small place that shares a lot ranks high.
Place — type-ahead over 800+ collection places. Corpus — All / Cross-corpus only / Same-corpus only. Show — how many of the strongest partner lines to draw (5–60, default 50).
The emerald dot is the place you picked. Click Focus on this place in any popup to chain-navigate.
The (ET) / (FI) tag beside each place is a single representative language assigned to that place; language is actually recorded per verse, so a border parish that recorded both Estonian and Finnish verses still shows just one tag. Cross-corpus links are decided by comparing these per-place tags.
Deep link: ?mode=geography&submode=placefocus&place=Kuusalu
Cross-corpus song types
In the three cross-corpus views, the link Cross-corpus song types on the Song Bridge page opens the list of song types of the different corpora that are linked by shared verses.
Recurring verses
See which parts of a poem recur across the tradition, and which are found nowhere else in the corpus. Each verse gets a color: dark green = widely shared, yellow = found nowhere else, gray = too short to score.
Browse Most recurrent or Most Unique poems, or search by poem ID
Click any verse in the color strip to see its 5 closest matches from other poems
The recurrence index runs 0–100 and rises with three things: how strong a verse's closest parallel is, how many verses in other poems echo it, and how long the line is (short lines match by chance). 80+ marks a widely shared verse; the lower the score the closer to unique, and a verse found nowhere else scores 0.
By cluster
Switch to By cluster at the top to browse the 200 largest groups of recurring verse lines in the tradition — the building blocks singers reused across poems and places. Each cluster shows its member count, the places it reaches, and its corpus split; open one to see sample variants and jump into the Verse Explorer.
Each verse's raw score combines three signals drawn from the five similarity methods (Jaccard, TF-IDF, Thematic/Translation, CharBigram, Sentence Embedding): the strength of its single best cross-poem parallel, how many verses in other poems echo it (counted up to 50 per method), and the line's length (short lines, which match by chance, are damped). Raw scores are then rescaled across the whole corpus to 0–100 by their 99th percentile, so the color bands track the real spread. Verses with fewer than 2 distinct words of at least two letters are excluded (SHORT badge). Automatic matching finds at least one parallel for 99.8% of scorable verses — a picture consistent with a tradition that reuses verse material heavily, though the matches are algorithmic, not scholar-confirmed. Algorithm badges on each match: Jac/TF/Tx/Bi/Se.
Poem Comparison
Compare two runosong poems side-by-side with multi-layer vocabulary highlighting. Words are color-coded by match type:
Green — same exact wordform in both poems
Blue — same lemma (dictionary form), different surface form
Purple — same English translation (cross-corpus match)
Light blue — unique to Poem A
Light orange — unique to Poem B
Features
Verse connections — curved lines drawn between similar verses, based on 5 precomputed algorithms
Algorithm dashboard — a score panel with 7 similarity scores (five poem-level algorithms — TF-IDF, Jaccard, Translation, Alignment, Semantic — plus Verse Match and Combined RRF)
Translations — English translations below each verse
Recurring verses — Dot indicators showing which verses recur across the corpus
Mini-map — Click to expand; shows collection locations and distance
Verse popover — Click any verse to see its closest matches and per-algorithm scores
Keyboard shortcuts
Ctrl+Shift+S Swap poems
Ctrl+Shift+C Toggle connections
Ctrl+Shift+T Toggle translations
Ctrl+Shift+F Toggle recurrence
Ctrl+Shift+1/2/3 Toggle highlight layers
Ctrl+Shift+R Random pair
Esc Clear comparison or close popover
Deep link: ?mode=compare&a=SKVR+I1+1.&b=SKVR+I1+2.
Cross-corpus clusters
Each cluster is a group of runosong verses the pipeline judged near-identical — usually the same verse recurring in both corpora. Every cluster holds at least one Estonian-corpus verse (ERAB) and one Finnish-corpus verse (SKVR, KR, JR).
Soft membership. One verse can belong to several clusters, so the cluster sizes add up to more than the distinct-verse total.
Form vs low overlap. The badge marks how much visible word form the two sides share, not whether they match in meaning. Low overlap is an upper bound — mostly cognates whose spelling drifted apart, or short verses just below the line; genuine meaning-only parallels are nearer 1–2%.
KR? flag. Marks a verse whose poem has Estonian text filed under the Finnish KR corpus — a known limitation, so those counts may be slightly inflated.
The search box and the Type, Language-mix, Min-size, and Sort controls filter the list; the count in the header reflects your current filters.
Glossary
Term
Explanation
Alignment
Compares poems by matching verses in order, like aligning two song sheets
CharBigram
Compares how words look letter-by-letter; catches dialect spelling differences
Combined / RRF
Merges rankings from several methods; agreement strengthens a match, though single-method finds can still appear
Cosine similarity
Measures how similar two lists of numbers are (0 = unrelated, 1 = identical)
Cross-corpus
Connections joining the Estonian collection (ERAB) and the Finnish collections (SKVR, KR, JR). “Cross-corpus” is the careful term: each side also holds other Finnic varieties, and some Estonian text is filed under the Finnish KR corpus, so corpus and language can differ
ERAB
Estonian runosong archive (~109,000 poems)
Recurring verse
A verse line that appears in many poems across the tradition
Jaccard
Counts shared exact words between two texts
JR
Archive of unpublished runosong on the Finnish side (~86,000 poems); its material is not all in Finnish
KR
Literary (published) runosong in Kalevala metre, Finnish and Estonian — Kirjalliset Runot (~10,500 poems)
Lemma
Dictionary form of a word (“laulu” and “laulude” → “laul”)
Near-match
Algorithmically similar but not identical verses
Normalized surprise
How unexpected a connection is given the sizes of both places — identical shared verse lines divided by the geometric mean of the two places’ distinct verse-line counts (the Verse Network metric; Place Focus’s Surprising Connections is a different ratio — see the Geography tab)
Runosong
Traditional Finnic oral poetry (Estonian: regilaul, Finnish: runolaulu)
SKVR
Main Finnish runosong archive (~89,000 poems)
TF-IDF
Matches root words, weighting rare shared words more heavily
Translation-Pivot
Compares texts through English translations; works across languages
Tradition Strength
Sum of the best similarity scores of all unique verse pairs two places share — match strength times volume, not a plain count
Verse Match
Compares verse lines (shared words, rare words, translations, letter patterns), then aggregates to a poem score
New here? Press ? or click ? Help for a guide to this page.
Pick a poem and see which other poems are most like it. Choose two methods to compare side by side, or use Combined for an overall ranking. Click any match to jump to that poem and keep exploring.
Use the score slider to hide weak matches
Check Cross-corpus only to see connections between the Estonian and the Finnish-side collections
Click Compare to see both poems verse by verse, with shared words highlighted
Compare poems across two similarity algorithms side-by-side. Search for any poem above, or use ?poem=ID in the URL.
Seven ranked views: five poem-level algorithms (TF-IDF Lemma, Wordform (Jaccard), Translation-Pivot, Alignment, Semantic (GloVe)) plus the Verse Match and Combined RRF fused rankings.
Verse Similarity
Find similar verses across 4.3 million lines of runosong
Search for a verse line and find similar ones across the corpus. Results are compared by shared words, rare words, translations, and letter patterns, plus a combined view.
Click the arrow on a match to explore from that verse — the verse trail tracks where you’ve been
Language badges (ET/FI) show which tradition each match comes from
The 49 997 most similar verse-line pairs out of 832 million compared. These are near matches; for lines that repeat word for word, see Recurring verses.
Every pair of collection places in the corpus — 254 221 of them — ranked by how much verse material they share.
All 86 682 verse-line pairs that cross between the Estonian and the Finnish-side collections (the Cross-corpus only filter) — the whole set this clustering produced, not a shortlist.
Every pair of collection places joined by a verse line that crosses between the Estonian and the Finnish-side collections, counted in full.
How to read this list
Each row is two verse lines the automatic comparison judged similar. Under each line is the collection place where that wording was most often written down; +2 places means it was also recorded in two others, and ×3 that it was written down three times in all. Click a row to open its scores and links, then Compare Poems to see the two poems side by side.
Each row is one pair of verse lines that crosses between the collections. Where the same two lines were written down more than once, they are merged into a single row showing how many copies and how many places lie behind it — which is why the list is shorter than the total above. Click a row to open its scores and links, then Compare Poems to see the two poems side by side.
This list holds the pairs that scored highest across five automatic measures — shared words, rare words, a translation bridge, letter patterns and sentence meaning. Every pair here was found by at least four of the five; Jac, TF, Tr, CB and Se on the row are those five scores. The Combined score is not a percentage — it rewards a pair for ranking high on several measures at once, so compare rows against each other rather than reading the figure on its own.
A pair reaches this set by agreeing across at least two of five automatic measures — shared words, rare words, a translation bridge, letter patterns and sentence meaning. The scores printed on a row come from a separate shortlist, so a row can show several, one, or none — about four in ten of these pairs carry any score at all. A dash in place of a score means that measure’s shortlist did not reach the pair, not that the pair scored badly.
Nobody has checked these matches line by line, so read them as leads to inspect rather than proven parallels. The map beside the list shows where each verse was collected; tick a row’s box to draw its places and the links between them.
Matching lines are gathered into clusters — sets of verse lines treated as variants of one line. The badge at the left of a row, ×114, is the size of that row’s cluster, and cluster #14 is its number. The clustering behind this set keeps a group only when at least five lines fall in it, and it found 9 009 groups holding material from both sides. A separate rebuild that keeps groups down to two lines — 19 423 of them — is browsable under Cross-corpus clusters, and its counts run higher for that reason.
Each row is two collection places and how much verse material they share.
identical — how many distinct verse lines, ignoring capitals and spacing, were written down in both places — counted over the whole corpushow many of the shared pairs have the same wording on both sides
near — how many verse-line pairs between the two places the automatic comparison judged closepairs of lines that differ, but which the automatic comparison judged close
total — the two added together; the sort menu calls this “Combined (mixed units)” because the first counts lines and the second counts pairs
best — the strongest single near-match score behind the row, on the combined scale
ET↔FI — how many of the near matches join an Estonian place to a Finnish-side one
Click a row to open its strongest shared lines. → Show pairs filters the verse list down to those two places. In this dataset the identical-text matches are counted in the row total but are not listed there individually. The thin coloured bar under each row shows which of the five measures found its near matches — hover it for the counts. Ticking a row’s box puts that pair of places on the map.
Two of the sort options — Size-normalized (small places) and Size-normalized (without small places) — add a density figure to each row: the shared total divided by the square root of the two places’ distinct-verse-line counts multiplied together, so a thinly collected parish that shares a lot is not buried under the largest archives. The second also leaves out places with fewer than 1 000 distinct recorded verse lines, where that ratio turns unstable.
These totals are counted over the whole corpus, not over the shortlist in the other view, and they still understate the tradition: each verse is credited to its main recorded place, 288 635 verses carry no recorded place at all, 3 601 619 matching pairs were left out because one side had no place, and one line spelled two dialect ways counts as two lines rather than one match.
Every pair that crosses between the collections is counted here in full, apart from the pairs with no recorded place on one side and the handful whose two verses were written down in the same place. What the counts understate is the tradition, not this set: each verse is credited to its main recorded place, and one line spelled two dialect ways counts as two lines rather than one match.
Nobody has checked these matches line by line.
The material comes from four collections: ERAB in Estonia, and on the Finnish side SKVR (the main archive), KR (published Kalevala-metre poetry) and JR (the unpublished-poems archive) — whose material is not all in Finnish. Fuller account: Similarity Guide.
The most similar verse pairs found in the corpus, ranked by combined evidence from shared words, rare words, translations, and letter patterns. Use By Place Pair to see which collection places share the most verse material.
Place-pair counts are a lower bound: they are counted over the whole corpus, attribute each verse to its primary recorded place, and exclude self-pairs. The true totals across the full corpus are higher still. For a sense of scale, 288,635 verses carry no recorded place at all, and 3,601,619 matching verse pairs were left out because at least one of the two verses had no place. With Cross-corpus only ticked the place table instead counts that whole cross-corpus set exactly, apart from the pairs with no recorded place on one side.
Now browsing all 86,682 cross-corpus pairs, grouped by cluster — sorting switched to Cluster size; the song-type filter does not apply here.
Map0 selected
0 selected
Recurring verses
See which parts of a poem recur across the tradition, and which are found nowhere else in the corpus.
Color strip
Each cell = one verse. Dark green = widely shared verse, yellow = found nowhere else, gray = too short to score.
How to use
Click a verse to see its top 5 matches from other poems. The recurrence index runs 0–100, combining how strong a verse's closest parallel is, how many verses in other poems echo it, and the line's length; 80+ marks a widely shared verse; the lower the score, the closer to unique. Algorithm badges (Jac/TF/Tx/Bi/Se) show which method found each match.
Score distribution
Runosong reuses verse material heavily, so most poems score high — a high recurrence score is the norm, not a mark of quality. The index is most useful for spotting the rare distinctive poems at the low end.
A verse cluster groups verse lines that are near-identical variants of each other, found across many poems and places — the verse material the tradition reused most widely.
How they were discovered
The system analyzed 4.3 million verse lines using five similarity algorithms (Jaccard, TF-IDF, Translation, CharBigram, Sentence Embedding), then combined evidence to identify clusters. The 200 largest clusters are shown here.
Reading the display
Members = total verse occurrences. Places = distinct collection locations. The language bar shows Estonian (blue) / Finnish (orange) proportion. Both corpora clusters appear in both corpora.
Integration
Click “Explore in Verse Tab” to load a cluster into the Verse Explorer.
Compare two runosong poems side-by-side with multi-layer vocabulary highlighting. Words are color-coded by match type: green (same wordform), blue (same lemma), purple (same translation), light blue (unique to A), light orange (unique to B). Each layer uses a distinct underline style for accessibility.
How to find poem IDs
Open any poem in the Reader and copy its ID, or use the autocomplete suggestions as you type.
Hover over any word to see its English translation.
Advanced tools
Connections — curved lines linking similar verses across poems, based on precomputed similarity scores.
Algorithms — a score panel showing 7 similarity scores (five poem-level algorithms — TF-IDF, Jaccard, Translation-Pivot, Alignment, Semantic — plus Verse Match and Combined RRF).
Translations — Show English translations below each verse.
Recurring verses — Dot indicators showing which verses belong to verse clusters across the corpus.
Keyboard shortcuts
Ctrl+Shift+S Swap
Ctrl+Shift+C Connections
Ctrl+Shift+T Translations
Ctrl+Shift+F Recurring verses
Ctrl+Shift+1/2/3 Highlight layers
Ctrl+Shift+R Random pair
Esc Clear / close
|
Match type:VerbatimLexicalTranslationSemantic
Shared (underline):same wordsame dictionary wordsame meaning|Only in one poem (background):only in Aonly in B|Click a highlighted word to light its match in the other poem.
Enter two poem IDs above and click Compare. Try: SKVR I1 1. and SKVR I1 2.
Wordform
Lemma
Thematic
A only
B only
Word overlap:—
Shared words:—
Shared lemmas:—
Cognate links:—
Unique A:—
Unique B:—
Verses:—
Distance:—
Geographic distance only — not a similarity measure. Distant places can still share songs; neighbours can differ.
Algorithm scores
Algorithm
Score
Rank
A "—" or "Not in top-N" score means this pair isn't among that algorithm's strongest precomputed matches — not that the poems are judged dissimilar. Only each poem's nearest neighbours are precomputed, so most pair scores simply aren't stored.
Song type overlap
Shared vocabulary
Vocabulary analysis
Emotion profiles
Vocabulary metric radar (Poem A vs B)
Related tools for poem exploration
The 19,423 cross-corpus clusters are groups of runosong verses the similarity
pipeline judged near-identical — often the same line recurring in both corpora.
Every cluster holds at least one verse from the Estonian corpus (ERAB) and one from the Finnish
corpora (SKVR, KR, JR). Both sides are predominantly Estonian and Finnish but also include other
Finnic varieties, so "cross-corpus" marks which corpus a verse comes from rather than strictly its
language. Browse them below; the complete membership, by verse ID, is also archived as an open
dataset for reuse.
Reading the list. Soft membership — one verse can belong to several clusters,
so cluster sizes add up to more than the 84,265 distinct verses (110,458 memberships in all).
High overlap vs low overlap marks how much visible word form the two sides share, not
whether they match by meaning. The low-overlap group is an upper bound — mostly cognates whose
spelling diverged, or short verses that fall just below the line; genuine meaning-only parallels are
nearer 1–2%. Totals: 47,065 Estonian-corpus and 37,200 Finnish-corpus verses across 120,590 cross-corpus verse pairs.
Verses flagged KR? touch a poem where Estonian text was
filed under the Finnish KR corpus (a known limitation; counts may be slightly inflated).
Cross-corpus parallel verses: a static overview
Runosong verses travel across the language border: 86,716 cross-corpus verse pairs link the ERAB collection with the Finnish SKVR, KR and JR collections. A sample of closely matching pairs, each with its collection place: