File size: 2,312 Bytes
0767e59 af53f00 0767e59 af53f00 0767e59 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
---
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
|