Digital Maktaba

Biblioteca digitale basata sull'intelligenza artificiale per scritture non latine

Digital Maktaba è una piattaforma web per l’acquisizione, la digitalizzazione, la catalogazione e l’accesso al patrimonio documentario in scritture non latine, con particolare attenzione all’arabo, al persiano e all’azero.

  • Il sistema combina il riconoscimento ottico dei caratteri (OCR), l’elaborazione del linguaggio naturale (NLP) e tecnologie ad hoc sviluppate per supportare i bibliotecari nella gestione di collezioni di grandi dimensioni che gli strumenti tradizionali non sono in grado di elaborare.
  • Sviluppata nell’ambito del progetto ITSERR (Rafforzamento Italiano della RESILIENCE ESFRI RI), finanziato dal PNRR, Digital Maktaba segue il paradigma “IA nel ciclo, intervento umano”: il sistema propone suggerimenti automatici per la catalogazione, mentre gli esperti del settore mantengono il pieno controllo sulla validazione e la correzione.
  • La piattaforma è open source sotto licenza GNU General Public License v3.0 ed è distribuita come stack containerizzato (Docker Compose) con autenticazione basata su Keycloak tramite D4Science.

Feature

Digital Maktaba offre un flusso di catalogazione assistito dall’AI che affianca il bibliotecario in ogni fase, dalla lettura automatica dei contenuti alla validazione finale. Grazie a OCR scalabile e supporto multi-lingua, è in grado di elaborare grandi collezioni eterogenee mantenendo alta qualità e precisione. Le funzionalità di suggerimento automatico e controllo umano garantiscono coerenza e affidabilità del catalogo. Il tutto è supportato da un’infrastruttura moderna, sicura e progettata per la gestione efficiente di archivi digitali complessi.

Flusso di lavoro guidato per l’estrazione di titolo, autore e categoria. I riquadri di delimitazione sono modificabili a schermo, con tastiera araba integrata e controlli del dizionario. Il bibliotecario convalida ogni suggerimento prima che venga inserito nel catalogo.

La corrispondenza basata su parole chiave con set di categorie definiti dall’utente propone categorie di catalogo a livello di foglia a partire dal testo estratto. I bibliotecari rivedono e confermano i suggerimenti prima che vengano applicati.

Elaborazione automatizzata di raccolte di PDF e immagini (PDF, PNG, JPG/JPEG) tramite EasyOCR con PyTorch, PyMuPDF e pdf2image per l’input/output.

Supporta gli alfabeti arabo, persiano e turco azero. Rilevamento automatico della lingua (langid) ed elaborazione NLP specifica per l’arabo tramite Tashaphyne e arramooz-pysqlite per analisi morfologica, stemming e controlli del dizionario.

Due ruoli utente: Bibliotecario (acquisizione, catalogazione, convalida, modifica) e Ricercatore (ricerca, navigazione, consultazione). Autenticazione tramite Keycloak (OIDC) integrato con l’infrastruttura D4Science.

Ricerca full-text e metadati nell’intera biblioteca. Visualizzazione dei dettagli del documento con navigazione a livello di pagina. Pagina della biblioteca filtrabile per la navigazione della collezione.

Basata su PostgreSQL per la persistenza dei dati, con NiceGUI come framework web. Implementazione containerizzata tramite Docker Compose. Caricamenti archiviati su volumi montati con sottocartelle strutturate. Elaborazione in background tramite APScheduler per attività OCR e di acquisizione asincrone.