Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Dott. Fabio Massimo Zanzotto a.a. 2001-2002
Sistemi basati su conoscenza Costruzione automatica di ontologie di dominio Dott. Fabio Massimo Zanzotto a.a
2
Ontologie di dominio (esempio)
cibo vegetale carne frutta ortaggio carne_bianca carne_rossa mela pera arancia
3
Ontologia di dominio Le applicazioni basate su conoscenza richiedono molte informazioni precise Grandezza delle ontologie di dominio Precisione dell’informazione contenuta.
4
Concetto importanti Ontologia contiene:
Concetti Relazioni tra concetti Istanze I concetti sono quelli ritenuti importanti per l’applicazione
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
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)
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
8
Ontologie di dominio Sorgente di informazione (conoscenza)
Testi scritti in linguaggio naturale che riguardano il dominio in questione
9
Ciclo di produzione Modello esteso del dominio Termine
Collezione di documenti Ingegneri della conoscenza + Esperti del Dominio Ontologia pre-esistente
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
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
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])]).
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
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
15
Conta su di un testo /* concetti_importanti(Testo,Concetti_Ordinati)
Testo = [w1,w2,...,wn] Concetti_Ordinati = [(c1,freq1),..., (cn,freqn)] */
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 superficiale Rappresentazione hard disk hard_diskC pre-tax profit pre-tax_profitC
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).
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).
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 F1 + 1. compare(A,[B|REST],FREQ,[B|REST1]):- compare(A,REST,FREQ,REST1).
20
Esempio ??????
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.
22
Limiti dell’algoritmo presentato
Forme superficiali povere Vengono proposti concetti non convincenti Nozione di importanza troppo poco informativa Salgono concetti generici
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.