Semantic News Matching with Knowledge Graphs

Overview

A semantic matching pipeline that relates news articles across thousands of sources. Custom scrapers pull articles from many publishers into a single PostgreSQL schema, each row keeping a reference back to the source it came from. Word embeddings then match articles semantically to recommend further reading to a reader on the site, and Neo4j renders those connections as a graph — so you can see not just which articles are related, but what actually links them.

Outcome

A 'related news' experience that connects readers to relevant articles across the web in real time, with a graph view showing what each connection is based on.

Screens & Demos

Semantic News Matching with Knowledge Graphs

Architecture & Pipeline

  1. 01

    News Sources

    Many publishers

  2. 02

    Custom Scrapers

    Python

    • Python
  3. 03

    Article Store

    PostgreSQL · one schema + source refs

    • PostgreSQL
  4. 04

    Word Embeddings

    TensorFlow

    • TensorFlow
  5. 05

    Semantic Match

    Pairwise similarity

  6. 06

    Connection Graph

    Neo4j · what links them

    • Neo4j
  7. 07

    Related-Articles API

    Real-time serving

End-to-end flow, in order. Scroll sideways on a narrow screen.

Key Features

  • Custom scrapers across many news publishers
  • One PostgreSQL schema for every article, with a reference back to its source
  • Word-embedding-based semantic matching between articles
  • Neo4j graph showing the connections and what links each pair of articles
  • Recommends related reading to visitors on the site
  • API for serving related articles in real time