RumourFlow is a prototype web-based toolkit for tracing source attribution and text reuse in historical newspapers.
Users upload a CSV/XLSX article dataset. The app returns reviewable source-cue candidates, gazetteer matches, text-reuse edges, reuse clusters, and graph-ready outputs.
Live demo: https://rumourflow-apzmwwkqv9dqezkcxadcag.streamlit.app
RumourFlow currently includes a Streamlit demo interface, a source-detection and gazetteer-matching backend, text-reuse clustering, graph export, an input template, and a Moon Hoax sample dataset.
The system is suitable for local testing, poster demonstration, and method development. It produces reviewable candidates rather than definitive historical claims, and it is not yet a hardened public production service.
Required columns:
| column | meaning |
|---|---|
article_id |
unique article identifier |
newspaper_title |
newspaper title where the article appeared |
date |
publication date |
text |
OCR/article text |
Recommended columns:
place, language, url, collection, issue_id, page_id.
A template is provided in:
templates/rumourflow_input_template.xlsx
After processing, RumourFlow creates:
| file | purpose |
|---|---|
articles_normalised.csv |
cleaned input |
source_candidates.csv |
detected source mentions and gazetteer matches |
source_candidates_for_review.xlsx |
spreadsheet for manual checking |
text_reuse_edges.csv |
article-pair reuse links |
reuse_clusters.csv |
reuse families |
article_cluster_membership.csv |
article-to-cluster map |
integrated_nodes.csv |
graph nodes |
integrated_edges.csv |
graph edges |
integrated_graph.graphml |
graph export for Gephi/Cytoscape |
integrated_graph.gexf |
graph export |
summary.json |
run statistics |
Install dependencies:
pip install -r requirements.txtStart the app:
streamlit run app.pyThen open the local URL shown by Streamlit.
The prototype expects the gazetteer here:
data/gazetteer_full_three_archives.csv
The included package may contain this file if it was available during packaging. If not, place the full gazetteer CSV there manually.
For a public website, add:
- upload size limits;
- temporary file deletion;
- a privacy statement;
- job queue for large datasets;
- user-facing documentation;
- clearer review dashboard;
- stable GitHub/Zenodo release.
The prototype accepts mixed date formats, including:
September 09, 18355/31/1900 0:00Thursday 02 May 1861Saturday 22 December 1877
If a date still cannot be parsed, the article can be processed, but text-reuse directionality may rely on input order rather than publication date.
The included Moon Hoax sample was rebuilt from Combined_moon_hoax(2).xlsx and uses standard ISO dates in the date column. Two dates that appeared as corrupted values in an earlier CSV are corrected from the original XLSX:
moon_0017:1900-05-31(The Wichita daily eagle. [volume])moon_0018:1900-06-07(The morning news. [volume])
The original date value is preserved in original_date, and a readable version is provided in date_display.
RumourFlow is designed as a web-based research toolkit. A user uploads a historical newspaper article dataset, and the platform returns reviewable source candidates, text-reuse clusters, and graph-ready connection files.
Suggested public-facing description:
RumourFlow is a prototype platform for tracing source attribution and text reuse in historical newspapers. It turns uploaded article datasets into reviewable maps of source cues, reuse families, and possible information flows.
Current version:
- local Streamlit demo interface;
- backend pipeline for source detection, gazetteer matching, text reuse, clustering, and graph export;
- sample Moon Hoax dataset;
- input template;
- downloadable ZIP outputs.
Still needed before public release:
- public hosting;
- upload-size limits;
- retention/deletion policy;
- interactive manual review dashboard;
- improved title-ranking logic;
- documentation and citation page.