|
--- |
|
title: Norus Tool |
|
emoji: 🔥 |
|
colorFrom: green |
|
colorTo: purple |
|
sdk: docker |
|
app_file: app.py |
|
pinned: true |
|
--- |
|
# NORUS Tool 🧠📄 |
|
|
|
[](https://huggingface.co/spaces/mabil/norus-tool) |
|
|
|
**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 |
|
\`\`\` |
|
|
|
3. 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 |
|
|
|
|