Skip to content

An annotation tool for rapid multi-task collaborative information extraction for knowledge graph construction.

License

Notifications You must be signed in to change notification settings

nlp-tlp/quickgraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickGraph

A Rapid Annotation Tool for Knowledge Graph Extraction from Technical Text

Live Demo Video Demo Documentation

Important

QuickGraph v2 is currently being rolled out 🚧 We're actively migrating to version 2, with completion expected by November 11th, 2024. The core features and workflow demonstrated in v1 remain relevant as they form the foundation of v2. This update is mainly architecture and user interface updates only.

Annotation Interface

📚 Table of Contents

🌟 Overview

QuickGraph is a collaborative annotation tool for rapid multi-task information extraction. It features entity and relation propagation which mimics weak supervision, and uses text clustering to aid with annotation consistency.

✨ Features

  • Entity and relation propagation
  • Text clustering for annotation consistency
  • Multi-user collaboration support
  • Real-time knowledge graph creation from annotations
  • Interactive visualization
  • Comprehensive analytics dashboard

🚀 Getting Started

Prerequisites

Docker React FastAPI MongoDB

  • Docker and Docker Compose
  • Git
  • Node.js 16+ (for local development only)
  • Python 3.10+ (for local development only)

General Installation

Note

The build process requires fetching a 600MB file of static documentation. Please be patient if the documentation URL does not become available immediately. You can check the docs container status for progress.

  1. Clone the repository:
git clone https://github.com/nlp-tlp/quickgraph.git
cd quickgraph
  1. Build and run using Docker Compose:
docker compose up -d --build

The services will be available at:

Development Installation

Need to run client and fastapi server locally; can run docker container for mongodb separately. But FastAPI is run in ./server through uvicorn src.quickgraph.main:app --reload. Client is run from ./client via npm run dev. Both of these need to have local .env files set up as outlined below.

  1. Set up environment variables:
# Copy sample environment files
cp server/.env.example server/.env
cp client/.env.example client/.env

For client/.env these can remain as defaults

VITE_API_BASE_URL=http://localhost:8000
VITE_DOC_BASE_URL=http://localhost:4000

For server/.env, create a atlas or locally hosted mongodb:

MONGODB__DATABASE_NAME="your_database_name"
MONGODB__URI="mongodb+srv://..."
AUTH__SECRET_KEY="your_secret"

If you want to rebuild the documentation static assets, run tar czf static-img.tar.gz static/img/ from the /docs directory. Store this in an S3 bucket in AWS and reconfigure the Dockerfile in ./docs.

🏗 Architecture

QuickGraph consists of four main components:

  • Frontend: Vite/React application
  • Backend: FastAPI REST API
  • Documentation: Docusaurus static site
  • Database: MongoDB

🎯 Usage

Once the docker containers have been set up, simply run docker compose up then navigate to http://localhost:3000 in your browser to use QuickGraph.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📬 Contact

Tyler Bikaun - tyler.bikaun@research.uwa.edu.au

📚 Citation

If you use QuickGraph in your research, please cite our paper:

@inproceedings{bikaun2022quickgraph,
  title={Quickgraph: A rapid annotation tool for knowledge graph extraction from technical text},
  author={Bikaun, Tyler and Stewart, Michael and Liu, Wei},
  booktitle={Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics: System Demonstrations},
  pages={270--278},
  year={2022}
}

About

An annotation tool for rapid multi-task collaborative information extraction for knowledge graph construction.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published