Argos · Emerging-Theme Discovery — Proof of Concept

Themes found, not picked.

The sector-map demo answered a phrase we gave it. The real prize: let the corpus tell us which themes are rising before anyone names them. This POC clusters 88M filing sentences with no keywords, no labels — and ranks what's accelerating. The test of whether it works: does it rediscover the themes we already know are emerging, on its own?

280,000 sentences · 40k/yr × 2019–2025 584 clusters (cuML UMAP → HDBSCAN) 0 keywords · 0 labels
The proof — unsupervised rediscovery

We didn't name these. The clustering did.

Each cluster's member-count by year is its intensity trend (the sample is equal-per-year). These three fell straight out of the unlabeled data — the exact themes a human would flag today, surfaced with zero supervision.

The AI / data-center cluster runs 0 0 0 0 2 0 → 51 — a theme that did not exist in the filing language, then exploded. That's the whole thesis in one row: emergence, caught automatically.

How it works

Four steps, mostly parts we already own

Sample by year

Pull embeddings evenly across 2019–2025 from qdrant. Equal-per-year makes member-count-by-year a normalized trend for free.

Reduce & cluster

cuML GPU UMAP (768→50) collapses sector/boilerplate vocabulary so HDBSCAN groups by theme, not industry.

Score emergence

Rank by acceleration off a low base × multi-issuer breadth × steady climb (ρ) × novelty vs our 529 classifiers.

Gate & name

Qwen (free/cheap) judges theme vs boilerplate and names the survivors — the judgment is entirely in the text.

Also surfaced — unsupervised

New themes the run pulled out on its own

Beyond the validation set, the same run flagged these accelerating, multi-issuer themes (boilerplate gated out by the LLM pass).

Honest read

What's proven, and what's next

Two known gaps (both solvable)

  • Boilerplate leakage. Accounting/legal clusters (amortization, reverse splits) also "emerge." The LLM gate caught most; the fix is porting RSS's build_spam_filter.py as a pre-gate.
  • Sample size. At 40k/yr, fine themes (GLP-1) merge into broader pharma. Production wants 500k–2M/yr — cheap on GPU.

Recommendation

  • A new team, not foundry. This consumes foundry's output — like cascade, news, insider. Foundry's job stays pipeline health.
  • Run qdrant-adjacent (proc2 / AWS same-VPC), not vortex. Clustering is an optional-GPU batch; the repeated cost is qdrant I/O, which is latency-bound off-box.
  • Port RSS's machinery — they've already built the cross-time cluster-diff, novelty, and spam filter.