NORUS2 / README.md
mabil's picture
Uploaded NORUS app files
af53f00
metadata
title: Norus Tool
emoji: 🔥
colorFrom: green
colorTo: purple
sdk: docker
app_file: app.py
pinned: true

NORUS Tool 🧠📄

🤗 Hugging Face Spaces

NORUS (Novelty and Originality Recognition Utility System) è uno strumento basato su intelligenza artificiale che consente l'analisi semantica di articoli scientifici in formato PDF, confrontandoli con articoli locali o pubblicati su PubMed. Il tool restituisce misure di similarità semantica, token overlap e un indice composito chiamato OUI (Originality & Uniqueness Index).

🚀 Funzionalità principali

  • ✅ Caricamento PDF da analizzare
  • 📂 Confronto con PDF locali o articoli da PubMed
  • 🤖 Estrazione di embedding semantici tramite SciBERT
  • 📊 Calcolo di:
    • Similarità semantica (cosine similarity)
    • Sovrapposizione testuale (token overlap)
    • Indice OUI (originalità e novità)
  • 📈 Visualizzazione interattiva dei risultati via Chart.js

🧪 OUI - Originality & Uniqueness Index

```math OUI = 1 - (α × semantic_similarity + β × token_overlap) ```

  • α = 0.7 → penalizza la somiglianza semantica
  • β = 0.3 → penalizza la ripetizione letterale
  • L'OUI misura quanto un documento è originale, sia nel contenuto che nella forma.

🧱 Architettura

  • Flask come backend web
  • pdfplumber per l'estrazione del testo dai PDF
  • nltk per preprocessing linguistico
  • sentence-transformers con modello allenai/scibert_scivocab_uncased
  • requests per l'interfaccia con PubMed

📂 Struttura del progetto

.
├── app.py
├── Dockerfile
├── requirements.txt
├── static/
├── templates/
├── uploads/
├── README.md

▶️ Esecuzione locale

Per eseguire localmente:

  1. Assicurati di avere Python 3.9+
  2. Installa le dipendenze:

```bash pip install -r requirements.txt ```

  1. Avvia l'app:

```bash python app.py ```

Apri il browser su http://localhost:7860

📡 Deploy su Hugging Face Spaces

Puoi caricare questo progetto come Space Docker-based su Hugging Face. Il Dockerfile è già configurato.



🧠 Developed by Marina Bilotta – Computational Chemistry & AI Research