2 \section{Il concetto di Knowledge Discovery
}
3 Il Text mining si inserisce in un contesto molto ampio, che si identifica nel processo di scoperta della conoscenza, o anche noto con il termine di
\emph{Knowledge Discovery
}. La KD rappresenta un processo generico che prende in input una collezione di dati piuttosto consistente e che consente di estrarre pattern, ossia informazione legata ai dati stessi; questo paradigma comprende in realtà due processi più specifici che si distinguono per la tipologia di dati trattati.\\
4 Nelle sezioni successive verranno evidenziate le differenze tra i diversi approcci.
6 \subsection{Knowledge Discovery in Database
}
7 KDD rappresenta il processo di scoperta di pattern a partire da dati contenuti in database e quindi strutturati; questi pattern devono essere:
9 \item validi: estesi a nuovi dati con un certo grado di affidabilità
10 \item nuovi: sconosciuti almeno al sistema (o anche agli utenti)
11 \item potenzialmente utili: usati per prendere decisioni e quindi confermare o meno certe ipotesi
12 \item comprensibili: in termini di dimensioni, complessità, rappresentazione.
14 Secondo la formulazione di Fayayd, Piatetsky-Shapiro e Smyth, il processo di KDD può essere riassunto nei seguenti passi:
16 \item \emph{Understanding the application domain, the relevant prior knowledge, and the goals of the end-user
}: conoscere il dominio applicativo, l'informazione a priori rilevante e gli obiettivi dell'utente finale.
17 \item \emph{Creating a target data set
}: individuare il
\emph{data set
}, ossia il campione di dati che verrà trattato.
18 \item \emph{Data cleaning and preprocessing
}: rimuovere inconsistenze e rumore dai dati, e scegliere le strategie per gestire i dati mancanti.
19 \item \emph{Data reduction and projection
}: trovare elementi per caratterizzare la rappresentazione dei dati in funzione degli obiettivi.
20 \item \emph{Choosing the data mining task
}: scegliere l'obiettivo da perseguire.
21 \item \emph{Choosing the data mining algorithm(s)
}: stabilire gli algoritmi per individuare i pattern nei dati.
22 \item \emph{Data mining
}: cercare i pattern interessanti sulla base degli obiettivi prefissati.
23 \item \emph{Interpreting mined patterns
}: interpretare i risultati ottenuti.
24 \item \emph{Consolidating discovery knowledge
}: integrare la conoscenza scoperta nei vari processi decisionali, o presentarla alle parti interessate.
27 \subsection{Knowledge Discovery in Text Database
}
28 KDT consiste nel processo non banale di individuazione di pattern validi, nuovi, potenzialmente utili, e comprensibili in dati testuali. Il processo si contraddistingue sia per i dati che vengono trattati, ma anche per la tipologia dei pattern individuati. Caratteristica fondamentale dell'informazione scoperta è quella di essere "nuova"; infatti, i pattern individuati devono essere precedentemente sconosciuti anche agli autori dei testi presi in esame.
29 Il KDT comprende due fasi distintive, TR e TM, che tratteremo in dettaglio di seguito.
31 \subsubsection{Text Refining
}
32 La fase di Text Refining ha come scopo fondamentale quello di trasformare il testo ''grezzo'' di input che altrimenti non potrebbe essere sottoposto a
\emph{mining
}. Con questo procedimento infatti i dati assumono una forma sufficientemente strutturata e quindi analizzabile, preservando comunque le informazioni utili(
\emph{intermediate form
}).
33 Il processo appena descritto può essere visto anche come un passaggio intermedio all'interno del KDT consistente nella preparazione dei dati da sottoporre all'analisi vera e propria.\\
34 Per assolvere questo compito vengono messe a disposizione varie tecniche:
37 \item{\textbf{Tokenization
}} \\
38 Rappresenta uno dei primi passi di analisi del linguaggio. Consiste nel suddividere il testo in
\emph{token
} ognuno dei quali corrisponde ad un'istanza di un tipo; di conseguenza il numero di
\emph{token
} sarà tanto più alto quanto maggiore è il numero dei tipi presenti. Per quanto riguarda il trattamento della punteggiatura, l'approccio dipende dalla necessità di mantenere o meno l'informazione relativa. In alcuni contesti si può decidere di considerare solo i confini di frase, trascurando la punteggiatura interna. Queste scelte dipendono chiaramente anche dall'ambiente in cui si opera.
40 \item{\textbf{Stemming
}}\\
41 Dopo aver suddiviso il testo in
\emph{tokens
} è necessario effettuare la conversione in una forma standard. Lo
\emph{stemming
} rappresenta una forma possibile di standardizzazione in quanto si tratta di un processo che estrae la radice di una parola, eliminando affissi e desinenze. Questa operazione si limita però a troncare la parola mediante un'analisi morfologica semplificata che non sempre è corretta. L'effetto consiste nel ridurre il numero di tipi distinti presenti nel testo, e nell'aumentare la frequenza dell'occorrenza di alcuni tipi particolari.
44 \item{\textbf{Lemmatization
}}\\
45 Costituisce un'altra forma di standardizzazione del testo. \'E un processo che cerca il lemma a partire da una parola con desinenza. Rispetta alla precedente tecnica, questa si occupa anche di disanbiguare tra le diverse forme base cui può corrispondere una forma flessa.
47 \item{\textbf{Finding Collocations
}}\\
48 Una
\emph{collocation
} è una espressione dotata di significato, formata da due o più parole, che corrisponde a un qualche uso idiomatico. Importante è il fatto che il significato delle
\emph{collocation
} non può essere dedotto dal significato delle singole parti.
50 \item{\textbf{N-grams
}}\\
51 Un
\emph{n-gram
} è una sequenza generica di
\emph{n
} parole. Si distinguono dalle
\emph{collocations
} in quanto non necessariamente essi corrispondono a un uso idiomatico(non sono per forza portatori di informazione semantica); molto spesso gli
\emph{n-grams
} rappresentano costruzioni sintattiche comuni. Sono utili nel caso in cui i testi trattati siano in lingue non note al sistema, o in ricerche che coinvolgano problemi di
\emph{authorship analysis
}.
53 \item{\textbf{Word Sense Disambiguation
}}\\
54 Questa operazione consiste nel determinare quale dei significati di una parola ambigua si riferisce ad una occorrenza specifica. Ci possono essere infatti diversi tipi di ambiguità:
56 \item Polisemia: i diversi significati attribuiti alla stessa parola sono legati etimologicamente e semanticamente
57 \item Omonimia: i diversi significati di un lessema si trovano a essere rappresentati da un'unica forma ortografica solo per caso
59 Esistono due classi di risoluzione del problema, una definita
\emph{dictionary-based
} che ricorre a risorse lessicali, e una basata su metodi di
\emph{learning
}.
61 \item{\textbf{Anaphora Resolution
}}\\
62 L'anafora è una relazione tra una espressione linguistica, detta appunto anafora, e un'altra che la precede e ne determina il riferimento. Il metodo in esame ha il compito di identificare e risolvere le relazioni di anafora fra le entità all'interno di un testo; questo procedimento risulta comunque essere particolarmente difficoltoso, ed infatti i migliori processi possono garantire una precisione massima del
50-
60\%.
64 \item{\textbf{Part of Speech Tagging
}}\\
65 Consiste nell'attribuire ad ogni parola del testo un
\emph{tag
} con la sua corretta parte del discorso, determinando quindi se si tratta di un articolo, nome, verbo, aggettivo e così via. Il
\emph{tagging
} può essere visto anche come un'applicazione limitata di disambiguazione sintattica: nel caso in cui una parola appartenga a più categorie sintattiche, determina quale tra queste categorie è la più plausibile nel contesto dato.
69 \subsubsection{Text Mining
}
70 Il Text Mining rappresenta una fase specifica di selezione e applicazione di tecniche per la ricerca di pattern in dati derivati da testo. La scelta delle tecniche di TM è strettamente vincolata dalla natura della
\emph{intermediate form
} cui si applicano, e ovviamente al tipo di conoscenza che si vuole estrarre.\\ \\
71 Nei capitoli successivi andremo ad analizzare nel dettaglio le diverse tecniche a disposizione. La scelta del metodo da adottare dipende chiaramente dal tipo di conoscenza e informazione che si vuole estrarre dalla base documentale di cui si dispone.