Skip to content

grey-box/Project-Symmetry-AI

Repository files navigation

Grey-box Logo

Project Symmetry - Cross-Language Wikipedia Article Gap Analysis Tool

Project-Symmetry: Cross-Language Wikipedia Article Semantic Analysis Tool

A modern semantic translator tool designed to translate, compare, and evaluate the semantic similarity of Wikipedia content across different languages

🚀 Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/grey-box/Project-Symmetry-AI
cd Project-Symmetry-AI

# Install frontend dependencies
cd ui
npm install

# Setup backend
cd ../backend-fastapi
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

# Run the application
cd ../ui
npm run start

For detailed installation instructions, platform-specific guides, and troubleshooting, see INSTALLATION.md.

📖 Project Overview

Project Symmetry uses AI to accelerate Wikipedia's translation efforts in less-represented languages (< 1M articles) by analyzing semantic gaps between articles in different languages and providing targeted translations.

The application helps identify critical information lost or added during translation, useful for scenarios without internet access, such as medical documents, government communications, and NGO materials.

Currently focused on Wikipedia content; future expansion to other internet content and AI-powered translation for underrepresented languages.

For detailed project objectives, architecture, working principles, and development status, see guide/SymmetryAI-Guide.md.

📊 Features

  • 🌍 Wikipedia Translation: Translate articles between languages
  • 🔍 Semantic Comparison: Identify gaps and additions in translations using AI models
  • 📊 Gap Analysis: Detect missing/extra information with color-coded results
  • 🎯 Language Support: Focus on underrepresented languages
  • ⚡ FastAPI Backend: RESTful API with automatic documentation
  • 🖥️ Electron Frontend: Cross-platform desktop application
  • 🤖 AI-Powered: LLM-based semantic understanding with models like LaBSE, XLM-RoBERTa
  • 📈 Analytics: Translation quality metrics and data analytics

🏗️ Project Structure

Project-Symmetry-AI/
├── backend-fastapi/          # FastAPI backend
│   ├── app/
│   │   ├── main.py           # Main application entry point
│   │   ├── ai/               # AI and ML components
│   │   │   ├── semantic_comparison.py
│   │   │   ├── llm_comparison.py
│   │   │   └── translations.py
│   │   ├── api/              # API endpoints
│   │   │   ├── wiki_article.py
│   │   │   ├── comparison.py
│   │   │   └── cache.py
│   │   ├── model/            # Data models
│   │   │   ├── request.py
│   │   │   └── response.py
│   │   └── prompts/          # AI prompts
├── ui/                       # Electron + React frontend
│   ├── src/
│   │   ├── components/       # React components
│   │   │   ├── TranslationSection.tsx
│   │   │   ├── ComparisonSection.tsx
│   │   │   ├── Navbar.tsx
│   │   │   └── Layout.tsx
│   │   ├── services/         # API services
│   │   │   ├── fetchArticle.ts
│   │   │   ├── translateArticle.ts
│   │   │   └── compareArticles.ts
│   │   ├── models/           # TypeScript interfaces
│   │   ├── constants/        # Application constants
│   │   ├── context/          # React context
│   │   └── pages/            # Page components
├── T5-finetuned/             # Fine-tuned T5 model
├── guide/                    # Project documentation
└── extras/                   # Resources

📚 Documentation

🤝 Community

📄 License

This project is licensed under the appropriate license. See the LICENSE file for details.

🙏 Acknowledgments

  • Grey Box: Project development and maintenance
  • Wikipedia: Source content and API access
  • Open Source Community: Libraries and tools

Last Updated: November 2024
Version: 1.0.0
Maintainers: grey-box

About

Symmetry leveraging AI capability for article comparison

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 12