Production AI Systems for News Personalization and Journalistic Workflows
bonnier_news · Media & Entertainment · 2024 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.6 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: News personalization and journalistic AI workflows
Bonnier News needed AI systems that could personalize content across many publication brands, support journalists with LLM tools, and adapt language models to Swedish media tone without losing editorial control or data sovereignty.
Constraints:
- The publisher spans roughly 200 brands with distinct editorial voices.
- Personalization must scale across brands while still allowing brand-specific tuning.
- Journalists need optional tools rather than replacement workflows.
- Sensitive journalistic material may need internal hosting rather than external APIs.
Architecture
Bonnier News builds a central AI/data-science platform for personalization and journalism tools. Its white-label personalization engine represents articles and readers with embeddings, uses vector similarity and reranking instead of metadata-heavy curation, and can be rolled across brands. LLM workflows generate trigger questions, aggregate multi-brand stories, and propose headlines. A WASP/Linkoping collaboration continues pre-training Llama on Swedish media data, then studies instruction tuning and internal hosting for brand-sensitive work.
Diagram confidence: explicit (topology described by the source).
flowchart LR brand-content-feeds["Brand content feeds"] --> article-embedding-pipeline["Article embedding pipeline"] brand-content-feeds["Brand content feeds"] --> news-aggregator["News aggregator"] article-embedding-pipeline["Article embedding pipeline"] --> vector-similarity-search["Vector similarity search"] reader-interest-estimator["Reader-interest estimator"] --> article-embedding-pipeline["Article embedding pipeline"] reader-interest-estimator["Reader-interest estimator"] --> vector-similarity-search["Vector similarity search"] vector-similarity-search["Vector similarity search"] --> reranking-layer["Reranking layer"] reranking-layer["Reranking layer"] --> recommendation-surface["Recommendation surface"] news-aggregator["News aggregator"] --> llm-summarization-workflow["LLM summarization workflow"] llm-summarization-workflow["LLM summarization workflow"] --> trigger-question-generator["Trigger question generator"] headline-generation-tool["Headline generation tool"] --> journalist-workflow["Journalist workflow"] swedish-media-pretraining-corpus["Swedish media pretraining corpus"] --> llama-continued-pretraining["Llama continued pretraining"] llama-continued-pretraining["Llama continued pretraining"] --> instruction-tuning-research["Instruction tuning research"]
Components
| Component | Role | Interacts with |
|---|---|---|
Brand content feeds |
Articles from Bonnier brands, including local, national, business, and lifestyle publications. | Article embedding pipeline, News aggregator |
Article embedding pipeline |
Vectorizes article content for personalization and similarity search. | Brand content feeds, Vector similarity search |
Reader-interest estimator |
Uses reading time, article length, app signals, and heuristics to infer articles a user cared about. | Article embedding pipeline, Vector similarity search |
Vector similarity search |
Finds nearest-neighbor content without depending on manual metadata. | Article embedding pipeline, Reader-interest estimator, Reranking layer |
Reranking layer |
Combines and reranks results from multiple top articles to avoid single-centroid failures. | Vector similarity search, Recommendation surface |
Recommendation surface |
Shows suggested further reading after articles and personalized content packages. | Reranking layer |
News aggregator |
Clusters stories covered by multiple brands and creates short summaries. | Brand content feeds, LLM summarization workflow |
LLM summarization workflow |
Uses generative AI to create overviews and trigger questions for readers. | News aggregator, Trigger question generator |
Trigger question generator |
Generates reader-facing questions that invite deeper exploration of related articles. | LLM summarization workflow |
Headline generation tool |
Generates headline candidates for journalists while exposing brand-tone limitations. | Journalist workflow |
Journalist workflow |
Human editorial process that can optionally use AI suggestions. | Headline generation tool |
Swedish media pretraining corpus |
Bonnier text data used for continued pre-training of Llama. | Llama continued pretraining |
Llama continued pretraining |
Domain-adapts open-source Llama models to Swedish media data. | Swedish media pretraining corpus, Instruction tuning research |
Instruction tuning research |
Studies how to regain instruction-following after continued pretraining. | Llama continued pretraining |
Data flow
A reader consumes articles across Bonnier brands. The personalization system estimates which articles they were most interested in from dwell time, article length, app reading signals, and other heuristics. It embeds those articles, searches vector space for similar content, optionally reranks nearest-neighbor results from multiple top articles, and serves further-reading recommendations or aggregated multi-brand story summaries. Separate journalist tools generate headline options or trigger questions, while domain-adapted Llama research uses Bonnier text data for Swedish media-specific pretraining.
3 supporting quotes
Why this architecture
Bonnier uses embeddings and vector distance because article content produced stronger personalization signal than manual metadata, and a white-label engine lets many brands start from a shared service. Domain-adapted Llama research addresses the separate problem that generic LLMs miss Swedish media tone and may not be acceptable for confidential journalism.
3 supporting quotes
Models used: embedding models · LLMs for summaries/questions/headlines · Llama
Scale
- Bonnier News has far above 200 brands.“there's a I mean there's a there's far above 200 Brands”transcript, stated
- One subscription package spans about 50 brands.“you can buy a subscription where you get access to something like 50 Brands”transcript, stated
- The personalization engine is described as rolled out at scale.“it's rolled out at scale okay so it's been used for yes a lot okay”transcript, stated
- Headline generation experiments ask for five alternative headlines.“can we ask an llm to generate five different headlines and then just let the the winning one take over once we publish it”transcript, stated
Alternatives considered (roads not taken)
Manual metadata as the primary personalization signal
Rejected because: The team found vector distance over content superior to manual metadata for personalization.
Single centroid vector for a user
Rejected because: Averaging distinct interests can land in an uninteresting point in embedding space.
Generic LLM headline generation without domain adaptation
Rejected because: Journalists reported that generic model outputs did not capture each publication’s tone.
Training a Swedish model from scratch
Rejected because: The research starts from existing Llama models and continues pretraining rather than building a foundation model from zero.
Patterns
retrieval-ranking (recommendation)
Bonnier retrieves nearest neighbors for top user-interest articles and reranks the combined results.
rag-retrieval (retrieval)
The personalization architecture uses embedding search over article/document vectors, analogous to RAG retrieval.
fine-tuning-adaptation (modeling)
The WASP collaboration continues pretraining Llama on Swedish media data for domain adaptation.
human-in-the-loop-gate (editorial)
Journalists remain the decision-makers for headline and editorial tooling, providing feedback on tone and use.
privacy-preserving-processing (governance)
The internal LLM strategy is motivated by confidential journalism that should not leave the organization.
context-engineering (prompting)
Bonnier treats prompt instructions as terse process instructions rather than conversational requests.
Tradeoffs
Productization strategy
Chose White-label personalization engine over Fully bespoke personalization per brand.
Rationale: A common engine lets brands start quickly; brand-specific fine-tuning can come later.
Personalization signal
Chose Content embeddings and vector distance over Manual metadata and taxonomies.
Rationale: The team found content vectors more useful and less labor-intensive than manual metadata.
Domain model strategy
Chose Continue pretraining Llama over Training from scratch or relying only on external APIs.
Rationale: This reuses open-source foundation capability while adding Swedish media domain knowledge and internal hosting options.
Gotchas (what bit them)
Manual metadata underperformed content embeddings for personalization.
Root cause: Metadata structures require manual labor and did not provide the strongest similarity signal.
Resolution: Use vector distance over article content and reading patterns.
Single-vector user representations can erase diverse interests.
Root cause: Averaging sports, tech, and other distinct interests may land between all of them.
Resolution: Experiment with multiple top articles and reranking rather than only a centroid.
Generic LLMs miss publication voice.
Root cause: Models lack exposure to each brand’s editorial tone and conventions.
Resolution: Research continued pretraining on Bonnier media data and brand-perspective adaptation.
Continued pretraining can lose instruction tuning.
Root cause: Domain pretraining produces a base model rather than an instruction-tuned model.
Resolution: Research how to add instruction tuning back without losing quality.
Evaluation
Bonnier compares personalization against trending/manual baselines, uses journalist feedback for LLM tools, and identifies a need for Swedish/editorial usability benchmarks.
Metrics: lift over trending/popular baselines · manual selection parity · journalist/editor usability · brand tone fit
3 supporting quotes
Outcomes
- The personalization engine is rolled out at scale and performs better than simple trending/popular baselines.
- Bonnier built trigger questions and story aggregation over multi-brand content.
- The Llama/WASP research creates a path toward internal Swedish media LLMs.
The case spans far above 200 brands, a package of roughly 50 brands, a rolled-out personalization engine, and headline generation experiments with five candidates.