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
Architecture & Pipeline
-
01
News Sources
Many publishers
-
02
Custom Scrapers
Python
- Python
-
03
Article Store
PostgreSQL · one schema + source refs
- PostgreSQL
-
04
Word Embeddings
TensorFlow
- TensorFlow
-
05
Semantic Match
Pairwise similarity
-
06
Connection Graph
Neo4j · what links them
- Neo4j
-
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