Skip to content

Academic project involving Knowledge Engineering methods for analysis of custom ratings of Italian school websites. Language of docs: 🇮🇹

Notifications You must be signed in to change notification settings

vodibe/icon-745751

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metodi di Ingegneria della Conoscenza applicati alle homepage delle scuole superiori italiane

Idea del progetto

L’idea di fondo è l’applicazione di alcuni metodi di Ingegneria della Conoscenza su un dominio di interesse, l’usabilità di una pagina web. Si va prima a circoscrivere un ambito di riferimento, che nel nostro caso, è l’insieme delle Homepage delle scuole superiori pubbliche italiane.

Aggiornamento dataset ds3_gt: 11/2023

Gruppo di lavoro

Documentazione e Risultati

Vedere docs/report-745751.pdf. In ogni sezione si rimanda ai percorsi dei vari output.

Download

  1. Download Python, SWI-Prolog, Protégé.
  2. Clonare la repo.
    git clone https://github.com/vodibe/icon-745751.git
  3. Posizionarsi nella cartella.
    cd path/to/icon-745751
  4. Creare e abilitare ambiente virtuale Python.
    python -m venv venv
    
    venv\Scripts\Activate # Windows
    source venv/bin/activate # Linux
  5. Installare pacchetto del progetto nell'ambiente virtuale.
    pip install -e .
  6. Installare dipendenze.
    pip install -r requirements.txt
  7. Installare i Plugins di Protégé:
    1. Aprire Protégé.

    2. File > Check for plugins... > Snap SPARQL Query > Install

    3. Riavviare Protégé.

    4. File > Preferences... > Plugins > Plugin registry

    5. Sostituire con

      https://raw.githubusercontent.com/Complexible/pellet/master/protege/plugin/update.properties

    6. OK

    7. File > Check for plugins... > Pellet Reasoner > Install

    8. Riavviare Protégé.

    9. File > Preferences... > Plugins > Plugin registry > Reset to default registry location.

    10. OK

Esecuzione

Questo repository contiene già tutti i risultati e i file di output. Se si vuole esplorare le varie sezioni trattate nel progetto, seguire questi passi.

Se si vuole creare e visualizzare un NDOM di un sito web o di un file HTML...

  1. cd agent/ndom
  2. (Facoltativo) Modificare NaiveDOM.py
    if __name__ == "__main__":
       # sito web -> NDOM
       myNDOM = NaiveDOM("https://www.liceofermicanosa.edu.it/")
       # sorgente locale -> NDOM
       # myNDOM = NaiveDOM(location="mysource.html", from_file=True)
    
       # leggiamo le features estratte
       print(myNDOM.get_features())
       # visualizziamo
       myNDOM.plot()
  3. python NaiveDOM.py
  4. Output:
    Building NDOM for https://www.liceofermicanosa.edu.it/
    Reading HTML...
    Cleaning HTML...
    Parsing HTML <body> tag...
    Populating features...
    {'page_width': 1587, 'page_height': 4145, 'NDOM_height': 7, ...}
    
    ndom1

Se si vuole costruire dei modelli di apprendimento per l'emulazione del GT...

  1. Aprire la cartella del progetto con un qualsiasi IDE che supporti la visualizzazione di notebook .ipynb , ad es. VS Code.
    cd path/to/icon-745751/
    code .
  2. pip install ipykernel
  3. Aprire agent/models/nb_supervised_learning.ipynb.
  4. Eseguire in ordine tutte le celle di codice.

Se si vuole consultare la KB per eseguire i Job...

  1. cd agent/kb
  2. (Facoltativo) Modificare kb_creator.py
    ...
    if __name__ == "__main__":
       ...
    
       # Specificare i Job da eseguire
       run_job1()
    
       run_job2()
    
       run_job3()
    
       run_job4(geofacts_created=True)
    
       run_job5(geofacts_created=True)
    
       run_job6()
  3. python kb_creator.py
  4. Percorso risultati: agent/kb/jobs/

Se si vuole apprendere i parametri della Rete Bayesiana, visualizzarli, ed eseguire delle query...

  1. cd agent/pgm
  2. (Facoltativo) Modificare bn_creator.py
    ...
    BN_QUERIES_DEFAULT = [
    {
       # Specificare una query in questo formato
       "query_desc": "P(page_template | metric=4)",
       "variables": ["page_template"],
       "evidence": {
             "metric": 4,
       },
       ...
    },
    ...
  3. python bn_creator.py
  4. Percorso risultati: agent/pgm/bif/

Se si vuole esplorare l'ontologia, aggiungere individui o sottoporre query DL/SPARQL...

  1. Aprire Protègè.
  2. File > Open > agent/ontology/ambitoscuola_v1.owl
  3. Reasoner > Pellet > Start reasoner protege

About

Academic project involving Knowledge Engineering methods for analysis of custom ratings of Italian school websites. Language of docs: 🇮🇹

Topics

Resources

Stars

Watchers

Forks