DiscourseGeometry
Where does a text sit on three axes of ecological discourse: anthropocentric ↔ ecocentric, conservative ↔ transformative and pessimistic ↔ optimistic? Based on Stibbe (2019) and Vallego (2026).
Position on each axis (%)
Whole-text measures
How the sentences spread: Frobenius norm and eigenanalysis
Each grey dot is a sentence. The shaded shape shows how far the sentences spread around the text's centre: its overall size is what the Frobenius norm summarises. The red line is the main direction found by eigenanalysis, the direction along which the sentences differ most; the percentage is its share of the spread. Needs at least three sentences.
Your text among reference discourses
How it works
- Each axis is defined by two poles, each a set of exemplar sentences (
poles.tsv). The axis direction runs from the centre of one pole's exemplars to the centre of the other's. - The three axes overlap in meaning (see the table below), so they are orthogonalised: symmetric orthogonalisation finds the three perpendicular directions closest to the originals, treating all three axes equally. This lets them be drawn as the x, y and z of one 3D space.
- The text is split into sentences. Each sentence, and the text as a whole (the centroid of its sentences), is placed on the three axes. Positions are expressed as percentages between the poles.
- Spread is the standard deviation of sentence positions on each axis: low spread means the text is consistent on that dimension; high spread means it moves between positions.
- Frobenius norm: the Frobenius norm of the sentences' positions around the text centre, divided by √(number of sentences), i.e. the average distance of a sentence from the centre across all three axes. Variation captured by the axes splits the sentences' total variation in the full embedding space into the part lying along the three axes and the rest (a Pythagorean decomposition of the squared Frobenius norm).
- Eigenanalysis: the eigenvectors of the 3×3 covariance of sentence positions give the directions along which the sentences vary; the eigenvalues give how much variation lies along each.
The Before orthogonalisation column shows each position measured on the raw, overlapping axis, so you can see how much orthogonalisation changes the reading.
Sentence encoder: all-mpnet-base-v2.
Overlap between the raw axes (cosine; 0 = independent)
References
Stibbe, A. (2019). Education for sustainability and the search for new stories to live by. In: J. Armon, S. Scoffham, and C. Armon, eds. Prioritizing Sustainability Education: A Comprehensive Approach. London; New York: Routledge, pp. 233–243.
Vallego, J. (2026). A Spatial-Geometric Framework for Discourse Comparison: Centroid Projection, Frobenius Norm, and Eigenanalysis in a Constructed Semantic Measurement Space.