Skip to content

Diario personale sperimentale con integrazione capacità IA di analisi e collegamento

Notifications You must be signed in to change notification settings

Indr1d-C0ld/evo_diary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EvoDiary è un'applicazione testuale per Debian Linux che funge da diario personale avanzato. Oltre alle funzionalità di base di inserimento, visualizzazione e ricerca di note, il diario integra capacità di Intelligenza Artificiale per analizzare, suggerire e collegare automaticamente i contenuti inseriti. Le principali caratteristiche includono:

    Inserimento di Note: Aggiungi note testuali con categorie personalizzabili.
    Visualizzazione e Ricerca: Visualizza tutte le note o cerca specifiche note tramite keyword.
    Tagging Automatico: Estrazione automatica di parole chiave (tag) da ogni nota.
    Suggerimento di Categorie: Un modello di machine learning suggerisce categorie per nuove note basandosi sui contenuti precedenti.
    Collegamenti tra Note: Crea automaticamente collegamenti tra note correlate utilizzando le parole chiave.
    Suggerimenti e Predizioni: Analizza trend e fornisce suggerimenti su cosa scrivere o rivedere.
    Interfaccia Utente Elegante: Utilizza la libreria Rich per una TUI (Text User Interface) più interattiva e visivamente accattivante.

Di seguito troverai una guida completa e aggiornata che riassume tutti i passaggi per preparare l'ambiente, installare le dipendenze, scaricare i dati necessari e il codice integrale di tutti i file, così come abbiamo costruito nel corso della discussione.

Preparazione dell’Ambiente

    Installare Python e gli strumenti di base
    Su Debian (o derivate), assicurati di avere Python 3, pip e venv:

sudo apt-get update
sudo apt-get install python3 python3-pip python3-venv

Creare ed Attivare un Virtual Environment (Opzionale ma Consigliato)
Nel tuo progetto:

python3 -m venv mydiaryenv
source mydiaryenv/bin/activate

Ora sei nell’ambiente virtuale mydiaryenv.

Installare le Dipendenze Python

pip install nltk rich scikit-learn

    nltk per l’elaborazione del linguaggio naturale.
    rich per una TUI più elegante e interattiva.
    scikit-learn per il modello di classificazione delle categorie.

Scaricare i Dati NLTK
Avvia Python nell’ambiente virtuale:

python

Poi:

import nltk
nltk.download('punkt')
nltk.download('stopwords')

Digita exit() per uscire dalla console Python.

Abbiamo ora i dati necessari per tokenizzazione e stopwords.

Struttura delle Directory e File

Crea la struttura come segue (se non l’hai già):

my_diary/
    main.py
    config.py
    db/
        init_db.py
        queries.py
    analysis/
        nlp.py
        related.py
        trends.py
    ai/
        models.py
    ui/
        main_menu.py

Esecuzione dello Script

    Assicurati che l’ambiente virtuale sia attivo:

source mydiaryenv/bin/activate

Lancia il programma:

    python main.py

    Vedrai il menu. Puoi iniziare a inserire note, visualizzarle, cercarle. Dopo aver aggiunto note con almeno due categorie diverse, puoi utilizzare l’opzione 6 per addestrare il modello di categorizzazione, che suggerirà categorie per le note future.

Note Finali

    L’estrazione dei tag avviene con nltk e utilizza stopwords italiane.
    L’addestramento del modello utilizza anch’esso stopwords italiane per una migliore consistenza.
    Se non riesci a vedere suggerimenti di categoria, controlla di aver inserito note con almeno due categorie differenti prima di addestrare il modello.
    Se desideri ampliare le funzionalità, puoi modificare la logica dei tag, dei suggerimenti o integrare ulteriori modelli di NLP e ML.