Riassunto analitico
Il lavoro di tesi è stato realizzato nell’ambito di un tirocinio presso l’azienda Expert System S.p.A nella sede principale, a Modena. L’azienda si occupa dello sviluppo di software semantici in grado di comprendere documenti testuali di vario tipo, utilizzati dalle aziende per gestire in modo più efficace le informazioni e ricavarne conoscenza. La prima parte della tesi riguarda la disambiguazione di documenti di grosse dimensioni (anche più di 400000 righe) e a bassa entropia. Se i documenti sono molto grandi, la disambiguazione può diventare un processo troppo lungo. L’obiettivo è ridurre il tempo necessario evitando di disambiguare più volte espressioni identiche o quasi. La soluzione attuata fa uso di un algoritmo di compressione del testo; tale algoritmo analizza ogni frase del documento in esame e verifica quanto questa sia simile alle altre frasi nello stesso documento. In tal modo, l’algoritmo identifica l’insieme minimo di frasi che è necessario disambiguare e su queste applica la disambiguazione. A partire dalla disambiguazione dell’insieme minimo, ricostruisce la disambiguazione di tutto il documento iniziale. Poiché la disambiguazione è un processo che sfrutta il contesto per capire il giusto significato delle parole, è necessario che l’algoritmo di compressione mantenga invariato il contesto di ogni frase. L’algoritmo è stato sviluppato ex-nove e valutato su un set di documenti in lingua inglese di varie dimensioni (da 100 a più di 400000 righe); i risultati ottenuti sono riportati nella tesi. La seconda parte della tesi riguarda la generazione automatica delle regole di categorizzazione dei documenti e di estrazione delle entità. Per regola di categorizzazione intendiamo un formalismo che evidenzia gli elementi di una frase di un documento e assegna una categoria ai documenti che rispettano una certa regola. Per estrazione di entità da un testo si intende l’identificazione di nomi propri di persone, organizzazioni, luoghi, eventi, quantità. Attualmente nell’azienda le regole sono scritte a mano da linguisti esperti che prima leggono attentamente i documenti per poter scrivere le regole adatte. Questo lavoro è molto preciso ma anche molto oneroso, pertanto l’azienda sta sviluppando un sistema generativo algoritmico. La soluzione proposta nella tesi vede l’utilizzo di un algoritmo di Neural Machine Translation, ovvero un algoritmo in grado di effettuare la traduzione automatica da un linguaggio ad un altro. Nel nostro caso i due linguaggi sono il linguaggio naturale (italiano, inglese, francese, ecc.) e il linguaggio di categorizzazione o estrazione sviluppato dall’azienda. A partire da un insieme di coppie di riferimento “frase-regola”, l’algoritmo impara le associazioni ed è in grado di generare nuove regole per l’estrazione di nuove entità oppure la categorizzazione di nuovi documenti. Le prestazioni dell’algoritmo sono state testate sia sulle regole di categorizzazione che sulle regole di estrazione e i risultati ottenuti sono discussi nella tesi.
|
Abstract
The thesis work is the result of an internship at Expert System S.p.A company in the corporate headquarter in Modena. The company deals with the development of semantic software able to understand text documents of various types, used by companies to manage information more effectively and to extract new knowledge.
The first part of the thesis concerns the disambiguation of very big low-entropy textual documents (even more than 400000 lines). If the documents are very large, disambiguation can become a time consuming process. The goal is to reduce the workload of the disambiguation avoiding to disambiguate almost identical expressions several times. The solution adopted implements a text compression algorithm; this algorithm analyzes each sentence of the document and verifies how similar it is w.r.t. the other sentences within the same document. The algorithm finds the minimum set of sentences that need to be disambiguated and it applies disambiguation on them. Starting from the disambiguation of the minimum set, it reconstructs the disambiguation of the whole original document. Since disambiguation is a process that uses the context to understand the right meaning of words, the compression algorithm must keep the context of each sentence unchanged. The algorithm has been developed and tested on a set of documents in English of various sizes (from 100 to more than 400000 lines) and the results are reported in the thesis.
The second part of the thesis concerns the automatic generation of rules to categorize documents and extract entities. By categorization rule we mean a formalism that highlights the elements of a sentence of a document and assigns a category to documents that respect a certain rule. By extraction of entities from a text is meant the identification of proper names of people, organizations, places, events, quantities. Currently, in the company, the rules are handwritten by skilled linguists who first read the texts carefully and then write the appropriate rules. This work is very precise but also very onerous, therefore the company is developing an algorithmic generative system. The implemented solution makes use of a Neural Machine Translation algorithm, that is an algorithm able to automatic translate one sentence into another language. In our case the two languages are the natural language (Italian, English, French, etc.) and the language of categorization or extraction developed by Expert System. Given a set of “phrase-rule” reference pairs, the algorithm learns associations and is able to generate new rules for the extraction of new entities or the categorization of new documents.
The algorithm's performance was tested both on the categorization rules and on the extraction rules and the results obtained are discussed in the thesis.
|