FMZ 1 Sistemi basati su conoscenza Costruzione automatica di ontologie di dominio Dott. Fabio Massimo Zanzotto a.a
FMZ 2 Ontologie di dominio (esempio) cibo vegetalecarne fruttaortaggiocarne_biancacarne_rossa melaperaarancia
FMZ 3 Ontologia di dominio Le applicazioni basate su conoscenza richiedono molte informazioni precise –Grandezza delle ontologie di dominio –Precisione dell’informazione contenuta.
FMZ 4 Concetto importanti Ontologia contiene: –Concetti –Relazioni tra concetti –Istanze I concetti sono quelli ritenuti importanti per l’applicazione
FMZ 5 Nozione di termine Dato un dominio conoscitivo, un termine è la rappresentazione superficiale di un concetto importante per il dominio Es. Dominio Informatico hard disk Turing machine Von Neumann machine Virtual machine
FMZ 6 Costruzione di ontologie di dominio Passo importante: individuare i concetti che si desidera includere –Fare una ipotetica lista di candidati –Separare concetti importanti da quelli non importanti (da includere/da non includere)
FMZ 7 Costruzione di ontologie di dominio Non sono esperto di dominio (problema): –Ingegnere della conoscenza –Progettista di basi di dati –Programmatore ma conoscono una metodologia di risoluzione del problema
FMZ 8 Ontologie di dominio Sorgente di informazione (conoscenza) –Testi scritti in linguaggio naturale che riguardano il dominio in questione
FMZ 9 Ciclo di produzione Ontologia pre-esistente Collezione di documenti Modello esteso del dominio Termine Ingegneri della conoscenza + Esperti del Dominio
FMZ 10 Produzione semi-automatica di ontologie Affiancare agli esperti di dominio Ingegneri della Conoscenza “Automatici” Abbiamo: –Cosa dobbiamo cercare: i concetti importanti –Dove cercarlo: i testi scritti in linguaggio naturale –Il trait-d’union: la nozione di termine
FMZ 11 Nozione di termine: riflessioni Rappresentazione superficiale –Proprietà osservabile nel mondo testuale Importanza per il dominio –Proprietà osservabile nel modello esteso del dominio La rappresentazione superficiale (termine) non è il concetto soggiacente
FMZ 12 Rappresentando in XI Per ogni concetto vogliamo rappresentare una forma interna e le sue proprietà /* hard_diskC(X) è il concetto*/ prop(hard_diskC(X), [name(X,[hard,disk])]).
FMZ 13 Nozione di termine: riflessioni Rappresentazione superficiale –Sequenza di 1 o 2 parole Importanza per il dominio –Frequenza con cui è osservata la sequenza Si assume che esiste una relazione uno a uno tra termine e concetto
FMZ 14 Costruzione del modello/sistema Specifiche: –Costruire una procedura che dato un insieme di testi in ingresso, mostri le forme superficiali in ordine di importanza Ci vogliamo del male e lo implementiamo in ProLog
FMZ 15 Conta su di un testo /* concetti_importanti(Testo,Concetti_Ordinati) Testo = [w1,w2,...,wn] Concetti_Ordinati = [(c1,freq1),..., (cn,freqn)] */
FMZ 16 Conta su di un testo I concetti devono essere rappresentati dalla sequenza di parole intervallata da _ e terminano con C ed hanno come proprietà quella di manifestarsi nel testo con la forma superficiale rappresentata dalle parole stesse Es. Forma superficialeRappresentazione hard diskhard_diskC pre-tax profit pre-tax_profitC
FMZ 17 Conta su di un testo concetti_importanti(Testo,Concetti_Ordinati):- singoli(Testo,ConcettiSemplici), importanza(ConcettiSemplici,ConcettiSempliciVal), coppie(Testo,ConcettiCompl), importanza(ConcettiCompl,ConcettiComplVal), append(ConcettiSempliciVal, ConcettiComplVal, ConcettiVal), sorted(ConcettiVal, Concetti_Ordinati).
FMZ 18 Singoli e coppie singoli([],[]). singoli([W|RT],[C|RC]):- atomconcat(W,’C’,C), !, singoli(RT,RC). coppie([],[]). coppie([W1,W2|RT],[C|RC]):- atomconcat([W1,’_’,W2,’C’],C), !, coppie([W2|RT],RC).
FMZ 19 Importanza importanza([],[]). importanza([C|RC],[(C,FREQ)|RCFREQ]):- compare(C,[C|RC],FREQ,RCREST) !, importanza(RT,RC). compare(_,[],0,[]). compare(A,[A|REST],FREQ,REST1):- compare(A,REST,F1,REST1), FREQ is F compare(A,[B|REST],FREQ,[B|REST1]):- compare(A,REST,FREQ,REST1).
FMZ 20 Esempio ??????
FMZ 21 Esercizi Trasformare un testo in ingresso (sequenza di caratteri) in sequenza di parole (si utilizzi il concetto di stringa in prolog) Scrivere un predicato che ordini per importanza i concetti in più testi.
FMZ 22 Limiti dell’algoritmo presentato Forme superficiali povere Vengono proposti concetti non convincenti Nozione di importanza troppo poco informativa Salgono concetti generici