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:

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"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

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
“the basic idea is to uh look at the reading patterns of our readers and represent them in a embedding”transcript, stated
“we do a search in Vector space and get the most similar and then we do a reranking of the results from those 10 articles”transcript, stated
“finding new stories that are written about by several different brands and combining them to a single story and giving like a short overview”transcript, stated

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
“we want to offer them like a white label solution and white label solution what does that mean so we we make one solution that is good enough for all brands”transcript, stated
“the vector distance is far superior interesting yeah fun so the content is more important than the metadata”transcript, stated
“journalists that work on secret projects where we don't want anything to leave the building basically so then having like our own uh bespoke llm”transcript, stated

Models used: embedding models · LLMs for summaries/questions/headlines · Llama

Scale

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.

“spend a lot of time with metadata right setting man manual metadata setting up structures for when metadata should be set”transcript, stated

Single centroid vector for a user

Rejected because: Averaging distinct interests can land in an uninteresting point in embedding space.

“if you move in the middle you could actually end up at the point which is not interesting at all”transcript, stated

Generic LLM headline generation without domain adaptation

Rejected because: Journalists reported that generic model outputs did not capture each publication’s tone.

“what the journalists have uh told us in feedback is that they don't capture the tone of whatever publication is trying to use this”transcript, stated

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.

“the starting assumption is that we will use one of the llamas and then continue pre-training the Llama”transcript, stated

Patterns

retrieval-ranking (recommendation)

Bonnier retrieves nearest neighbors for top user-interest articles and reranks the combined results.

“we do a search in Vector space and get the most similar and then we do a reranking of the results from those 10 articles”transcript, stated

rag-retrieval (retrieval)

The personalization architecture uses embedding search over article/document vectors, analogous to RAG retrieval.

“if I just want to vectorize a text string and I search like a whatever document um set of documents I have that are also vectorized embedded”transcript, stated

fine-tuning-adaptation (modeling)

The WASP collaboration continues pretraining Llama on Swedish media data for domain adaptation.

“continue pre-training the Llama um to distill out your own so to speak model”transcript, stated

human-in-the-loop-gate (editorial)

Journalists remain the decision-makers for headline and editorial tooling, providing feedback on tone and use.

“what the journalists have uh told us in feedback is that they don't capture the tone of whatever publication is trying to use this”transcript, stated

privacy-preserving-processing (governance)

The internal LLM strategy is motivated by confidential journalism that should not leave the organization.

“journalists that work on secret projects where we don't want anything to leave the building basically”transcript, stated

context-engineering (prompting)

Bonnier treats prompt instructions as terse process instructions rather than conversational requests.

“the prompting that takes place there is basically just very short but very clear instructions”transcript, stated

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.

“we make one solution that is good enough for all brands so it's supposed to be able to be used by both Express and and the local news”transcript, stated

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.

“the vector distance is far superior interesting yeah fun so the content is more important than the metadata”transcript, stated

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.

“the starting assumption is that we will use one of the llamas and then continue pre-training the Llama”transcript, stated

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.

“we don't need metadata you can do Vector distance on the content simply”transcript, stated

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.

“we also have experiments where we don't use a centroid but just use the algor the articles that user was most interested in”transcript, stated

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.

“what the journalists have uh told us in feedback is that they don't capture the tone of whatever publication is trying to use this”transcript, stated

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.

“because when we do the pre-training we will not have an instruction tun model so then the question becomes once we have the new pre-rain model how do we add on the instruction tuning”transcript, stated

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
“we started out with some very simple algorithms like uh what's the most trending article currently or like what's the most popular in the last 24 hours”transcript, stated
“it just needs to be as good as a manual selection for example”transcript, stated
“maybe we would need a new Benchmark to measure like usability for uh journalists or usability for editors and especially for Swedish”transcript, stated

Outcomes

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.

3 supporting quotes
“we see a large in yeah a large lift switching to the personalized uh algorithm”transcript, stated
“we generate questions that the user might have from the article in front front of front of the user”transcript, stated
“we were already involved with the research Arena uh the language media”transcript, stated