Skip to content

Wikipedia article analyzer that extracts relations between people and builds a knowledge graph using NLP

License

Notifications You must be signed in to change notification settings

ahmed91abbas/wiki-relations

Repository files navigation

Wiki Relations

Continuous Integration

Wiki Relations is a project that aims to extract information from a Wikipedia article and present these information in a relational graph.

relations-viewer

How to run the project

Prerequisites

  • Docker
  • Docker Compose

To run the project simply run the following command at the root folder of the project:

docker-compose up -d --build

Now you can access the UI from you browser on http://localhost:3000.

How does it work

  1. User submits a name that they wish to build the relation graph for
  2. A post request is sent to the backend with that name
  3. Search for the top result in Wikipedia for that name
  4. Clean up the text and divide it into smaller chunks
  5. For each such text chunk run the natural language processing rules and extract the relations (ex. subject --verb--> object)
  6. Save the relations into the graph database (neo4j)
  7. Send the response back to the frontend
  8. The frontend now fetches the data from the graph database and view it on the UI

Languages & Technologies used

Backend Python
Frontend React
Graph database Neo4j
NLP Spacy
CI GitHub Actions