<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://arkiwi.wiki.esiliati.org/index.php?action=history&amp;feed=atom&amp;title=Semantica</id>
	<title>Semantica - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://arkiwi.wiki.esiliati.org/index.php?action=history&amp;feed=atom&amp;title=Semantica"/>
	<link rel="alternate" type="text/html" href="http://arkiwi.wiki.esiliati.org/index.php?title=Semantica&amp;action=history"/>
	<updated>2026-06-24T19:12:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>http://arkiwi.wiki.esiliati.org/index.php?title=Semantica&amp;diff=72&amp;oldid=prev</id>
		<title>Cesco: Created page with &quot; === Abstract === Per farla breve, dopo lungo studio e confronto, nel torrido clima bolognese di  fine luglio/ inizio agosto ho cominciato a scrivere seriamente del codice, da...&quot;</title>
		<link rel="alternate" type="text/html" href="http://arkiwi.wiki.esiliati.org/index.php?title=Semantica&amp;diff=72&amp;oldid=prev"/>
		<updated>2014-05-12T13:08:30Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; === Abstract === Per farla breve, dopo lungo studio e confronto, nel torrido clima bolognese di  fine luglio/ inizio agosto ho cominciato a scrivere seriamente del codice, da...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
Per farla breve, dopo lungo studio e confronto, nel torrido clima&lt;br /&gt;
bolognese di  fine luglio/ inizio agosto ho cominciato a scrivere&lt;br /&gt;
seriamente del codice, dando vita alle prime alpha di WEKA [0]&lt;br /&gt;
[Weka Enhance Knowledge in Arkiwi]: un software che dato un contenuto&lt;br /&gt;
multimediale (ovvero i suoi metadati) sia in grado di consigliare&lt;br /&gt;
all&amp;#039;utente una lista di altri contenuti semanticamente vicini&lt;br /&gt;
all&amp;#039;originale.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;idea di fondo prevedeva lo sviluppo di un sistema che non richieda&lt;br /&gt;
manutenzione, la cui base di conoscenza sia interrogabile online e&lt;br /&gt;
mantenuta indipendentemente dal software stesso.&lt;br /&gt;
Questo requisito nasce dalla consapevolezza che le ontologie sono il&lt;br /&gt;
componente che richiede maggior analisi e lavoro e, almeno per ora, si&lt;br /&gt;
e&amp;#039; preferito basarsi su cio&amp;#039; che offre la comunita&amp;#039; online. In&lt;br /&gt;
particolare per ora mi sto basando su dbpedia ma, oltre alle altre&lt;br /&gt;
ontologie che ho visto e scartato per vari motivi, stavo pensando almeno&lt;br /&gt;
di includere il Nuovo Soggettario della Biblioteca Nazionale di Firenze&lt;br /&gt;
[1].&lt;br /&gt;
&lt;br /&gt;
Inoltre non deve esistere alcuna knowledge base dei file multimediali&lt;br /&gt;
indicizzati nel sistema: l&amp;#039;unica ricerca a disposizione si basa sui&lt;br /&gt;
metadati dei singoli file ma non e&amp;#039; disponibile nessun tipo di inferenza&lt;br /&gt;
semantica.&lt;br /&gt;
&lt;br /&gt;
Data i due precedenti assunti, ovvero la mancanza di ontologie&lt;br /&gt;
specifiche e l&amp;#039;assenza di un triple store dedicato ai file memorizzati,&lt;br /&gt;
si e&amp;#039; optato per una soluzione che affidi tutto la computazione&lt;br /&gt;
all&amp;#039;utente finale.&lt;br /&gt;
&lt;br /&gt;
E quindi javascript.&lt;br /&gt;
&lt;br /&gt;
Dopo un altro periodo di ricerche eseguito parallelamente alle prime&lt;br /&gt;
fasi di sviluppo, finalmente ho trovato qualcosa che faceva al caso mio,&lt;br /&gt;
ovvero il progetto Interactive Knowledge Stack [2] ed in 	particolare le&lt;br /&gt;
sue componenti Apache Stanbol [3] e vie.js [4].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allo stato attuale WEKA funziona pressapoco cosi&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
- prende in ingresso un file owl aderente alla Media Ontology proposta&lt;br /&gt;
dal W3C [5];&lt;br /&gt;
&lt;br /&gt;
- ne analizza il contenuto estraendo le keyword precedentemente inserite&lt;br /&gt;
dall&amp;#039;utente. Queste keyword corrispondono hanno la stessa funzione dei&lt;br /&gt;
tag che si possono vedere ovunque nei blog, in youtube, flickr e&lt;br /&gt;
dovunque nei siti web. La grossa differenza e&amp;#039; che le keyword non sono&lt;br /&gt;
delle semplici etichette ma delle entita&amp;#039; semantiche espresse tramite un&lt;br /&gt;
URI. Queste URI fanno riferimento alla galassia di linked data ed in&lt;br /&gt;
particolare a dbpedia (esclusivamente per ora);&lt;br /&gt;
&lt;br /&gt;
- WEKA interroga un endpoint SPARQL  per ottenere il valore delle&lt;br /&gt;
proprieta&amp;#039; interessanti (definite in base a vari parametri) di queste&lt;br /&gt;
keyword;&lt;br /&gt;
&lt;br /&gt;
- i valori cosi&amp;#039; ottenuti sono a loro volta delle URI di entita&amp;#039;&lt;br /&gt;
semantiche su dbpedia di cui vado a prendermi le proprieta&amp;#039; che reputo&lt;br /&gt;
utili;&lt;br /&gt;
&lt;br /&gt;
- ottenuta una lista di related keyword vado ad interrogare la ricerca&lt;br /&gt;
su arkiwi per ottenere una lista di file che contengono una o piu&amp;#039; di&lt;br /&gt;
quelle keyword;&lt;br /&gt;
&lt;br /&gt;
- per ogni file cosi&amp;#039; ottenuto estraggo le keyword definite per esso. In&lt;br /&gt;
base a queste ed al set di keyword del file originale calcolo la&lt;br /&gt;
semantic relatedness, riordino e restituisco una lista in owl (o xml);&lt;br /&gt;
&lt;br /&gt;
- presento la lista di related files all&amp;#039;utente sotto forma di contenuti&lt;br /&gt;
correlati (concettualmente la colonna di destra di youtube).&lt;br /&gt;
Al momento questo ultimo passo deve ancora essere implementato.&lt;br /&gt;
&lt;br /&gt;
Internamente WEKA utilizza pesantemente rdfQuery [6], un triple store in&lt;br /&gt;
javascript per memorizzare le proprieta&amp;#039;, i loro valori e le relazioni&lt;br /&gt;
tra keyword e file.&lt;br /&gt;
&lt;br /&gt;
Oltre a WEKA si sono resi necessari un paio di codici aggiuntivi per&lt;br /&gt;
l&amp;#039;editing dei metadati e la loro trasformazione:&lt;br /&gt;
- un form in cui sia possibile inserire entita&amp;#039; semantiche come keyword,&lt;br /&gt;
fortemente basato su vie autocomplete [7]&lt;br /&gt;
- un foglio di stile xslt per la trasformazione da xml a owl, ovvero la&lt;br /&gt;
Media Ontology&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A questo punto dello sviluppo mi mancano pochi fix e molti test: per ora&lt;br /&gt;
i file xml su cui ho sviluppato erano forgiati appositamente per WEKA&lt;br /&gt;
visto che la struttura dei medadati ancora non supportava i common tag&lt;br /&gt;
[8] utilizzati per memorizzare le keyword.&lt;br /&gt;
Per questo, oltre a mancare l&amp;#039;integrazione in arkiwi, non esiste ancora&lt;br /&gt;
una valutazione sui risultati  effettivi della misura di semantic&lt;br /&gt;
relatedness.&lt;br /&gt;
&lt;br /&gt;
Inoltre esistono n problematiche specifiche di javascript da considerare&lt;br /&gt;
(compatibilita&amp;#039; con i browser in primis).&lt;br /&gt;
&lt;br /&gt;
Si prova ad aggiungere informazione semantica sui contenuti dei file multimediali. &lt;br /&gt;
Il fine ultimo e&amp;#039; un sistema di suggerimento basato sulla &amp;quot;valore semantico&amp;quot; del file. &lt;br /&gt;
L&amp;#039;accrocchio sta prendendo forma in javascript.&lt;br /&gt;
Potrebbe cambiare tutto, oppure esplodere. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[0] http://en.wikipedia.org/wiki/Weka&lt;br /&gt;
il nome pero&amp;#039; dovra&amp;#039; cambiare visto che esiste gia&amp;#039; un altro software&lt;br /&gt;
con lo stesso nome&lt;br /&gt;
&lt;br /&gt;
*[1] http://thes.bncf.firenze.sbn.it/&lt;br /&gt;
*[2] http://www.iks-project.eu/&lt;br /&gt;
*[3] http://incubator.apache.org/stanbol/&lt;br /&gt;
*[4] http://viejs.org/&lt;br /&gt;
*[5] http://www.w3.org/TR/mediaont-10/&lt;br /&gt;
*[6] http://code.google.com/p/rdfquery/&lt;br /&gt;
*[7] http://viejs.org/widgets/autocomplete/&lt;br /&gt;
*[8] http://www.commontag.org/Home&lt;br /&gt;
&lt;br /&gt;
== Informazione disponibile ==&lt;br /&gt;
File rdf+xml come definito qui [[StrutturaXML]] (inconsistente per le mie modifiche? jig.)&lt;br /&gt;
... in realta&amp;#039; potrei partire dalla rappresentazione [[OWL]], visto che c&amp;#039;e&amp;#039; e che dovrebbe essere particolarmente adatta allo scopo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se voglio usare jOWL devo trovare il modo di includere tutta l&amp;#039;ontologia ma&lt;br /&gt;
&lt;br /&gt;
== Valore Semantico ==&lt;br /&gt;
&lt;br /&gt;
=== Informazioni utili ===&lt;br /&gt;
Gli unici valori presi in considerazione sono i tag aggiunti dagli utenti (solo creatori?)&lt;br /&gt;
Questi tag saranno memorizzati seguendo le specifiche di [http://www.commontag.org/Home Common tag]&lt;br /&gt;
Questo avviene compatibilmente con il fatto che non sono sicuro se li sto utilizzando correttamente.&lt;br /&gt;
&lt;br /&gt;
=== Inserimento dei tag ===&lt;br /&gt;
Attualmente non disponibile, si rimanda a qualche altra pagina. &lt;br /&gt;
Un sistema di suggerimento da vocabolario controllato sta prendendo forma. &lt;br /&gt;
Si basa su [http://viejs.org/ VIE.js] e forse su [http://incubator.apache.org/stanbol/ Apache Stanbol] (javammerda!!!)&lt;br /&gt;
La base semantica e&amp;#039; [http://dbpedia.org DBPedia] e forse potrebbe essere integrato il [http://thes.bncf.firenze.sbn.it/ Soggettario Nazionale]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Estrazione delle informazioni utili ===&lt;br /&gt;
Lavoro in javascript, lato client (ovviamente?), che informazioni ho a disposizione?&lt;br /&gt;
A questo punto non piu&amp;#039; &amp;quot;l&amp;#039;xml raw&amp;quot; in cui saranno inseriti i ctag, ma piuttosto la renderizzazione in HTML. &lt;br /&gt;
E quindi? Cosa mi aspetto?&lt;br /&gt;
&lt;br /&gt;
=== Elaborazione ===&lt;br /&gt;
Considero i tag(ma:keyword,dc:subject,ctag:tag) a mia disposizione &lt;br /&gt;
Le informazioni relative alla risorsa vengono recuperate dalla base semantica. &lt;br /&gt;
Estraggo i valori delle proprieta&amp;#039; per me interessanti. &lt;br /&gt;
==== Proprieta&amp;#039; interessanti ====&lt;br /&gt;
Dipendo dal tipo di entita&amp;#039; che sto trattando &lt;br /&gt;
* Place&lt;br /&gt;
** http://purl.org/dc/terms/subject&lt;br /&gt;
** http://dbpedia.org/ontology/location&lt;br /&gt;
** http://dbpedia.org/ontology/locationCity&lt;br /&gt;
** http://dbpedia.org/ontology/origin&lt;br /&gt;
** http://dbpedia.org/ontology/place&lt;br /&gt;
** http://dbpedia.org/ontology/related&lt;br /&gt;
** http://dbpedia.org/property/capital&lt;br /&gt;
** http://dbpedia.org/property/locationCity&lt;br /&gt;
&lt;br /&gt;
* Person&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Interrogo pagliaio per trovare altri file con questi tag. &lt;br /&gt;
Ordino i file in base al contenuto semantico ed alla distanza dal mio file originale, &lt;br /&gt;
basandomi sul significato delle keyword.&lt;br /&gt;
&lt;br /&gt;
=== Risultato/Output ===&lt;br /&gt;
Lista di file ordinata per distanza semantica&lt;br /&gt;
(Liste di file ordinate considerando solo sei sottoinsiemi di relazioni o file)&lt;br /&gt;
&lt;br /&gt;
=== Rappresentazione ===&lt;br /&gt;
&lt;br /&gt;
eh, pure questo moh!&lt;br /&gt;
&lt;br /&gt;
=== RappresentazioneOwl ===&lt;br /&gt;
Appena i commontag saranno implementati andra&amp;#039; resa coerente.&lt;/div&gt;</summary>
		<author><name>Cesco</name></author>
	</entry>
</feed>