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
- Vincenzo Di Bisceglie; matr.
745751
; v.dibisceglie3@studenti.uniba.it- A.A. 2022/2023
Vedere docs/report-745751.pdf
. In ogni sezione si rimanda ai percorsi dei vari output.
- Download Python, SWI-Prolog, Protégé.
- Clonare la repo.
git clone https://github.com/vodibe/icon-745751.git
- Posizionarsi nella cartella.
cd path/to/icon-745751
- Creare e abilitare ambiente virtuale Python.
python -m venv venv venv\Scripts\Activate # Windows source venv/bin/activate # Linux
- Installare pacchetto del progetto nell'ambiente virtuale.
pip install -e .
- Installare dipendenze.
pip install -r requirements.txt
- Installare i Plugins di Protégé:
-
Aprire Protégé.
-
File > Check for plugins... > Snap SPARQL Query > Install
-
Riavviare Protégé.
-
File > Preferences... > Plugins > Plugin registry
-
Sostituire con
https://raw.githubusercontent.com/Complexible/pellet/master/protege/plugin/update.properties
-
OK
-
File > Check for plugins... > Pellet Reasoner > Install
-
Riavviare Protégé.
-
File > Preferences... > Plugins > Plugin registry > Reset to default registry location.
-
OK
-
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.
-
cd agent/ndom
- (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()
-
python NaiveDOM.py
- 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, ...}
- 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 .
-
pip install ipykernel
- Aprire
agent/models/nb_supervised_learning.ipynb
. - Eseguire in ordine tutte le celle di codice.
-
cd agent/kb
- (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()
-
python kb_creator.py
- Percorso risultati:
agent/kb/jobs/
-
cd agent/pgm
- (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, }, ... }, ...
-
python bn_creator.py
- Percorso risultati:
agent/pgm/bif/