One of the challenges of the hackathons was to encourage news readers to acquire information from more credible sources. All of us use Wikipedia and consider it as an above-average source in terms of credibility, so why not use it as a proxy for credibility?

What it does

  1. The user provides a news article for WikiRank to analyze. They simply need to go to any online article with our web extension enabled.

  2. WikiRank performs a keyword extraction to define the topics of the article.

  3. WikiRank links the Wikidata item to the extracted topic.

  4. WikiRank uses Wikidata statements to understand the context of the topic to form a topic domain.

  5. WikiRank counts the number of citations from each news source in wikipedia articles in the topic domain to find the most used reference sources.

  6. This 'credibility ranking' is displayed on the reader's site.

How we built it

Web extension: We used Javascript, HTML, and CSS. Backend: We created a Flask-based app in Python to expose an API to the web extension. We also used ngrok to develop on different laptops. The backend also calls WikiData API using its language SPARCL. Backend has the ability to perform keyword extraction on article text. Database: We used golang to create a database containing Wikipedia articles and their references for improved performance.

Challenges we ran into

Finding the right algorithm for keyword extraction. Calling the WikiData API is a bit slow, so we ended up creating our own database with the information.

Accomplishments that I'm proud of

Building a complete solution. It was our first time creating a web extension!

What I learned

Creating a web extension. Optimizing our keyword extraction algorithm.

What's next for WikiRank

We could model topics by extracting the nearest neighbours from the Wikidata graph. We could also create a website rather than a web extension, as the latter requires the user to be a bit tech-savvy. We could also feed back the knowledge about references to Wikidata and Wikipedia editors, to suggest sources to help them write articles

Share this project: