WBDDM

Page 1

X WORKSHOP BASES DE DATOS Y MINERÍA DE DATOS - WBDDM -


XIX Congreso Argentino de Ciencias de la Computación - CACIC 2013 : Octubre 2013, Mar del Plata, Argentina : organizadores : Red de Universidades con Carreras en Informática RedUNCI, Universidad CAECE / Armando De Giusti ... [et.al.] ; compilado por Jorge Finochietto ; ilustrado por María Florencia Scolari. - 1a ed. - Mar del Plata : Fundación de Altos Estudios en Ciencias Exactas, 2013. E-Book. ISBN 978-987-23963-1-2 1. Ciencias de la Computación. I. De Giusti, Armando II. Finochietto, Jorge, comp. III. Scolari, María Florencia, ilus. CDD 005.3 Fecha de catalogación: 03/10/2013


AUTORIDADES DE LA REDUNCI Coordinador Titular De Giusti Armando (UNLP) 2012-2014 Coordinador Alterno Simari Guillermo (UNS) 2012-2014 Junta Directiva Feierherd Guillermo (UNTF) 2012-2014 Padovani Hugo (UM) 2012-2014 Estayno Marcelo (UNLZ) 2012-2014 Esquivel Susana (UNSL) 2012-2014 Alfonso Hugo (UNLaPampa) 2012-2013 Acosta Nelson (UNCPBA) 2012-2013 Finochietto, Jorge (UCAECE) 2012-2013 Kuna Horacio (UNMisiones) 2012-2013 Secretarias Secretaría Administrativa: Ardenghi Jorge (UNS) Secretaría Académica: Spositto Osvaldo (UNLaMatanza) Secretaría de Congresos, Publicaciones y Difusión: Pesado Patricia (UNLP) Secretaría de Asuntos Reglamentarios: Bursztyn Andrés (UTN)


AUTORIDADES DE LA UNIVERSIDAD CAECE Rector Dr. Edgardo Bosch Vicerrector Académico Dr. Carlos A. Lac Prugent Vicerrector de Gestión y Desarrollo Educativo Dr. Leonardo Gargiulo Vicerrector de Gestión Administrativa Mg. Fernando del Campo Vicerrectora de la Subsede Mar del Plata: Mg. Lic. María Alejandra Cormons Secretaria Académica: Lic. Mariana A. Ortega Secretario Académico de la Subsede Mar del Plata Esp. Lic. Jorge Finochietto Director de Gestión Institucional de la Subsede Mar del Plata Esp. Lic. Gustavo Bacigalupo Coordinador de Carreras de Lic. e Ing. en Sistemas Esp. Lic. Jorge Finochietto


COMITÉ ORGANIZADOR LOCAL Presidente Esp. Lic. Jorge Finochietto Miembros Esp. Lic. Gustavo Bacigalupo Mg. Lic. Lucia Malbernat Lic. Analía Varela Lic. Florencia Scolari C.C. María Isabel Meijome CP Mayra Fullana Lic. Cecilia Pellerini Lic. Juan Pablo Vives Lic. Luciano Wehrli

Escuela Internacional de Informática (EII) Directora Dra. Alicia Mon Coordinación CC. María Isabel Meijome


comité académico Universidad

Representante

Universidad de Buenos Aires

Echeverria, Adriana (Ingeniería) – Fernández

Universidad Nacional de La Plata

Slezak, Diego (Cs. Exactas)

Universidad Nacional del Sur

De Giusti, Armando

Universidad Nacional de San Luis

Simari, Guillermo

Universidad Nacional del Centro de la

Esquivel, Susana

Provincia de Buenos Aires

Acosta, Nelson

Universidad Nacional del Comahue

Vaucheret, Claudio

Universidad Nacional de La Matanza

Spositto, Osvaldo

Universidad Nacional de La Pampa

Alfonso, Hugo

Universidad Nacional Lomas de Zamora

Estayno, Marcelo

Universidad Nacional de Tierra del Fuego

Feierherd, Guillermo

Universidad Nacional de Salta

Gil, Gustavo

Universidad Nacional Patagonia Austral

Márquez, María Eugenia

Universidad Tecnológica Nacional

Leone, Horacio

Universidad Nacional de San Juan

Otazú, Alejandra

Universidad Autónoma de Entre Ríos

Aranguren, Silvia

Universidad Nacional Patagonia San Juan

Buckle, Carlos

Bosco Universidad Nacional de Entre Ríos

Tugnarelli, Mónica

Universidad Nacional del Nordeste

Dapozo, Gladys

Universidad Nacional de Rosario

Kantor, Raúl

Universidad Nacional de Misiones

Kuna, Horacio

Universidad Nacional del Noroeste de la

Russo, Claudia

Provincia de Buenos Aires Universidad Nacional de Chilecito

Carmona, Fernanda

Universidad Nacional de Lanús

García Martínez, Ramón


comité académico Universidad

Representante

Universidad Nacional de Santiago del Estero

Durán, Elena

Escuela Superior del Ejército

Castro Lechstaler Antonio

Universidad Nacional del Litoral

Loyarte, Horacio

Universidad Nacional de Rio Cuarto

Arroyo, Marcelo

Universidad Nacional de Córdoba

Brandán Briones, Laura

Universidad Nacional de Jujuy

Paganini, José

Universidad Nacional de Río Negro

Vivas, Luis

Universidad Nacional de Villa María

Prato, Laura

Universidad Nacional de Luján

Scucimarri, Jorge

Universidad Nacional de Catamarca

Barrera, María Alejandra

Universidad Nacional de La Rioja

Nadal, Claudio

Universidad Nacional de Tres de Febrero

Cataldi, Zulma

Universidad Nacional de Tucumán

Luccioni, Griselda

Universidad Nacional Arturo Jauretche

Morales, Martín

Universidad Nacional del Chaco Austral

Zachman, Patricia

Universidad de Morón

Padovani, Hugo René

Universidad Abierta Interamericana

De Vincenzi, Marcelo

Universidad de Belgrano

Guerci, Alberto

Universidad Kennedy

Foti, Antonio

Universidad Adventista del Plata

Bournissen, Juan

Universidad CAECE

Finochietto, Jorge

Universidad de Palermo

Ditada, Esteban

Universidad Católica Argentina - Rosario

Grieco, Sebastián

Universidad del Salvador

Zanitti, Marcelo

Universidad del Aconcagua

Gimenez, Rosana

Universidad Gastón Dachary

Belloni, Edgardo

Universidad del CEMA

Guglianone, Ariadna

Universidad Austral

Robiolo, Gabriela


comité científico Coordinación Armando De Giusti (UNLP) - Guillermo Simari (UNS) Abásolo, María José (Argentina) Acosta, Nelson (Argentina) Aguirre Jorge Ramió (España) Alfonso, Hugo (Argentina) Ardenghi, Jorge (Argentina) Baldasarri Sandra (España) Balladini, Javier (Argentina) Bertone, Rodolfo (Argentina) Bría, Oscar (Argentina) Brisaboa, Nieves (España) Bursztyn, Andrés (Argentina) Cañas, Alberto (EE.UU) Casali, Ana (Argentina) Castro Lechtaller, Antonio (Argentina) Castro, Silvia (Argentina) Cechich, Alejandra (Argentina) Coello Coello, Carlos (México) Constantini, Roberto (Argentina) Dapozo, Gladys (Argentina) De Vicenzi, Marcelo (Argentina) Deco, Claudia (Argentina) Depetris, Beatriz (Argentina) Diaz, Javier (Argentina) Dix, Juerguen (Alemania) Doallo, Ramón (España) Docampo, Domingo Echaiz, Javier (Argentina) Esquivel, Susana (Argentina) Estayno, Marcelo (Argentina) Estevez, Elsa (Naciones Unidas) Falappa, Marcelo (Argentina) Feierherd, Guillermo (Argentina) Ferreti, Edgardo (Argentina) Fillottrani, Pablo (Argentina) Fleischman, William (EEUU) García Garino, Carlos (Argentina) García Villalba, Javier (España) Género, Marcela (España) Giacomantone, Javier (Argentina) Gómez, Sergio (Argentina) Guerrero, Roberto (Argentina) Henning Gabriela (Argentina)

Janowski, Tomasz (Naciones Unidas) Kantor, Raul (Argentina) Kuna, Horacio (Argentina) Lanzarini, Laura (Argentina) Leguizamón, Guillermo (Argentina) Loui, Ronald Prescott (EEUU) Luque, Emilio (España) Madoz, Cristina (Argentina) Malbran, Maria (Argentina) Malverti, Alejandra (Argentina) Manresa-Yee, Cristina (España) Marín, Mauricio (Chile) Motz, Regina (Uruguay) Naiouf, Marcelo (Argentina) Navarro Martín, Antonio (España) Olivas Varela, José Ángel (España) Orozco Javier (Argentina) Padovani, Hugo (Argentina) Pardo, Álvaro (Uruguay) Pesado, Patricia (Argentina) Piattini, Mario (España) Piccoli, María Fabiana (Argentina) Printista, Marcela (Argentina) Ramón, Hugo (Argentina) Reyes, Nora (Argentina) Riesco, Daniel (Argentina) Rodríguez, Ricardo (Argentina) Roig Vila, Rosabel (España) Rossi, Gustavo (Argentina) Rosso, Paolo (España) Rueda, Sonia (Argentina) Sanz, Cecilia (Argentina) Spositto, Osvaldo (Argentina) Steinmetz, Ralf (Alemania) Suppi, Remo (España) Tarouco, Liane (Brasil) Tirado, Francisco (España) Vendrell, Eduardo (España) Vénere, Marcelo (Argentina) Villagarcia Wanza, Horacio (Arg.) Zamarro, José Miguel (España)


X Workshop Bases de Datos y Minería de Datos - WBDDM -

ID

Trabajo

Autores

5612

A Novel, Language - Independent Keyword Extraction Method

Waldo Hasperué (UNLP), César Estrebou (UNLP), Laura Lanzarini (UNLP), Germán Aquino (UNLP)

5618

Modelo de Procesos para la Gestión de Requerimientos en Proyectos de Explotación de Información

Maria Florencia Pollo Cattaneo (UTN-FRBA), D. Mansilla (UTN-FRBA), C. Vegega (UTNFRBA), Patricia Pesado (UNLP), Ramón Garcia Martinez (UNLA), Paola Britos (UNRN)

5626

Efecto de los trending topics en el Volumen de Consultas a los Motores de Búsqueda

Santiago Ricci (UNLu), Gabriel Tolosa (UNLu)

5721

Propuesta de Métricas para Proyectos de Explotación de Información

Diego Basso, Darío Rodriguez (UNLA), Ramon Garcia Martinez (UNLA)

5771

Fractalizing Social Networks

Silvia Cobialca (OTRA), Juan María Ale (UBA)

5819

Determinación de género y edad en blogs en español mediante enfoques basados en perfil

Darío Funez (UNSL), Leticia Cagnina (UNSL), Marcelo Errecalde (UNSL)

5828

Una Extensión del FHQT Temporal para Distancias Continuas

Andrés Pascal (UTN), Anabella De Battista (UTN), Norma Edith Herrera (UNSL), Gilberto Gutierrez (UBB)

5875

New Deletion Method for Dynamic Spatial Approximation Trees

Fernando Kasián (UNSL), Verónica Ludueña (UNSL), Nora Reyes (PUC Rio), Patricia Roggero (UNSL)


X Workshop Bases de Datos y Minería de Datos - WBDDM -

ID

Trabajo

5825

Prototipo de búsqueda y comparación que aplica técnicas de recuperación de información en bases de datos relacionales

Autores Claudio Camacho (UNSE), Walter Singer (UNSE), Rosanna N. Costaguta (UNSE)


A Novel, Language-Independent Keyword Extraction Method Germán Aquino1, Waldo Hasperué1,2, César Estrebou1 and Laura Lanzarini1 III-LIDI. School of Computer Science. UNLP. Argentina 2 CONICET scholarship {gaquino, whasperue, cesarest, laural}@lidi.info.unlp.edu.ar 1

Abstract. Obtaining the most representative set of words in a document is a very significant task, since it allows characterizing the document and simplifies search and classification activities. This paper presents a novel method, called LIKE, that offers the ability of automatically extracting keywords from a document regardless of the language used in it. To do so, it uses a three-stage process: the first stage identifies the most representative terms, the second stage builds a numeric representation that is appropriate for those terms, and the third one uses a feed-forward neural network to obtain a predictive model. To measure the efficacy of the LIKE method, the articles published by the Workshop of Computer Science Researchers (WICC) in the last 14 years (1999-2012) were used. The results obtained show that LIKE is better than the KEA method, which is one of the most widely mentioned solutions in literature about this topic. Keywords: Text Mining, Document characterization, Back-propagation, WICC.

1 Introduction Text mining presents interesting challenges to solve, since the lack of structure in the texts analyzed makes it difficult to extract information from them. Nowadays, given the large number of texts that are published each day, be these scientific articles, books, journals, periodicals or web pages, facing these challenges can prove to be interesting, as well as developing strategies that allow obtaining information from relevant texts. One way of briefly describing the topic of a document is by means of a list of keywords. The keywords in a document are of the utmost importance, since they allow carrying out several tasks, such as searching for a specific topic, classifying documents, clustering [1], summarization [2] [3] [4], etc. Even though most of the times the author of the document is the one in charge of proposing the list of keywords, as in the case of scientific publications, there are other times when this list is not present at all and, therefore, it would be interesting to have an automated method that can propose a list of keywords by analyzing the text of the document.

953


Within text mining, there have been various alternatives proposed for the task of extracting keywords. There are statistical methods that typically do not have prior training with the documents; in such cases, only statistical information is collected from the words that are present in the document to identify which of them can be chosen as keywords. The most widely used statistical methods include TF-IDF [5] [6] [7] [8], word co-occurrence [9], etc. On the other hand, there are machine learning-based methods that, from a given corpus, carry out a training process and generate a model that allows performing classifications afterwards or, in the case of keyword extraction, establishing which words in the document are candidates to be chosen as keywords. In these cases, each document in the initial corpus must have a list of keywords that are used as positive cases during training. Some of the machine learning methods used in this type of tasks are Na誰ve Bayes [8] [10], Support Vector Machine [11], etc. The methods that analyze the linguistic aspects of the documents are those that offer the most interesting solutions, since they combine lexical analysis, syntactic analysis, etc. [12] [13]; however, their disadvantage is that they are strongly dependant on the language used to write the documents. One of the main concepts pertaining to the specific task of extracting keywords from documents is that of n-grams. Any word within a document is a unigram, while any sequence of two or more words forms an n-gram, where n indicates the number of words in the sequence. When extracting keywords, any n-gram in the document is a potential keyword for that document. Most of the techniques that carry out this task perform calculations and measurements on each n-gram in the document, and then process them by means of a machine learning technique [14] or by assigning a given score [15] to obtain a model that can be used as predictor for future documents. In order to extract keywords, some methods require a corpus from which to generate a first model [7] [8], while others do so from a single document [9]. There are techniques that carry out numeric and/or statistical calculations for all n-grams in the document [16] [17], while others exploit certain linguistic information [12] [13]. Most of the existing strategies pre-process the documents with stemming and word filtering techniques by means of a stop-word list. In this paper, a novel method is proposed, called LIKE (Language Independent Keyword Extraction), which uses texts from documents from a given corpus to obtain a model that can be used to extract keywords. To this end, it uses a three-phase algorithm. The first phase consists in extracting any n-grams that are detected as candidates for keyword, the second phase calculates a set of numerical features for each n-gram that was detected, and the third and final stage uses those features to produce a model by training a feed-forward network. This trained network is used as model to decide, given a new document, possible keywords. LIKE is independent from the source language of the documents, provided that the same language is maintained throughout each individual document, since it does not carry out the usual pre-processing steps of stemming or word filtering using a stop-word list. This article is organized as follows: in Section 2, LIKE is described; in Section 3, the results obtained in the experiments carried out are presented; and in Section 4, conclusions and future work are presented.

954


2 LIKE The method proposed in this paper, called LIKE, is a three-phase method that allows extracting a list of keywords by analyzing the text in a document. LIKE is independent from the source language of the documents, since it does not carry out the pre-processing steps of stemming or word filtering using a stop-word list. LIKE analyzes the documents in a document corpus to train a back-propagation network that will then be used as model to determine the list of keywords for new documents. LIKE starts by identifying all existing n-grams in each document in the corpus. Since the number of all possible n-grams would be excessively high, a strategy is required to reduce this number. In this proposal, the method presented by [18] is used, since it allows identifying a much lower number of n-grams. During the second stage, each n-gram obtained in the previous stage is transformed into a features numeric vector; these vectors are labeled as one of two classes of data. One class includes the vectors corresponding to those n-grams that are part of the list of keywords proposed by the author(s) of the document, while the other class is formed by the vectors corresponding to all remaining n-grams. The third stage consists in using these two data classes to train a back-propagation network. 2.1 Phase 1. N-gram Extraction The first phase of the method proposed consists in identifying the n-grams in the corpus. For each document, all existing n-grams are extracted. An n-gram is considered to be valid if it is formed by consecutive words within the same sentence with no punctuation marks between any of them. In general, the number of existing n-grams is excessively high. For the tests carried out for this work, which has a corpus of 96 documents, more than 580,000 n-grams can be extracted. Therefore, a strategy to identify a lower number of n-grams is required. In this proposal, the algorithm presented in [18] is used. This strategy, inspired in the Apriori algorithm, builds sets of elements from other smaller sets. In this algorithm, the maximum n value (number of words in the n-gram) and the minimum occurrence frequency for each n-gram have to be determined. N-grams are built from the (n-1)-grams that meet the requirement of a minimum specified frequency. To do this, it is assumed that an n-gram whose frequency is k is built from the intersection of two (n-1)-grams whose frequency is at least k, i.e., an n-gram cannot be more frequent than its parts. For each n-gram, the first n-1 and last n-1 words are taken, and it is checked that these (n-1)-grams meet the minimum allowed frequency criterion. If this criterion is not met, the n-gram is discarded. Finally, there are n runs on the text, first to obtain 1-grams, then 2-grams based on these, then 3-grams, and so forth. The use of this strategy in LIKE allows identifying a low number of n-grams in each document. In the experiments that were carried out for this work, the total number of n-grams for the entire corpus was reduced to little more than 70,000. The result of this phase is a list of n-grams, which are then labeled. Once this list of keywords is known for each document, a label is assigned to each n-gram to indicate if the n-gram is a keyword or not. Thus, a two-class set of data is generated.

955


2.2 Phase 2. N-gram Characterization The purpose of this phase is converting each of the n-grams that were identified in the previous phase into a features vector. In this article, we propose that the eight features detailed below are calculated. i) TF (Term Frequency): TF is perhaps, together with IDF, one of the descriptors most widely-used to characterize n-grams. Term Frequency is the number of times the n-gram occurs in the document divided by the total word count of the document. ii) IDF (Inverse Document Frequency): It is the ratio between the number of documents in the corpus that include the n-gram d(g) and the total number of documents D.

iii)

iv)

v) vi)

vii)

viii)

First occurrence of the term: This represents the relative position of the first occurrence of the n-gram. It is calculated as the number of words before the first occurrence of the n-gram divided by the total word count of the document. Position within the sentence: This is the relative position of the n-gram in the sentence that contains it. The same as the previous one, it is calculated as the number of words before the occurrence of the n-gram in the sentence divided by the total word count of the sentence itself. If the same n-gram appears several times in different sentences in the same document, then all n-gram occurrences are averaged. Part of the title: This feature is a binary value that indicates if the n-gram appears in the title of the document or not. Part of the n-gram present in the title: This feature (only valid for n-grams with two or more words) counts the number of words in the n-gram that also appear in the title, regardless of the order of the words in the title. This number of occurrences is normalized by the number of words in the n-gram. In the case of unigrams, the same as the previous feature, this is a binary value that indicates either presence or absence. NSL (Normalized Sentence Length): This is the length of the sentence where the n-gram appears divided by the length of the longest sentence in the document. If the n-gram appears in more than one sentence in the document, all occurrences are averaged. Z-score: This is a statistical measure that normalizes the frequency of the n-gram. It requires knowing the mean and standard deviation of the frequency for each n-gram.

If the n-gram appears in more than one sentence in the document, all occurrences are averaged. Of the eight features proposed, only two (IDF and Z-score) require the corpus in order to be calculated. The result of this phase is a features vector for each of the n-grams identified in the previous phase.

956


2.3 Phase 3. Creating the Model The third phase of the method proposed consists in creating a model that can learn from a given corpus and allows classifying n-grams from new documents as possible keywords or not. The prediction model is built by training a back-propagation network. The problem that arises when trying to use the set of vectors obtained in the previous phase as data for training the back-propagation network is that the classes in this data set are not balanced, since the “not a keyword” class has a lot more elements than the “is a keyword” class. In the corpus used to carry out the experiments presented here, the ratio of elements in both classes was approximately 150 to 70,000. When there is a data set with unbalanced classes, training a back-propagation network is not an easy task, since the training set prevents the generation of a model that can accurately predict the data in the minority class. In light of this problem, several solutions have been proposed ([19] [20] [21]). In particular, the solution described in [21] proposes that, before the training process, a clustering operation is performed on the data in the larger class in order reduce its number of elements. In this work, the idea in [21] is used – the data in the larger class are clustered using the k-means algorithm. Be u the number of data present in the minority class, the value of k is then established as k=u/10. A clustering of k clusters is performed, and 10 random elements are extracted from each resulting cluster. These 10*k elements thus selected form a new data set that replaces the original data from the majority class. Following this methodology, the back-propagation network can be trained using a data set whose classes have similar numbers of elements. To train the back-propagation network, the classic algorithm is used. After several tests and empirical observation, a decision was made to use seven neurons for the hidden layer, the logsig function as transfer function for the hidden layer, the tansig function for the output layer, an alfa of 0.25, and a maximum of 1,000 iterations. The best results were obtained with this configuration. The result of this training process is a model that can predict keywords for new documents. The procedure to establish the keywords for a new document is as follows: first, the n-grams are extracted as described in Section 2.1; then, features vectors are calculated for each n-gram as explained in Section 2.2; and finally, these new vectors are presented to the trained network to determine if a given n-gram is a keyword for the document or not.

3 Results The method proposed here was tested using as corpus all papers submitted to WICC (http://redunci.info.unlp.edu.ar/wicc.html) between 1999 and 2012. Only those articles written in English were included in the corpus (96 articles). The rationale for using only articles written in English was that, at a later stage, the results obtained with this method would be compared with those obtained with other keyword extraction method that is widely used in the literature: KEA [8]. Even though KEA

957


can be adapted to work with languages other than English, since it depends on a stemmer and a stop-word list, those developed by the authors were used, which are in English. KEA [8] is an automated keyword extraction algorithm that identifies candidate words by using lexical methods to calculate a set of features, and then apply an automated learning algorithm that allows predicting which candidates are good keywords. The same as LIKE, KEA builds a prediction model using a training corpus with specified keywords, and it then uses this model to extract keywords from new documents. KEA allows the free extraction of keywords, as well as the extraction of keywords using a vocabulary list that is controlled by means of a thesaurus. For these tests, the first mode was used, establishing as parameter a number of three keywords per document. In order to train KEA, a stop-word list and a stemmer are required. The stop-word list contains words of low semantic content (conjunctions, articles, prepositions, etc.) that should not be considered as keyword candidates. The first step in the KEA method consists in filtering out the words that appear in the stop-word list, and then apply a stemming process to reduce to their syntactic root all n-grams that were not filtered out. The next step is to calculate the features of all candidate words, which include: TF-IDF, the initial position of the n-gram in the text and the length of the n-gram (the number of individual words that form the n-gram). Based on this representation, KEA uses Naïve Bayes as learning algorithm. Both LIKE and KEA were trained using the same corpus. From that corpus, some documents were selected randomly for the training stage and the rest were used for testing. For each test, accuracy, recall and f-measure are calculated. Both methods were run with the 10-fold cross-validation procedure, and average accuracy, recall and f-measure were obtained. The 10-fold cross-validation procedure was run 30 separate times with both methods in order to measure the statistical significance of the various results obtained. One of the greatest disadvantages of LIKE (also present in KEA) is that, for each n-gram, two features are calculated whose result depends on the entire corpus (IDF and Z-score). Depending on a corpus for calculating features is not desirable, so two versions of the LIKE method were run – LIKE-8, which uses the eight features proposed in this article (see Section 2.2), and LIKE-6 which uses only the six features that do not depend on the corpus (i.e., all but IDF and Z-score). Table 1 shows the average accuracy, recall and f-measure for the 30 separate runs with LIKE-8, LIKE-6 and KEA. With these results, a statistical test was carried out to determine the statistical significance for LIKE-8 vs. KEA, LIKE-6 vs. KEA and LIKE-8 vs. LIKE-6 (Table 2). As it can be seen in Table 2, both LIKE-8 and LIKE-6 achieved better results than KEA, while the version that used all eight attributes improved only accuracy and f-measure results when compared to the version that used only those six that are not corpus-dependent.

958


Table 1. Average precision, recall and f-measure for LIKE-8, LIKE-6 and KEA (standard deviation indicated between parentheses).

Precision Recall f-measure

LIKE-8 0.76 (0.051) 0.75 (0.094) 0.74 (0.053)

LIKE-6 0.65 (0.101) 0.72 (0.141) 0.68 (0.116)

KEA 0.52 (0.006) 0.37 (0.004) 0.43 (0.005)

Table 2. Results of the statistical significance for precision, recall and f-measure for LIKE-8 vs. KEA, LIKE-6 vs. KEA and LIKE-8 vs. LIKE-6. For α=0.01 the “+” sign indicates that the result is statistically significant, while the “–” sign indicates that there is no statistical significance (p-value indicated between parenthesis).

Precision Recall f-measure

LIKE-8 vs. KEA

LIKE-6 vs. KEA

+ (5.48x10-22) + (1.50x10-19) + (2.18x10-24)

+ (5.19x10-08) + (4.08x10-14) + (2.51x10-12)

LIKE-8 vs. LIKE-6 + (4.12x10-06) - (0.4832) + (0.0096)

4 Conclusions and Future Work The novel automated method LIKE for extracting keywords from the text of a set of documents has been presented. This method extracts n-grams from the documents and then calculates a series of features to convert them into numeric vectors. It then uses these vectors as data to train a back-propagation network and thus obtain a model that works as predictor and that can be used to extract keywords from new documents. In this paper, the calculation of eight features is proposed for each n-gram, with only two of these being dependent on the entire corpus. LIKE was trained using the eight features, and then a second test was carried out using only the six features that do not depend on the corpus. Articles written in English submitted to the WICC between 1999 and 2012 were used for the experiments. The results obtained were compared with KEA, and it was shown that both the six-feature and the eight-feature LIKE models were better. When comparing the results obtained with both versions of LIKE, using all eight features turned out to be superior than using just six when calculating precision and f-measure, while for the recall parameter, neither of the versions appeared to be better than the other. The main advantage of the method presented here is that it does not depend on the language of the texts analyzed, since it does not pre-process them because it does not use stemming or a stop-word list. As future work, it would be interesting to study in detail the n-grams that are negatively classified so as to determine their nature and analyze the possibility of detecting grammar structures that help improve the performance of the method. Also, if less candidate n-grams are identified, the majority class of negative cases would be reduced and this could possibly lead to being able to omitting the clustering stage before training the network.

959


Another aspect to be studied in relation to the method proposed here is the possibility of assigning keywords from a list of controlled vocabulary. Different authors may choose different key words in articles dealing with the same topic, so it would be interesting if an automated assignment method were available to assign key words from a list of controlled vocabulary. This would ensure that documents on related topics would have the same key words, which would in turn improve the results obtained in future searches, classifications or statistical analyses.

References 1. Tonella, P., Ricca, F., Pianta, E., Girardi, C.: Using keyword extraction for Web site clustering. In: Conference Using keyword extraction for Web site clustering, pp. 41 - 48. (2003) 2. D'Avanzo, E., Magnini, B., Vallin, A.: Keyphrase Extraction for Summarization Purposes: The LAKE System at DUC-2004. Proceedings of the 2004 Document Understanding Conference (2004) 3. Wan, X., Yang, J., Xiao, J.: Towards an Iterative Reinforcement Approach for Simultaneous Document Summarization and Keyword Extraction. In: Conference Towards an Iterative Reinforcement Approach for Simultaneous Document Summarization and Keyword Extraction, pp. 552-559. (2007) 4. Zha, H.: Generic summarization and keyphrase extraction using mutual reinforcement principle and sentence clustering. In: Conference Generic summarization and keyphrase extraction using mutual reinforcement principle and sentence clustering, pp. 113-120. (2002) 5. Islam, M.R., Islam, M.R.: An improved keyword extraction method using graph based random walk model. 11th International Conference on Computer and Information Technology 225-229 (2008) 6. Kaur, J., Gupta, V.: Effective Approaches For Extraction Of Keywords. International Journal of Computer Science Issues 7, (2010) 7. Liu, Y., Ciliax, B.J., Borges, K., Dasigi, V., Ram, A., Navathe, S., Dingledine, R.: Comparison of two schemes for automatic keyword extraction from MEDLINE for functional gene clustering. Proc IEEE Comput Syst Bioinform Conf 394-404 (2004) 8. Witten, I.H., Paynter, G.W., Frank, E., Gutwin, C., Nevill-Manning, C.G.: KEA: practical automatic keyphrase extraction. In: Conference KEA: practical automatic keyphrase extraction, pp. 254-255. (1999) 9. Matsuo, Y., Ishizuka, M.: Keyword Extraction From A Single Document Using Word CoOccurrence Statistical Information. In: Conference Keyword Extraction From A Single Document Using Word Co-Occurrence Statistical Information, pp. 392-396. (2003) 10.Frank, E., Paynter, G.W., Witten, I.H., Gutwin, C.: Domain-specific keyphrase extraction. proc. Sixteenth International Joint Conference on Artificial Intelligence 668--673 (1999) 11.Wu, C., Marchese, M., Wang, Y., Krapivin, M., Wang, C., Li, X., Liang, Y.: Data Preprocessing in SVM-Based Keywords Extraction from Scientific Documents. Fourth International Conference on Innovative Computing, Information and Control (ICICIC), pp. 810 - 813 (2009) 12.Csomai, A., Mihalcea, R.: Linguistically Motivated Features for Enhanced Back-of-theBook Indexing. Proceedings of the 9th SIGdial Workshop on Discourse and Dialogue (2008)

960


13.Kireyev, K.: Semantic-based estimation of term informativeness. Proceedings of Human Language Technologies: The 2009 Annual Conference of the North American Chapter of the Association for Computational Linguistics 530-538 (2009) 14.Hulth, A.: Improved automatic keyword extraction given more linguistic knowledge. Proceedings of the 2003 conference on Empirical methods in natural language processing 216-223 (2003) 15.Wang, C., Zhang, M., Ru, L., Ma, S.: An Automatic Online News Topic Keyphrase Extraction System. IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology 1, 214-219 (2008) 16.HaCohen-Kerner, Y., Gross, Z., Masa, A.: Automatic extraction and learning of keyphrases from scientific articles. Proceedings of the 6th international conference on Computational Linguistics and Intelligent Text Processing 657-669 (2005) 17.Hu, X., Wu, B.: Automatic Keyword Extraction Using Linguistic Features. Sixth IEEE International Conference on Data Mining Workshops 19 - 23 (2006) 18.F端rnkranz, J.: A study using n-gram features for text categorization. Austrian Research Institute for Artifical Intelligence 3, 1-10 (1998) 19.Castro, C.L., Braga, A.P.: Novel Cost-Sensitive Approach to Improve the Multilayer Perceptron Performance on Imbalanced Data. IEEE Transactions on Neural Networks and Learning Systems 24, 888-899 (2013) 20.Lin, M., Tang, K., Yao, X.: Dynamic Sampling Approach to Training Neural Networks for Multiclass Imbalance Classification. IEEE Transactions on Neural Networks and Learning Systems 24, 647 - 660 (2013) 21.Zhang, Y.-p., Zhang, L.-N., Wang, Y.-C.: Cluster-based majority under-sampling approaches for class imbalance learning. 2nd IEEE International Conference on Information and Financial Engineering (ICIFE) 400-404 (2010)

961


Modelo de Procesos para la Gestión de Requerimientos en Proyectos de Explotación de Información Pollo-Cattaneo, M. F.1,2, Mansilla, D 2,Vegega, C 2, Pesado, P.3, García-Martínez, R.4, P. Britos, P.5 1

Programa de Doctorado en Ciencias Informáticas. Facultad de Informática. Universidad Nacional de La Plata. Argentina. 2 Grupo de Estudio en Metodologías de Ingeniería de Software. Facultad Regional Buenos Aires. Universidad Tecnológica Nacional. Argentina. 3 Instituto de Investigaciones en Informática LIDI. Facultad de Informática. Universidad Nacional de La Plata. Argentina. 4 Grupo Investigación en Sistemas de Información. Departamento Desarrollo Productivo y Tecnológico. Universidad Nacional de Lanús. Argentina 5 Grupo de Investigación en Explotación de Información. Laboratorio de Informática Aplicada. Universidad Nacional de Río Negro. Argentina. fpollo@posgrado.frba.utn.edu.ar, rgarcia@unla.edu.ar, paobritos@gmail.com

Resumen. Los Proyectos de Explotación de Información tienen por objetivo la transformación de los datos que recopila el proceso de negocio, en conocimiento útil para la toma de las decisiones. Los procesos asociados a los proyectos tradicionales de construcción de software no pueden utilizarse, debido a que estos procesos están orientados a la construcción de un producto diferente, que es el software. En este contexto, se presenta un proceso de gestión de requerimientos para Proyectos de Explotación de Información, que hace hincapié en las fases de definición de proyectos, educción del negocio, conceptualización del negocio e identificación de los procesos de explotación de información asociados al Proyecto de Explotación de Información.

Palabras Claves: Elicitación de Requerimientos. Metodología. Proceso. Explotación de Información. Ingeniería de Requerimientos.

1. Introducción La Inteligencia de Negocios propone un abordaje interdisciplinario (dentro del que se encuentra la Informática) que se centra en generar conocimiento que contribuya con la toma de decisiones de gestión y generación de planes estratégicos en las organizaciones [1]. La Explotación de Información (EdI) es la sub-disciplina de la Informática que aporta a la Inteligencia de Negocios las herramientas de análisis y síntesis para extraer conocimiento no trivial que se encuentra (implícitamente) en los datos disponibles de diferentes fuentes de información [2]. Para un experto, o para el responsable de un Sistema de Información, normalmente no son los datos en sí lo más relevante, sino el conocimiento que se encierra en sus relaciones, fluctuaciones y dependencias.

962


Si bien existen metodologías que acompañan el desarrollo de Proyectos de Explotación de Información que se consideran probadas y tienen un buen nivel de madurez en cuanto al desarrollo del proyecto entre las cuales se destacan CRISP-DM [4], P3TQ [5] y SEMMA [6], estas metodologías dejan de lado aspectos operativos y de gestión de proyecto [7]. Así, por ejemplo, en la metodología CRISP-DM la primera fase busca identificar y comprender los aspectos del negocio relacionados al proyecto que se está realizando, pero no define técnicas, métodos ni herramientas para obtener esta información ni los medios necesarios para realizar su documentación. En este contexto, este trabajo tiene como objetivo sistematizar el cuerpo de conocimientos existente en la Ingeniería en Software y la Ingeniería del Conocimiento para sentar las bases para el desarrollo de una Ingeniería de Requisitos con particular énfasis en Proyectos de Explotación de Información. De esta manera se propone un Modelo de Procesos para la Gestión de Requisitos en Proyectos de EdI. Para ello primero se describe el problema detectado (sección 2). Luego se definen las soluciones existentes junto con la nueva propuesta (sección 3), aplicando esta última en una prueba de concepto para su validación (sección 4). Finalmente se indican las conclusiones obtenidas y futuras líneas de trabajo (sección 5).

2. Definición del Problema Aunque la Ingeniería en Software y la Ingeniería del Conocimiento [8] proveen muchos métodos, técnicas y herramientas, estos no son útiles ya que no se ocupan de los aspectos específicos que poseen los Proyectos de Explotación de Información. Mientras, que las herramientas tradicionales de elicitación de la Ingeniería en Software se enfocan en la descripción de los diferentes tipos de requerimientos haciendo hincapié en las características (funcionales o no) que debe cumplir el producto software final [9], un proyecto EdI no busca la construcción del sistema software sino la aplicación de un proceso que convierta los datos disponibles en conocimiento. Por lo tanto, los requerimientos en este tipo de proyecto, se encontrarán relacionados a identificar y describir los objetivos del proyecto junto con su relación con los objetivos del negocio de la organización donde se está realizando el proyecto. Además es necesario realizar un reconocimiento inicial de las fuentes de información disponibles en la organización identificando cuáles fuentes se encuentran informatizadas (en repositorios de datos) y cuáles no. Como resultado del análisis conjunto de los objetivos del proyecto y los repositorios de datos identificados, es posible delimitar el alcance del proyecto en un conjunto de objetivos de requisitos que podrán ser luego resueltos a través de la aplicación de procesos de EdI [10]. Sin embargo, y como sucede en otras ingenierías, al comienzo de un proyecto de EdI se tiene la dificultad adicional de no manejar el vocabulario del negocio y de los datos de los miembros de la organización para poder lograr un mejor entendimiento sobre los aspectos del proyecto. En este sentido, ante la carencia de métodos, técnicas y herramientas asociadas a la ejecución de las tareas relacionadas a la gestión de requerimientos en proyectos de EdI, se ha detectado la necesidad de ofrecer los siguientes elementos:

963


 

un proceso de elicitación de requerimientos para identificar las principales necesidades del cliente, sus expectativas, restricciones y los principales repositorios de datos que son necesarios para realizar el proyecto. un conjunto de plantillas que permita documentar todos los requerimientos para que puedan ser, luego, consultados durante la realización del proyecto. un proceso de formalización de requerimientos que indique la forma en que se deben completar las plantillas en base a los requerimientos educidos.

3. Solución Propuesta Para dar respuesta al problema detectado en la sección anterior, se han propuesto varias soluciones (descriptas en la sección 3.1) que buscan dar solución a aspectos puntuales del problema pero que presentan problemas al intentar aplicarlas en un todo. A partir del análisis de estas soluciones parciales existentes se propone su integración en un Modelo de Procesos para la Gestión completa de los Requerimientos en Proyectos de EdI. La propuesta de este modelo se realiza en la sección 3.2. 3.1. Soluciones Existentes En [11] se realiza una propuesta para la solución del problema definiendo tanto un conjunto de plantillas asociadas al proyecto, los requisitos, los datos y la terminología de la organización así como un proceso general que sirva de guía para la obtención de la información necesaria que debe ser documentada en dichas plantillas. Sin embargo, este proceso se encuentra demasiado vinculado a la documentación de los requerimientos, dejando sin definir las actividades necesarias para educir y entender los requerimientos. De todas formas, ha servido como punto de partida para la definición de las propuestas realizadas a continuación: 1) A partir de la revisión de las plantillas propuestas se ha realizado un ajuste en las mismas con el objetivo de tener un mayor entendimiento y se ha definido un conjunto de normas que indican cómo se deben escribir los requerimientos [12]. 2) Se ha definido un proceso de formalización para transformar los requerimientos educidos de forma de poder ser documentados en las plantillas revisadas (a través de la utilización de técnicas de representación de conocimiento provistas por la Ingeniería del Conocimiento [13]). 3) Adaptando el ciclo de vida propuesto por [14] para iniciativas de Data Warehouse & Business Intelligence, se ha propuesto un modelo de procesos para elicitación de requerimientos en proyectos de EdI [15, 16] el cual define un conjunto de fases con las tareas, técnicas y métodos que se deben aplicar, pero que no considera la utilización del proceso de formalización para completar las plantillas correspondientes.

964


3.2. Modelo de Procesos Propuesto La solución propuesta consiste en un modelo de procesos que permite relacionar las diferentes propuestas asociadas a la elicitación de requerimientos en proyectos de EdI. El modelo consiste en definir una relación transversal entre las propuestas realizadas en [12], [13], [15] y [16]. El proceso se divide en cuatro fases principales: Definición del Proyecto, Educción del Negocio, Conceptualización del Negocio e Identificación de Procesos de Explotación de Información. Cada fase tiene definido un conjunto de actividades y un conjunto de procesos de formalización asociados a dichas actividades. La figura 1 muestra el mapa conceptual completo del Modelo de Procesos propuesto, dividido en los diferentes niveles (Fase, Actividad y Proceso de Formalización). Fases Educción del Negocio

Definición del Proyecto

Conceptualización del Negocio

Identificación de Procesos de EdI

Actividades de cada Fase Identificar los Objetivos del Proyecto

Relevamiento de Procesos de Negocio

Construir el modelo de Negocio

Identificar los problemas de Negocio

Identificar los Interesados del Proyecto

Relevamiento de Repositorios de Datos

Construir el diccionario del Negocio

Establecer las Relaciones entre Repositorios de Datos y Problemas de Negocio

Identificar el Alcance del Proyecto

Establecer relaciones entre conceptos

Construir el Plan de Proyecto

Construir el mapa de Repositorios de Datos

Seleccionar los Procesos de Explotación de Información

Procesos de Formalización asociados a las Fases Proceso de Identificación de Objetivos, Criterios de Éxito y Expectativas del Proyecto Proceso de Identificación de Restricciones, Suposiciones y Riesgos del Proyecto

Proceso de Formalización de Dominios de Negocio

Proceso de Identificación de Objetivos, Criterios de Éxito, Expectativas, Restricciones, Suposiciones y Riesgos de los Requisitos

Fig.1 Mapa Conceptual del Modelo de Procesos Propuesto La fase de Definición del Proyecto tiene por objetivo definir el alcance del proyecto, los interesados y los objetivos que se deben alcanzar. En esta fase se realiza la planificación de actividades de educción de requisitos.

965


La fase de Educción del Negocio tiene por objetivo comprender el idioma utilizado en el negocio, descubrir las palabras específicas del mismo y cuál es el significado que el negocio le da a esas palabras específicas. La fase de Conceptualización del Negocio tiene por objetivo definir el negocio en términos de conceptos utilizados en el mismo, vocabulario y repositorios donde se almacena la información de los diferentes procesos del negocio. La fase de Identificación de Procesos de Explotación de Información define los procesos de minería de datos que se pueden utilizar para resolver los problemas identificados en el proceso de negocio. En esta instancia, se identifican los roles de las personas que participan en este modelo de procesos. Dichos roles, junto con sus responsabilidades son indicados en la tabla 1. Rol Líder de Proyecto Analista Funcional Especialista de Datos

Analista en Explotación de Información

Responsabilidades Gestionar las acciones para que se lleven a cabo las actividades del proyecto y se cumplan los compromisos del proyecto. Relevar y analizar los diferentes procesos del negocio. Relevar y analizar las diferentes fuentes de información. Debe tener las capacidades técnicas necesarias para recuperar datos de dichas fuentes. Establecer relaciones entre datos y relacionar procesos de explotación de información con los problemas del negocio detectados. Aplicar algoritmos de minería de datos sobre los datos relacionados al proceso de negocio para obtener el conocimiento que permita resolver los problemas del negocio detectados.

Tabla 1. Roles del Proceso de Gestión de Requerimientos 3.2.1 Fase de Definición del Proyecto Durante esta fase se realizan las tareas asociadas a la planificación del proyecto y a establecer el alcance y las personas interesadas en el mismo. Estas actividades son la base de todo proyecto [17]. La figura 2 muestra las actividades y procesos de formalización asociados a esta fase. Identificar los Objetivos del Proyecto

Identificar los Interesados del Proyecto

Proceso de Identificación de Objetivos, Criterios de Éxito y Expectativas del Proyecto

Identificar el Alcance del Proyecto

Construir el Plan de Actividades

Proceso de Identificación de Restricciones, Suposiciones y Riesgos del Proyecto

Fig.2 Actividades y Procesos de Formalización de la Fase de Definición del Proyecto El Líder de Proyecto será el responsable de las diferentes actividades de esta fase. Comienza con la identificación de los objetivos del proyecto, utilizando el Proceso de Identificación de Objetivos, Criterios de Éxito y Expectativas del Proyecto. Con los

966


objetivos definidos, se identifica la lista de interesados del proyecto (actividad “Identificar los Interesados del Proyecto”) en la que figuran quienes permiten definir el alcance del proyecto de EdI, actividad en la que también participa el Analista Funcional. Por último, con el objetivo, alcance e interesados del proyecto definidos, el Lider de Proyecto utiliza el Proceso de Identificación de Restricciones, Suposiciones y Riesgos del Proyecto para construir el Plan de Actividades que servirá como planificación para la ejecución de las diferentes actividades del proceso (actividad de “Construir Plan de Actividades”). Con el plan construido comienzan las actividades asociadas a las siguientes fases. 3.2.2 Fase de Educción del Negocio Durante esta fase se realizan las tareas que permiten relevar los diferentes procesos de negocio. El Analista Funcional será el responsable de llevar a cabo las actividades definidas para esta Fase. La figura 3 muestra las actividades que la componen. Relevamiento de Procesos del Negocio

Relevamiento de Repositorios de Datos

Fig.3 Actividades de la Fase de Educción del Negocio El Analista Funcional, en la actividad de “Relevamiento de Procesos del Negocio”, recopilará la información de los diferentes procesos, mediante la utilización de tecnicas tradicionales de educción, como las que se presentan en [9] y [18]. Esta información documentada será utilizada como referencia en la siguiente fase. Con la ayuda de un Especialista de Datos, deberá identificar los diferentes repositorios de información que existen en la organización (actvidad de “Relevamiento de Repositorios de Datos”) y que pueden, o no, estar informatizados. 3.2.3 Fase de Conceptualización del Negocio En la fase de conceptualización se construye el modelo de negocio que se utiliza como base del Proyecto de EdI. El Analista Funcional será el responsable de las actividades de esta fase que incluyen las actividades definidas en la figura 4. Construir el modelo de Negocio

Construir el diccionario del Negocio

Establecer relaciones entre conceptos

Construir el mapa de Repositorios de Datos

Proceso de Formalización de Dominios de Negocio

Fig.4 Actividades y Procesos de Formalización de la Fase de Conceptualización del Negocio

967


Con la información obtenida en la “Educción del Negocio”, durante la actividad de “Construir el modelo de Negocio”, el Analista Funcional modela los casos de uso de negocio asociados al alcance del proyecto. A partir de este modelo, como parte de la actividad “Construir el Diccionario del Negocio”, se analiza el vocabulario utilizado en el negocio y se construye el diccionario de términos asociados a los diferentes procesos de negocio. El Analista de Explotación de Información, en la actividad de “Establecer las Relaciones entre Conceptos”, sigue el Proceso de Formalización de Dominios de Negocio, establecido en [13] para generar el Diagrama de EntidadRelación (DER) asociado a los conceptos. Por último, el rol de Especialista de Datos será el de ser el responsable de relevar las diferentes fuentes de información asociadas a los procesos modelados, las que permitirán establecer las relaciones entre los Casos de Uso identificados y los repositorios de datos existentes. Esta relación se establece en la actividad de “Construir el Mapa de Repositorio de Datos”. 3.2.4 Fase de Identificación de Procesos de Explotación de Información Esta fase es la conclusión del trabajo realizado por el equipo de proyecto y define como resultado final los Procesos de Explotación de Información a utilizar en el proyecto. La figura 5 representa las actividades y los procesos de formalización asociados a esta fase. Identificar los Problemas de Negocio

Establecer las Relaciones entre Repositorios de Datos y Problemas de Negocio

Seleccionar los Procesos de Explotación de Inf.

Proceso de Identificación de Objetivos, Criterios de Éxito, Expectativas, Restricciones, Suposiciones y Riesgos de los Requisitos

Fig.5 Actividades y Procesos de Formalización de la Fase de Identificación de Procesos de Explotación de Información El Analista Funcional se encargará de construir una lista que contiene los problemas que el negocio desea resolver (actividad “Identificar los Problemas de Negocio”), y en conjunto con el Analista de Explotación de Información establecerán las relaciones existentes entre los problemas identificados y los repositorios que contienen información útil para la resolución de los problemas (actividad “Establecer las Relaciones entre Repositorios de Datos y Problemas de Negocio) utilizando el Proceso de Proceso de Identificación de Objetivos, Criterios de Éxito, Expectativas, Restricciones, Suposiciones y Riesgos de los Requisitos. Con esta información, y utilizando técnicas propuestas en [15], [16] se podrá/n seleccionar el o los procesos de Explotación de Información que utilizará el proyecto (actividad “Seleccionar Procesos de Explotación de Información”).

968


4. Prueba de Concepto La prueba de concepto se realizó aplicando el proceso propuesto, al caso de estudio “Detección de Patrones de Daños y Averías” [19]. Como primera fase del proceso se identifican los objetivos que el negocio desea cumplir, los interesados del proyecto y el alcance que se desea alcanzar. Estas tareas se planifican y formalizan en el plan de actividades. El trabajo a realizar define la lista de objetivos de negocio, entre los que podemos destacar los siguientes:  OR-01 - Determinar la responsabilidad de siniestralidad en función del tipo de avería y el tipo de transporte.  OR-02 - Identificar incidentes según el tipo de transporte.  OR-03 - Identificar tipos de averías y/o daños.  OR-04- Identificar partes averiadas y/o dañadas que muestren algún tipo de comportamiento.  OR-05 - Identificar la gravedad de los daños y/o averías.  OR-06 - Identificar los lugares donde se producen daños y/o averías tratando de definir patrones de comportamiento.  OR-07 - Determinar en forma estadística: tipos de transporte que producen daños y/o averías como así también, partes, tipos de averías, gravedades, lugares donde se producen. Durante la fase de “Educción de Negocio” se releva la información asociada a los procesos de negocio y a los repositorios de información asociados. La información relevada puede presentarse en un documento como el presentado en [19] o utilizando cualquier otro mecanismo de documentación tradicional como los indicados en [18]. En la Fase de “Conceptualización del Negocio” se trabaja con los modelos de negocio y de vocabularios, obteniendo el mapa de repositorios y conceptos, utilizando el Proceso de Formalización de Dominios de Negocio para establecer las relaciones entre conceptos. En [13] se presenta el trabajo realizado utilizando este proceso. Por ultimo, se trabaja en la “Fase de Identificación de Procesos de Explotación de Información”. En este caso, podemos identificar los siguientes problemas de negocio:  Dificultad en identificar daños y averias producidos en unidades automotrices cero kilómetro desde que parten de la fábrica hasta el final del circuito.  Establecer recursos consumidos por el movimiento de las unidades.  Elevado costo en la distribución de repuestos para reparar las averías. En [13] se define cómo establecer las relaciones entre los conceptos y los repositorios de datos. Como última actividad, se deben seleccionar los Procesos de Explotación de Información utilizando la información obtenida durante el proceso, se analizan los diferentes objetivos de requisito identificados y se establecen qué Procesos de Explotación de Información son acordes a cada problema identificado. De dicho análisis, se puede concluir con las siguientes relaciones entre Procesos de Explotacion de Información y objetivos:  Para OR1, se selecciona el proceso de descubrimiento de reglas de pertenencia a grupos.

969


Para OR2, se selecciona el proceso de descubrimiento de reglas de comportamiento usando “Transporte” como atributo objetivo.  Para OR3, se selecciona el proceso de descubrimiento de reglas de comportamiento usando “Averia” como atributo objetivo.  Para OR4, se selecciona el proceso de descubrimiento de reglas de comportamiento usando “Parte” como atributo objetivo.  Para OR5, se selecciona el proceso de descubrimiento de reglas de comportamiento usando “Gravedad” como atributo objetivo.  Para OR6, se selecciona el proceso de descubrimiento de reglas de comportamiento usando “Lugar” como atributo objetivo.  Para OR7, se selecciona el proceso de ponderación de reglas de pertenencia a grupos. Con este análisis se dan por concluidas las actividades del proceso y se continúa con la ejecución del proyecto de EdI.

5. Conclusiones Este trabajo presenta una propuesta de Modelo de Procesos para la Gestión de Requerimientos en Proyectos de EdI que permite relacionar diferentes metodologías y herramientas propuestas en otros trabajos y dar un enfoque global a la Gestión de Proyectos de Explotación de Información. El proceso se descompone en cuatro fases, donde se gestiona en forma completa el alcance y los interesados del proyecto (Fase de Definición del Proyecto), se obtiene la información generada en los diferentes procesos de negocio (Educción del Negocio), se modelan los procesos y datos del negocio (Conceptualización del Negocio). Como futuras líneas de trabajo, se deberán definir o relacionar los procesos de formalización con la fase de Educción de Negocio, y se trabajará en la prueba del proceso en diferentes casos para obtener validaciones empíricas del mismo.

6. Referencias 1. Thomsen, E. (2003). BI’s Promised Land. Intelligent Enterprise, 6(4): 21-25. 2. Schiefer, J., Jeng, J., Kapoor, S. & Chowdhary, P. (2004). Process Information Factory: A Data Management Approach for Enhancing Business Process Intelligence. Proceedings 2004 IEEE International Conference on E-Commerce Technology. Pág. 162-169. 3. Curtis, B., Kellner, M., Over, J. (1992). Process Modelling. Communications of the ACM, 35(9): 75-90. 4. Chapman, P., Clinton, J., Kerber, R., Khabaza, T., Reinartz, T., Shearer, C. & Wirth, R. (2000). CRISP-DM 1.0 Step-by-step Data Mining Guide. http://tinyurl.com/crispdm. Último acceso Enero de 2013. 5. Pyle, D. (2003). Business Modeling and Business intelligence. Morgan Kaufmann Publishers. 6. SAS (2008). SAS Enterprise Miner: SEMMA. http://tinyurl.com/semmaSAS. Último acceso Enero de 2013.

970


7. Vanrell, J., Bertone, R., & García-Martínez, R. (2010). Modelo de Proceso de Operación para Proyectos de Explotación de Información. Anales del XVI Congreso Argentino de Ciencias de la Computación, Pág. 674-682. ISBN 978-950-9474-49-9. 8. García Martínez, R. & Britos, P. (2004). Ingeniería de Sistemas Expertos. Editorial Nueva Librería. 9. Wiegers, K. (2003). Software Requirements. Microsoft Press. 10. Garcia–Martinez, R., Britos, P., Pollo–Cattaneo, F., Rodriguez, D., Pytel, P. (2011). Information Mining Processes Based on Intelligent Systems. Proceedings of II International Congress on Computer Science and Informatics (INFONOR–CHILE 2011). Pág. 87–94. ISBN 978–956–7701–03–2. 11. Pollo-Cattaneo, M. F., Britos, P., Pesado, P. & García-Martínez, R. (2010). Proceso de Educción de Requisitos en Proyectos de Explotación de Información. En Ingeniería de Software e Ingeniería del Conocimiento: Tendencias de Investigación e Innovación Tecnológica en Iberoamérica (Editores: R. Aguilar, J. Díaz, G. Gómez, ELeón). Pág. 01-11. Alfaomega Grupo Editor. ISBN 978-607-707-096-2. 12. Deroche, A. & Pollo-Cattaneo, M. F. (2011) Guía de Buenas Prácticas para Completar las Plantillas de Requerimientos para Proyectos de Explotacion de Información. Reporte Técnico GEMIS-TD-2011-01-RT-2012-01. Grupo de Estudio de Metodologías para Ingeniería en Software, UTN-FRBA. 13. Vegega, C., Pytel, P., Ramón, H., Rodríguez, D., Pollo-Cattaneo, F., Britos, P., GarcíaMartínez, R. (2012). Formalización de Dominios de Negocio para Proyectos de Explotación de Información basada en Técnicas de Ingeniería del Conocimiento. Proceedings del XVIII Congreso Argentino de Ciencias de la Computación. Pag. 1049-1058. ISBN 978987-1648-34-4. 14. Kimball, R., Ross, M., Thornthwaite, W., Mundy, J., & Becker, B. (2011). The data warehouse lifecycle toolkit. Wiley & Sons. 15. Mansilla, D., Pollo-Cattaneo, F., Britos, P., García-Martínez, R. (2012). Modelo de Proceso para Elicitación de Requerimientos en Proyectos de Explotación de Información. Proceedings Latin American Congress on Requirements Engineering and Software Testing. Pág. 38-45. ISBN 978-958-46-0577-1. 16. Mansilla, D., Pollo, F., Britos, P., García-Martínez, R. (2013). A Proposal of a Process Model for Requirements Elicitation in Information Mining Projects. Lecture Notes in Business Information Processing, 139: 165-173. ISBN 978-3-642-36610-9. 17. William, R. 1996. A Guide To The Project Management Body Of Knowledge. PMI Publishing. 18. Sommerville, Ian, Y Peter Sawyer. 1997. Requirements Engineering: A Good Practice Guide. Chichester, England: John Wiley & Sons 19. H. Flores (2009). Detección de Patrones de Daños y Averías en la Industria Automotriz. Tesis de Maestría en Ingeniería en Sistemas de Información. Facultad Regional Buenos Aires. Universidad Tecnológica Nacional.

971


Efecto de los trending topics en el Volumen de Consultas a los Motores de B´ usqueda Santiago Ricci y Gabriel Tolosa sricci.soft@gmail.com - tolosoft@unlu.edu.ar Departamento de Ciencias B´ asicas, Universidad Nacional de Luj´ an

Resumen Las redes sociales se han convertido en aplicaciones muy populares en Internet, principalmente para publicar informaci´ on y comunicarse en grupos. Una caso bien conocido es Twitter, considerado un servicio de microblogging. Aqu´ı se generan temas que se vuelven muy populares en la red social en un determinado momento, denominados trending topics (TT). En este trabajo se intenta determinar el efecto de estos temas en cuanto al volumen de consultas enviadas a un motor de b´ usqueda web. Para ello, se utiliza informaci´ on de Twitter y tendencias de b´ usqueda. Los resultados iniciales muestran indicios de que los trending topics se utilizan luego para consultas al buscador: aproximadamente el 65 % de las consultas muestran un aumento del inter´es cuando son TT e - inclusive - entre el 44 % y 59 % obtienen su pico de inter´es. Estos resultados se consideran indicios positivos respecto de la hip´ otesis planteada abriendo oportunidades de aprovechamiento de esta informaci´ on para optimizar procesos internos de un motor de b´ usqueda.

Keywords: Twitter, trending topics, motores de b´ usqueda

1.

Introducci´ on

En los u ´ltimos cinco a˜ nos las redes sociales se han convertido en aplicaciones muy populares, principalmente para publicar informaci´on y comunicarse en grupos de personas. Mientras que su crecimiento en cantidad de usuarios es exponencial, sus usos son de lo m´as variado (microblogging, content-sharing, perfiles profesionales, acad´emicas, entre otras). Este tipo de sistema se basa principalmente en la existencia de conexiones “virtuales” entre sus participantes determinadas por el tipo de relaci´on (amigo, seguidor, etc.) y que forman un grafo subyacente. Esta es una diferencia estructural respecto de los hyperlinks de la web donde los enlaces entre objetos son expl´ıcitos. La variaci´on en la estructura afecta tanto la forma de obtener reputaci´on en la red y c´omo se localiza y disemina la informaci´ on [10]. Las redes sociales permiten el agregado r´apido de contenido y su propagaci´on por el grafo. Uno de los casos bien conocidos es Twitter, una red social que cuenta con millones de usuarios alrededor del mundo [7]. Definida como un servicio de microblogging (ya que sus entradas, llamada tweets, tienen un m´aximo de

972


140 caracteres), entre sus caracter´ısticas m´as notables se destacan los trending topics (TT) o tendencias. Estos resultan de un algoritmo que identifica los temas emergentes m´ as populares1 . Los TT pueden ser t´erminos, frases o hashtags 2 y se encuentran relacionados con los temas m´as populares en la red social en un determinado momento (por defecto, se determinan de forma personalizada para cada usuario). Es importante destacar, que en [7] se sugiere que gran parte de los TT est´ an relacionados con las noticias del momento. Por otro lado, se sabe que el buscador de Twitter es usado para monitorear cierto contenido, mientras que los motores de b´ usqueda Web son empleados para saber m´ as acerca de dicho tema y que muchos usuarios ejecutan la misma consulta tanto en el motor de b´ usqueda de Twitter como en uno Web con el fin de capturar ambos usos [10]. Tambi´en, es conocido el uso de Twitter para expresar opiniones acerca de diferentes temas, lo cual se ha traducido en gran cantidad de trabajos que plantean diferentes enfoques sobre c´omo realizar miner´ıa de opini´on sobre la red social [13] [14]. Estas premisas, junto a que seg´ un [7], gran parte de los usuarios de Twitter participan en trending topics, en conjunto permiten plantear la siguiente hip´ otesis: “el hecho de que un tema sea trending topic, se traduce en un aumento en el volumen de consultas relacionadas con dicho tema en los motores de b´ usqueda Web”. Si bien parece intuitiva su veracidad, no existen al momento propuestas de metodolog´ıas que permitan validarla ni cuantificar tal impacto. En el presente trabajo se intenta obtener indicios que permitan verificar esta hip´ otesis. Esta cuesti´ on es importante debido a que los motores de b´ usqueda deben responder millones de consultas (queries) por d´ıa, lo cual implica la necesidad de obtener eficiencia y efectividad para poder otorgar a los usuarios respuestas relevantes lo m´ as r´apido posible [11]. Entonces, si existe tal relaci´on, puede sacarse provecho de la misma para mejorar el rendimiento a trav´es del uso de t´ecnicas conocidas en el ´ambito de los motores de b´ usqueda por ejemplo, caching y prefetching de resultados. Para poder validar definitivamente esta hip´otesis se requiere contar con el conjunto de los TT en un periodo dado y la cantidad de consultas que recibi´o el motor de b´ usqueda respecto de estos temas en el mismo per´ıodo. El primero de los conjuntos se puede obtener de forma directa usando la API de Twitter, pero el segundo es propiedad de los proveedores de los servicios de b´ usqueda y no se encuentra disponible. Para salvar esta situaci´on se propone un m´etodo indirecto que – si bien no puede brindar datos absolutos – posibilita obtener indicios concretos acerca de la relaci´ on entre los TT y las consultas al motor de b´ usqueda. Como contribuciones principales, se propone un conjunto de m´etricas que, combinadas, permiten obtener una caracterizaci´on del comportamiento de un TT (mapeado en un query) en un per´ıodo corto de tiempo. Adem´as, se propone un m´etodo indirecto para contrastar el comportamiento de un conjunto de consultas antes, durante y despu´es de ser trending topic. El uso de m´etodos indirectos 1 2

https://support.twitter.com/articles/101125-about-trending-topics Cadena de texto precedida por el s´ımbolo # que se utiliza como keyword de b´ usqueda.

973


es una t´ecnica ampliamente utilizada en el ´ambito de la recuperaci´on de informaci´ on distribuida [8] en casos que los proveedores de informaci´on no cooperen con el sistema (por ejemplo, query-based sampling). Complementariamente, se plantea un mecanismo para derivar consultas a partir de los TT. Este art´ıculo extiende trabajos previos [9] con resultados preliminares e incorpora el an´ alisis una mayor cantidad de datos extra´ıdos de la red social. El resto del trabajo se encuentra organizado de la siguiente manera: la secci´on 2 presenta trabajos relacionados con este estudio. La metodolog´ıa utilizada, incluyendo las m´etricas propuestas y los datos analizados se introducen en la secci´on 3. Los experimentos y resultados se encuentran en la secci´on 4. Finalmente, se proponen cuestiones para discusi´on y trabajos futuros.

2.

Trabajos relacionados

No es de conocimiento de los autores otros trabajos que traten la hip´otesis planteada. Sin embargo, en [7] se realiza un estudio acerca de las caracter´ısticas de los TT y se comparan las b´ usquedas populares ofrecidas por el servicio de Google Trends3 con los TT, presentando el grado de solapamiento entre ambos, el cual se encontr´ o que es bajo. Tambi´en se estudi´o la diferencia en la “frescura” (freshness) de los temas en ambos y se hall´o que en Twitter son m´as persistentes. Adem´ as, se concluye que los usuarios de la red social tienden a hablar sobre noticias y que gran parte (31 %) de los TT duran aproximadamente un d´ıa. En el trabajo de Asur y otros [2] se estudian los TT y se afirma que aquellos con grandes duraciones est´ an caracterizados por la naturaleza “resonante” del contenido de sus tweets asociados, el cual proviene, generalmente, de los medios de comunicaci´ on tradicionales. De este modo, Twitter se comporta como un amplificador selectivo del contenido generado por los medios tradicionales mediante cadenas de retweets. En [1], se utiliza a los TT como base para predecir los temas que se volver´ an populares en el futuro cercano. En [4] se estudia al servicio desde el punto de vista estructural y del contenido. Una publicaci´on posterior [6] ampl´ıa dicha caracterizaci´on incluyendo la distribuci´on geogr´afica. Aqu´ı se identificaron diferentes clases de usuarios y su comportamiento, junto con patrones de crecimiento y tama˜ no de la red. Finalmente, en [10] se compara la tarea de b´ usqueda de los usuarios en Twitter respecto a los motores de b´ usqueda, pudiendo cuantificar algunas diferencias. Principalmente, hallaron que las consultas a Twitter son mas cortas pero con palabras m´as largas y una sintaxis m´as espec´ıfica. Tambi´en se usan palabras comunes, se repiten m´as y cambian menos. Esto se debe a que los usuarios de Twitter habitualmente realizan b´ usquedas para monitorear nuevo contenido mientras que las b´ usquedas web se usan para conocer m´ as sobre un tema. Adem´as, los resultados entregados por ambos tipos de servicios son diferentes. Estas observaciones resultan interesantes para el proceso de mapeo entre TT y queries. 3

http://www.google.com/trends/

974


3.

Metodolog´ıa

El enfoque general se basa en un proceso de tres fases. Como se mencion´o, no es posible obtener los datos de TT y queries para un mismo per´ıodo de tiempo de forma directa. Para salvar la situaci´on se proponen los siguientes pasos: 1. Capturar los trending topics de Twitter durante un periodo de tiempo 2. Derivar consultas a partir de los mismos (los TT pueden ser t´erminos, frases o hashtags entonces es necesario mapearlos en un query) 3. Analizar la evoluci´ on de estos queries usando el servicio de Google Trends, aplicando una serie de m´etricas que intentan capturar su comportamiento. 3.1.

M´ etricas

Para analizar la evoluci´ on de las consultas e intentar establecer indicios de que los TT influyen (aumentan) el volumen de consultas a un motor de b´ usqueda se proponen tres m´etricas que capturan aspectos diferentes: 1. Variaci´ on del inter´ es (V ar): es la variaci´on porcentual del inter´es de la consulta derivada para un trending topic. Formalmente se define del siguiente modo: sea I(n, qti ) el inter´es en el query q asociado al trending topic ti en el d´ıa n (d´ıa en que el tema se convierte en trending topic), entonces la variaci´on porcentual respecto al d´ıa anterior (n−1) est´a dada por la siguiente ecuaci´on: V ar(n, qti ) = 100

I(n, qti ) − I(n − 1, qti ) I(n − 1, qti )

(1)

En el caso que I(n, qti ) = 0 y I(n − 1, qti ) = 0, V ar(n − 1, qti ) = 0; y para el caso que I(n, qti ) 6= 0 y I(n − 1, qti ) = 0, V ar(n, qti ) = 100I(n, qti ). Esta m´etrica, intenta capturar el hecho de que si los TT influyen en el volumen de consultas, entonces debe existir una gran diferencia en el inter´es en dicha consulta entre cuando el tema es TT y cuando no. 2. Cambio de tendencia (T ): es la cuantificaci´on del cambio en la tendencia que experimenta cierta consulta derivada cuando el tema se convierte en TT, respecto a su tendencia en los siete d´ıas anteriores. Formalmente, si qti es la consulta derivada para el trending topic ti en el d´ıa n, mqti (x, y) es la pendiente de la l´ınea de tendencia para la consulta qti entre los d´ıas x e y, entonces el cambio en la tendencia se define como: T (qti ) =

mqti (n − 6, n) − mqti (n − 7, n − 1) |mqti (n − 7, n − 1)|

(2)

En consecuencia debe cumplirse que, para una consulta que viene experimentando inter´es creciente, T (qti ) sea significativa para poder afirmar que el cambio fue consecuencia de que el tema sea trending topic.

975


3. Detecci´ on de picos: es la aplicaci´on de un algoritmo de detecci´on de picos (burst detection) como el presentado en [12]. Dicha publicaci´on plantea que para descubrir regiones con valores “pico” en una serie temporal, debe calcularse la media m´ ovil (MA) y tomar como valores pico aquellos que superen x desv´ıos est´ andar sobre el valor medio de MA. Por lo tanto, aqu´ı se lo utilizar´ a con el fin de plasmar que en el d´ıa que un tema es trending topic, deber´ıa registrarse un pico en el inter´es de su consulta asociada. 3.2.

Datos utilizados

Para obtener los TT se utiliz´o la API REST de Twitter 4 y se consideraron solo los TT para Argentina (no personalizados). Se realizaron dos capturas. La primera, a la que llamaremos C1 [9], fue realizada entre el 05/12/2012 y el 12/12/2012 (7 d´ıas). La segunda, (C2 ), fue generada entre el 06/03/2013 y el 20/03/2013 (14 d´ıas). En ambas ocasiones, los TT fueron obtenidos a intervalos de 5 minutos aproximadamente (por l´ımites impuestos por el proveedor del servicio). Bajo dichas condiciones, en el caso de C1 se obtuvieron 2002 muestras de 10 TT. Eliminando los duplicados en todo el per´ıodo de captura, se obtuvo un total de 573 TT y eliminando solo las repeticiones del mismo d´ıa se obtuvo un total de 727 TT. En el caso de C2 , se capturaron 3954 muestras de 10 TT. Eliminando duplicados en todo el per´ıodo de captura se obtuvieron 956 TT y quitando solo las repeticiones del mismo d´ıa se obtuvieron 1422 TT. 3.3.

Derivaci´ on de consultas

Este aspecto es muy importante en lo que respecta a los objetivos del trabajo. Como se mencion´ o, la estructura de los TT no es similar a la de las consultas a un motor de b´ usqueda y para un treding topic se pueden derivar varios queries. Adem´ as, puede no quedar claro qu´e consulta puede derivarse o las resultantes pueden ser ambiguas (podr´ıa emplearse sus tweets correspondientes para intentar desambiguar). En el caso de los hashtags, puede ser dif´ıcil extraer los t´erminos. Tambi´en es importante tener en cuenta que, seg´ un [10], los queries realizados en el sistema de b´ usqueda de Twitter difieren en longitud, en funci´on y en sintaxis respecto a los de un motor de b´ usqueda (ambos son free-text queries, pero en Twitter, ’#’ y ’@’ tienen significados especiales). En consecuencia, parece no ser adecuado emplear la consulta asociada a cada TT que devuelve la API de Twitter. Una cuesti´ on importante, tambi´en aportada en dicha publicaci´on, es que gran parte (45.95 %) del conjunto intersecci´on entre los queries formulados en Twitter y en la barra de b´ usqueda de Bing son informacionales y acerca de celebridades. Teniendo en cuenta lo anterior, se dise˜ n´o un procedimiento para derivar las consultas haciendo uso de los siguientes criterios: si el trending topic es una frase o un t´ermino, entonces la consulta es dicha frase o t´ermino. En el caso que sea un hashtag, se elimina el # y se intenta separar los t´erminos haciendo uso de 4

https://dev.twitter.com/docs/api

976


las may´ usculas (camelcase) y los n´ umeros. Si no se dispone de may´ usculas, se utiliza la primera sugerencia de Google (se consulta al motor de b´ usqueda) que normalmente obtienen los usuarios a medida que van escribiendo su consulta. Si no existen sugerencias, se ejecuta el TT en Google y se toma la b´ usqueda sugerida. En caso de no existir tal sugerencia, se toma como consulta el hashtag (sin el #). 3.4.

Obtenci´ on de datos de tendencias de b´ usqueda

Para analizar los cambios en la popularidad de las consultas derivadas se requiere alguna fuente de informaci´on que disponga de los datos correspondientes a los queries derivados de los TT. Dado que no es posible tener acceso al log de consultas de un buscador web (menos a´ un en un per´ıodo puntual), se opt´o por utilizar los datos del servicio Google Trends. Este servicio permite ejecutar una consulta y obtener la evoluci´on del inter´es a lo largo del tiempo fijando una ventana temporal. Si bien la documentaci´on5 de la herramienta no especifica el m´etodo exacto para calcular los valores que devuelve, se sabe que los datos reflejan el n´ umero de b´ usquedas de un t´ermino en comparaci´on al total de b´ usquedas realizadas en Google a lo largo del tiempo6 . Adem´as, los datos est´an normalizados y son presentados en una escala de 0 a 100, donde el valor 0 se corresponde a la falta de datos (el servicio solo muestra los datos de los t´erminos que sobrepasen un cierto l´ımite en los vol´ umenes de b´ usqueda). Luego, para cada query derivado de cada TT del conjunto de cada d´ıa, tanto de C1 como de C2 , se consult´o la informaci´on empleando una ventana temporal de 30 d´ıas y el filtro de datos para Argentina7 . Seg´ un la magnitud del volumen de b´ usquedas, la cantidad de puntos retornados por la herramienta puede variar. Para C1 , 314 TT (43 % del total) obtuvieron 29 observaciones (puntos). En el caso de C2 , el 55 % (788 TT) obtuvo 26 puntos. En ambos casos, la cantidad de observaciones retornadas por las consultas restantes no se consideran suficientes para los experimentos que aqu´ı se proponen.

4. 4.1.

Experimentos & Resultados Variaci´ on del Inter´ es

Para cada TT se calcul´ o la primera m´etrica (Ecuaci´on 1). Luego, se calcul´o la cantidad de consultas que tuvieron inter´es creciente, decreciente y constante. La Tabla 1 resume los resultados obtenidos tanto para C1 como para C2 . De all´ı, es importante destacar, que en ambos casos m´as del 65 % muestra un inter´es creciente. En la Tabla 2 se muestra el detalle. Se puede apreciar que en aproximadamente la mitad de los casos, el crecimiento fue del 50 % o superior. 5 6 7

http://support.google.com/trends/?hl=es#topic=13762 http://support.google.com/trends/answer/87285?hl=es&ref topic=13975 Para poder cumplir con los t´erminos del uso del servicio se solicit´ o colaboraci´ on a un grupo de estudiantes entre quienes se reparti´ o la tarea.

977


Porcentaje C1 C2 71,97 % 67,01 % 19,43 % 27,92 % 8,60 % 5,08 %

Tipo de variaci´ on Positivo Negativo Nulo

Tabla 1. Variaci´ on en el inter´es respecto al d´ıa anterior.

En la figura 1 se muestra el crecimiento acumulado para ambas capturas, las cuales presentan comportamientos similares: alrededor del 30 % del total de trending topics con inter´es respecto al d´ıa anterior creciente, obtuvo un aumento de m´ as del 100 %. Sin embargo, pese a que un buen porcentaje de los TT obtiene un aumento significativo, hay que observar la tendencia que ven´ıan experimentando las consultas en una ventana temporal mayor. Si la misma es creciente y pronunciada, el hecho de que el tema sea tendencia no posee un gran efecto sobre la popularidad de la consulta.

100

Porcentaje de trending topics

Porcentaje con . Porcentaje de V ar(n, q ) > x ti crecimiento (x) C1 C2 10 13,72 % 18,94 % 20 10,18 % 10,04 % 30 13,27 % 10,04 % 40 6,64 % 5,87 % 50 4,42 % 7,58 % 60 5,75 % 6,44 % 70 4,87 % 3,41 % 80 5,75 % 3,60 % 90 0,44 % 3,03 % 100 5,75 % 1,70 % 200 10,18 % 10,23 % 300 4,42 % 4,17 % 400 2,21 % 2,27 % 500 3,54 % 0,95 % >500 8,86 % 11,73 %

C1 C2

10

1

0.1 1

10

100 Var(n,qt )

1000

10000

i

Tabla 2. Detalle del aumento del Figura 1. Funci´ on de distribuci´ on de la variainter´es respecto al d´ıa anterior. ci´ on en el inter´es respecto al d´ıa anterior.

4.2.

Cambio de tendencia de las consultas

Para cada consulta derivada se calcul´o la l´ınea de tendencia de los 7 d´ıas anteriores a que el tema fuera TT (tanto en C1 como en C2 ). En la Tabla 3 se presentan los resultados. Para ambas capturas se observa que m´as del 50 % de los TT analizados posee una tendencia creciente. Esto plantea dos cuestiones: por un lado, pueden existir casos en los que la consulta derivada ven´ıa experimentando una tendencia decreciente, pero el inter´es aument´o al convertirse su tema asociado en TT. Por el otro, al menos que el cambio en la popularidad sea lo “suficientemente grande” no puede considerarse como v´alida la hip´otesis. Por consiguiente, se elabor´ o la Figura 2 que relaciona a V ar(n, qti ) con la pendiente de la l´ınea de tendencia. El a´rea recuadrada es la que debe observarse, dado que idealmente, la nube de puntos deber´ıa estar ubicada cerca del eje de las abscisas y alejada del eje de las ordenadas. Esto implica, que son de inter´es aquellas

978


consultas derivadas de los TT que ven´ıan experimentando popularidad relativamente constante hasta que el tema se convirti´o en TT, momento en el cual se produce un aumento significativo en el inter´es. Obs´ervese que en la figura, la nube de puntos est´ a centrada en torno a V ar(n, qti ) ≈ 80 para ambas capturas y que la mayor densidad de puntos se encuentra en las pendientes con valores pertenecientes al intervalo [−5; 5]. Por lo tanto, existen casos donde se observa una tendencia decreciente en el inter´es y el d´ıa en que el tema se convirti´o en TT, dicho inter´es creci´ o abruptamente. Tendencia Creciente Decreciente Estacionaria

Porcentaje C1 C2 61,46 % 56,09 % 34,71 % 37,56 % 3,82 % 6,35 %

Tabla 3. Tendencias de los 7 d´ıas previos a que un tema sea trending topic.

Observando espec´ıficamente las pendientes positivas, se encuentran casos en los cuales la variaci´ on porcentual de inter´es dada por la primer m´etrica es grande en comparaci´ on al crecimiento que deber´ıa esperarse dada la pendiente de la l´ınea de tendencia y viceversa. Es importante aclarar que la tendencia que experimenta una consulta en los u ´ltimos 7 d´ıas no se corresponde necesariamente con la tendencia considerando una ventana temporal mayor. Por ejemplo, podr´ıa darse el caso de un query cuya popularidad evolucione de forma c´ıclica, con un per´ıodo mayor a la ventana temporal actualmente considerada. El an´alisis de estos casos se deja para trabajos futuros. Los resultados de la segunda m´etrica se muestran en la Tabla 4. Para C1 , en aproximadamente en el 40 % de los casos, el crecimiento de la pendiente es de al menos dos veces la pendiente de la recta que no considera el d´ıa en el que el tema fue trending topic. En cambio para C2 , en el 33 % de los casos aproximadamente T (qti ) > 2. Nuevamente, la ventana temporal empleada puede influir en los resultados. Si bien la figura no permite afirmar que la hip´otesis se cumple para todos los casos, muestra que existen casos para los que pareciera que s´ı se cumple. Por otro lado, el an´alisis del cambio en la pendiente plasmado por la segunda m´etrica parece reforzar lo previamente dicho. T (qti ) < -0.5 <0 < 0.5 <1 < 1.5 <2 < 2.5 <3 <5 < 10 ≥ 10

Porcentaje C1 C2 5,31 % 12,12 % 3,98 % 6,63 % 11,50 % 14,20 % 15,49 % 15,34 % 12,83 % 8,52 % 10,62 % 10,04 % 4,87 % 3,60 % 3,98 % 3,41 % 9,29 % 7,95 % 9,73 % 9,47 % 12,39 % 8,71 %

Tabla 4. Relaci´ on entre pendientes.

979


30

C1 C2

25 20

Pendiente

15 10 5 0 −5 −10 −15 0

200

400

600

800

1000

Var(n,qt ) i

Figura 2. Relaci´ on entre la pendiente de la l´ınea de tendencia del inter´es en la consulta en los 7 d´ıas anteriores a que el tema sea TT y la m´etrica determinada por la Ecuaci´ on 1.

4.3.

Detecci´ on de picos

Por u ´ltimo se ejecut´ o el algoritmo de detecci´on de picos sobre C1 y C2 , utilizando la configuraci´ on recomendada en [12], es decir, una ventana de 7 d´ıas y x = 1,5. En el caso de C1 , del total de TT para los que se cuenta con suficientes datos, 162 (51,6 %) tuvieron un pico en el inter´es el d´ıa que fueron TT. En el caso de C2 , 297 (37,69 %). La Figura 3 muestra el caso del trending topic “Papa Francisco”, del cual se deriv´o el query “papa francisco”. Esta consulta tuvo un pico en el inter´es el d´ıa en que su tema asociado fue trending topic. La Figura 4 muestra un caso donde no se identific´o un pico de inter´es en la consulta. En ambas gr´ aficas puede observarse la evoluci´on de la media m´ovil hasta el d´ıa en que el tema fue trending topic y el umbral (cutoff ) para considerar un pico en el inter´es. Es curioso observar que, en el caso de la Figura 4, el pico se produce un d´ıa despu´es que el tema fue trending topic. En realidad, el tema apareci´o como TT aproximadamente a las 22 hs. (22:09:38 es la hora exacta en la que aparece el primer registro), con lo cual se puede suponer que parte del tr´afico va a estar contenido en el d´ıa siguiente. Por lo tanto, se procedi´o a analizar tambi´en el d´ıa siguiente. Los resultados muestran que la cantidad de consultas que obtienen un pico de inter´es se incrementa en un 7,6 % para C1 y un 6,7 % para C2 . Esto sugiere que debe estudiarse la duraci´on de los TT. [7] y [9] presentan resultados de dicho estudio. Teniendo esto presente, se hace evidente la necesidad de estudiar

980


100

100

Media móvil Cutoff

60

60 Interés

80

Interés

80

Media móvil Cutoff

40

40

20

20

0 02/23

03/02

03/09

03/16

03/23

03/30

0 11/17

11/24

12/01

12/08

12/15

12/22

Figura 3. Trending topic de C2 cuyo query Figura 4. Trending topic de C1 cuyo query obtuvo un pico en el inter´es. no obtuvo un pico en el inter´es.

el aumento del tr´ afico en relaci´on a la duraci´on del TT, cuesti´on que se deja abierta para trabajos futuros. Esto es importante, dado que debe verificarse que la duraci´ on de un trending topic sea suficiente como para generar el tr´afico necesario para alterar de forma abrupta la tendencia que ven´ıa experimentando la consulta.

5.

Discusi´ on y Trabajos Futuros

En este trabajo se intenta determinar el efecto de la aparici´on de informaci´on de tendencias en las redes sociales respecto de las consultas enviadas a un motor de b´ usqueda web. Para ello, se utilizan los trending topics de la red Twitter y la informaci´ on de tendencias de b´ usqueda provista por Google como m´etodo indirecto, ya que no existe la posibilidad de obtener los archivos log de las consultas. Se proponen tres m´etricas que intentan capturar diferentes aspectos: variaci´ on porcentual, tendencia y picos. Los resultados presentan indicios de que los trending topics se utilizan luego para consultas al buscador. En particular, aproximadamente el 65 % de las consultas muestran un aumento del inter´es (tendencia) cuando son TT e - inclusive - entre el 44 % y 59 % obtienen el pico de inter´es en ese mismo d´ıa o el siguiente. Estos resultados se consideran indicios positivos respecto de la hip´ otesis planteada aunque al momento y con los datos disponibles no se puede cuantificar. Entonces, se abre la posibilidad de varios trabajos futuros: por un lado, seguir desarrollando m´etodos indirectos para obtener m´as informaci´on de otros sistemas similares y poder realizar mediciones con mayor grado de precisi´on. Esto incluye diferentes enfoques (por ej. sem´anticos) para obtener las consultas relacionadas a un TT. Adem´as, debe estudiarse qu´e sucede luego de finalizado el per´ıodo en el cual un tema es trending topic. Por otro lado, explotar esta relaci´on para optimizar dos de los mecanismos principales utilizados por los servicios de b´ usqueda de gran escala como el caching y el prefetching de resultados. De esta manera, se podr´ıan anticipar peticiones en momentos de menor actividad y disminuir las posibilidades de sobrecarga.

981


Referencias 1. Agarwal, S.; Agarwal, S. Social networks as Internet barometers for optimizing content delivery networks. In 3rd International Symposium on Advanced Networks and Telecommunication Systems (ANTS). 2009. 2. Asur, S.; Huberman, B. A.; Szabo, G.; Wang, C. Trends in social media: Persistence and decay. In 5th International AAAI Conference on Weblogs and Social Media. 2011. 3. Callan, J.; Connel, M. Query-based sampling of text databases. In ACM Transactions on Information Systems, v. 19, n. 2, pp. 97-130. 2001. 4. Java, A.; Song, X.; Finin, T.; Tseng B. Why we twitter: understanding microblogging usage and communities. In Proceedings of the 9th WebKDD and 1st SNAKDD 2007 workshop on Web mining and social network analysis (WebKDD/SNAKDD ’07), pp. 56-65. 200 5. Jonassen, S.; Barla Cambazoglu B.; Silvestri F. Prefetching query results and its impact on search engines. In Proceedings of the 35th international ACM SIGIR conference on Research and development in information retrieval (SIGIR ’12), pp. 631-640. 2012. 6. Krishnamurthy, B.; Gill, P.; Arlitt M. A few chirps about twitter. In Proceedings of the first Workshop on Online Social Networks (WOSN ’08), pp. 19-24. 2008. 7. Kwak, H.; Lee, C.; Park, H.; Moon, S. What is Twitter, a social network or a news media?. In Proceedings of the 19th international conference on World Wide Web (WWW ’10), pp. 591-600. 2010. 8. Luo S. Federated search of text search engines in uncooperative environments. PhD Thesis. Carnegie Mellon University. 2006. 9. Ricci, S.Impacto de las Redes Sociales en la Popularidad de las Consultas a Motores de B´ usquedas. Jornadas Argentinas de Informatica. JAIIO 2013. 10. Teevan, J.; Ramage, D.; Ringel Morris, M. #TwitterSearch: a comparison of microblog search and web search. In Proceedings of the fourth ACM international conference on Web Search and Data Mining (WSDM ’11), pp. 35-44. 2011. 11. Tolosa G. H.; Feuerstein E. Mejoras algor´ıtmicas y estructuras de datos para b´ usquedas altamente eficientes. En Proceedings del XIV Workshop de Investigadores en Ciencias de la Computaci´ on (WICC 2012), p. 740-744. 978-950-766-082-5. 2012. 12. Vlachos, M.; Meek, C.; Vagena, Z.; Gunopulos, D. Identifying similarities, periodicities and bursts for online search queries. In Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data (SIGMOD ’04), pp. 131-142. 2004. 13. Wang, X.; Wei, F.; Liu, X.; Zhou, M.; Zhang, M. Topic sentiment analysis in twitter: a graph-based hashtag sentiment classification approach. In Proceedings of the 20th ACM international conference on Information and Knowledge Management (CIKM ’11) pp. 1031-1040. 2011. 14. Xinfan M.; Furu W.; Xiaohua L.; Ming Z.; Sujian L.; Houfeng W. Entity-centric topic-oriented opinion summarization in twitter. In Proceedings of the 18th ACM SIGKDD international conference on Knowledge Discovery and Data Mining (KDD ’12), pp. 379-387. 2012.

982


Propuesta de Métricas para Proyectos de Explotación de Información Diego Basso1,2, Darío Rodríguez3, Ramón García-Martínez3 1. Grupo de Investigación en Ingeniería. Departamento de Ingeniería e Investigaciones Tecnológicas. Universidad Nacional de La Matanza 2. Programa de Maestría en Ingeniería de Sistemas de Información. UTN-FRBA 3. Laboratorio de Investigación y Desarrollo en Ingeniería de Explotación de Información. Grupo de Investigación en Sistemas de Información. Universidad Nacional de Lanús. diebasso@yahoo.com.ar, drodrigu@unla.edu.ar, rgm1960@yahoo.com

Resumen. Los proyectos de explotación de información requieren de un proceso de planificación que permita estimar sus tiempos y medir el avance del producto en cada etapa de su desarrollo y calidad del mismo. Las métricas usuales para realizar una estimación no se consideran adecuadas ya que los parámetros a ser utilizados son de naturaleza diferentes y no se ajustan a sus características particulares. En este contexto, se plantea una propuesta de métricas aplicables al proceso de desarrollo de Proyectos de Explotación de Información, siguiendo los lineamientos del Modelo de Procesos para Proyectos de Explotación de Información para PyMEs. Palabras claves: Métricas. Explotación de Información. Modelo de Procesos

1. Introducción En la Ingeniería de Software, los proyectos de desarrollo tradicionales aplican una amplia diversidad de métricas e indicadores a distintos atributos y características de los productos y procesos del desarrollo, con el fin de garantizar la calidad del software construido. En el ámbito de la Ingeniería en Conocimiento, especialmente en el desarrollo de sistemas expertos o sistemas basados en conocimientos, mediante la medición de la conceptualización se puede estimar actividades futuras y obtener información del estado de madurez del conocimiento sobre el dominio y sus particularidades [Hauge et al., 2006]. Estas métricas de madurez de conceptualización para Sistemas Expertos aplicadas en [Pollo-Cattaneo, 2007] brindan además información sobre la complejidad del dominio. Los Proyectos de Explotación de Información también requieren de un proceso de planificación que permita estimar sus tiempos y medir el avance del producto en cada etapa de su desarrollo y calidad del mismo. Sin embargo, dada las diferencias que existen con un proyecto clásico de construcción de software, las métricas usuales para realizar una estimación no se consideran completamente adecuadas ya que los parámetros a ser utilizados son de naturaleza diferentes y no se ajustan a sus características particulares.

983


Este trabajo tiene como objetivo presentar una propuesta de métricas aplicables al proceso de desarrollo de proyectos de Explotación de Información propuesto en [Vanrell, 2011] para PyMEs. Para ello, primero se realiza una introducción a las características del proceso de desarrollo mencionado, los procesos de explotación de información basados en sistemas inteligentes y la categorización definida en el método DMCoMo para agrupar dichas características (sección 2); luego se delimita el problema (sección 3) presentando una propuesta de solución (sección 4) y las consideraciones para la validación de la propuesta (sección 5), finalizando con la puntualización de algunas conclusiones parciales (sección 6).

2. Estado de la Cuestión En esta sección se introduce el proceso de desarrollo para proyectos de Explotación de Información (sección 2.1), los procesos de explotación de información basados en sistemas inteligentes (sección 2.2) y el método de estimación desarrollado para este tipo de proyectos - DMCoMo (sección 2.3). 2.1. Proceso de desarrollo para proyectos de Explotación de Información Las etapas de desarrollo de los proyectos de Explotación de Información no coinciden naturalmente con las etapas mediante las cuales se desarrollan los proyectos de software tradicionales. El modelo de procesos para proyectos de Explotación de Información propuesto en [Vanrell, 2011] plantea dos procesos principales: uno vinculado a la administración de proyectos de explotación de información y otro relacionado con el desarrollo del proyecto. Para el interés de este trabajo, nos centraremos en el segundo de los procesos mencionados, cuyos subprocesos y tareas están definidas a partir de las fases de desarrollo planteadas por la metodología CRISP-DM. Estos subprocesos son: Entendimiento del Negocio, Entendimiento de los Datos, Preparación de los Datos, Modelado, Evaluación y Entrega. Claramente estos subprocesos difieren de las etapas definidas para un proyecto de desarrollo de software tradicional (inicio, requerimientos, análisis y diseño, construcción, integración y pruebas y cierre). 2.2. Procesos de Explotación de Información basados en sistemas inteligentes En el trabajo realizado por [Britos, 2008] se proponen cinco procesos de explotación de información que podrían aplicarse a la etapa de Modelado del proceso de desarrollo propuesto por [Vanrell, 2011]. Estos procesos son: Proceso de Descubrimiento de Reglas: permite identificar condiciones para obtener resultados del dominio del problema. Proceso de Descubrimiento de Grupos: permite identificar una partición dentro de la información disponible dentro del dominio de un problema.

984


Proceso de Ponderación de Interdependencia de Atributos: se utiliza cuando se desea identificar los factores con mayor incidencia sobre un determinado resultado de un problema. Proceso de Descubrimiento de Reglas de Pertenencia a Grupos: permite identificar las condiciones de pertenencia a cada una de las clases en una partición desconocida pero que se encuentra presente en la masa de información disponible sobre el dominio del problema. Proceso de Ponderación de Reglas de Comportamiento o de Pertenencia a Grupos: se utiliza cuando se requiere identificar las condiciones con mayor incidencia sobre la obtención de un determinado resultado en el dominio del problema, ya sea por la mayor medida en la que inciden sobre su comportamiento o las que mejor definen la pertenencia a un grupo. A su vez, entre las tecnologías de sistemas inteligentes aplicadas a la explotación de información [García Martínez et al., 2003] se encuentran: los algoritmos de inducción o TDIDT, los mapas auto organizados de Kohonen o SOM (Self Organized Maps) y las redes bayesianas [Britos, 2008]. 2.3. Método de Estimación para Proyectos de Explotación de Información (DMCoMo) En [Marbán, 2003] se define un método analítico de estimación para proyectos de explotación de información el cual se denomina “Matemático Paramétrico de Estimación para Proyectos de Data Mining” (en inglés Data Mining COst MOdel, o DMCoMo). Este método, validado y desarrollado a través de una herramienta de software en [Pytel, 2011], permite estimar los meses/hombre que serán necesarios para desarrollar un proyecto de explotación de información desde su concepción hasta su puesta en marcha. Para realizar la estimación se definen seis categorías [Marbán, 2003] para vincular las características más importantes de los proyectos de explotación de información. Estas categorías son las siguientes: Datos, Modelos, Plataforma, Técnicas y Herramientas, Proyecto y Personal (Staff del Proyecto).

3. Definición del Problema Al igual que en los proyectos de desarrollo de software tradicionales, los proyectos de Explotación de Información requieren de un proceso de planificación que permita estimar sus tiempos y medir el avance del producto en cada etapa de su desarrollo y calidad del mismo. Sin embargo, dada las diferencias que existen entre un proyecto clásico de construcción de software y un proyecto de explotación de información, las métricas usuales para realizar una estimación no se consideran completamente adecuadas ya que los parámetros a ser utilizados son de naturaleza diferentes y no se ajustan a sus características particulares, por ejemplo cantidad de fuentes de información, nivel de integración de los datos, el tipo de problema a ser resueltos, entre las más representativas de este tipo de proyectos. Como se mencionó en la sección anterior, el modelo de procesos para proyectos de Explotación de Información

985


propuesto en [Vanrell, 2011] plantea dos procesos principales: el proceso de administración de proyectos y el de desarrollo de proyectos de explotación de información. El proceso de administración de proyectos, se encarga de recolectar información necesaria para aumentar la calidad del proceso de desarrollo permitiendo realizar ajustes en el mismo y mantener un estándar en la realización de proyectos. Sin embargo, no plantea qué métricas utilizar para evaluar la calidad del proceso de desarrollo en este tipo de proyectos.

4. Solución Propuesta En base a la categorización que en [Marbán, 2003] se realiza sobre el modelo de estimación DMCoMo, se plantea la utilización de aquellas categorías que sean aplicables al proceso de desarrollo de proyectos de Explotación de Información [Vanrell, 2011] como forma de clasificación de las métricas propuestas, focalizado este proceso en proyectos pequeños [Pytel, 2011] que son los que usualmente requieren las PyMEs. Estas métricas a su vez, se orientan a procesos de explotación de información que utilizan tecnologías de sistemas inteligentes. 4.1. Métricas de Datos A partir del proceso de desarrollo de proyectos de Explotación de Información [Vanrell, 2011], se han considerado métricas de datos para las tareas que se indican en la tabla 1. Tabla 1. Propuesta de Métricas de Datos Subproceso: Entendimiento de los Datos Tarea: Reunir los datos iniciales Métricas Propuestas NT = Número total de fuentes de datos (tablas) necesarias para el proyecto. Se incluyen tablas internas y externas. NA (T)1 = Número de atributos en la tabla T.

i

NTA = Número total de atributos de las tablas. NTA =

∑ NA(Ti ) 1

NR (T)1, 2= Número de registros de la tabla T.

Nota 1 – Métrica utilizada en la tarea: Explorar los datos y Limpiar los datos Tarea: Explorar los datos Métricas Propuestas NVN (T) = Número de valores nulos o faltantes en la tabla T. NANR (T) = Número de atributos nulos o faltantes del registro R en la tabla T. NCT (T) = Nivel de compleción de la tabla T. Mide el grado de compleción que tiene la tabla. NCT(T) = 1 −

NVN(T)

NR (T) DANR (T) = Densidad de atributos nulos o faltantes de un registro en la tabla T. Mide la proporción de atributos nulos o NANR (T) faltantes que tiene un registro R en la tabla T. DANR(T ) = NA (T) Tarea: Verificar la calidad de los datos Métricas Propuestas NAN (T) = Número de atributos a normalizar (transformados para su utilización) en la tabla T. NVE (A) = Número de valores erróneos del atributo A en la tabla. NVE( A ) GIA (A) = Grado de integridad de un atributo A. GIA ( A ) = 1 − NR( A ) donde NR es el número de registros que tiene el atributo A.

986


NRN (T) = Número de registros con atributos nulos o faltantes en la tabla T. NRDE (T) = Número de registros con valores de atributos erróneos en la tabla T. Mide el nivel de precisión en los datos. NRVD (T) = Número de registros con valores duplicados en la tabla T. NRD (T) = Número de registros defectuosos en la tabla T. NRD(T) = NRN(T) + NRDE(T) + NRVD(T)

GVRT (T) = Grado de validación de los registros de la tabla T. Mide el porcentaje de registros válidos obtenidos. Se NR(T ) − NRD(T ) * 100 recomienda que la validación obtenida sea al menos de 75%. GVRT(T) = NR(T ) NVD = Nivel de volatilidad de los datos. Mide la frecuencia con que se cambian los datos en el tiempo [0: no varían – 1: baja volatilidad – 2: volatilidad media – 3: alta volatilidad - 4: gran volatilidad] Subproceso: Preparación de los Datos Tarea: Seleccionar los datos Métricas Propuestas NAU (T) = Número de atributos útiles (significativos para el proyecto) y que no necesitan modificarse en la tabla T. NAM (T)3 = Número de atributos útiles que se deben modificar (se incluye los atributos a normalizar) en la tabla T. Nota 3 – Métrica utilizada en la tarea: Limpiar los datos Tarea Limpiar los datos Métricas Propuestas NRE (T) = Número de registros eliminados en la tabla T. NAE (T) = Número de atributos a eliminar (no significativos para el proyecto) en la tabla T. GUT (T)4 = Grado de utilidad de la tabla T. Mide el porcentaje de atributos útiles de la tabla T para el proyecto. A cada atributo se le asigna un peso según su estado de utilidad (útiles = 0 / modificados = 0,5 / eliminados = 1) NA (T) − (NAE(T) + 0,5 * NAM(T) ) GUT(T ) = * 100 NA (T) 4 Nota – Métrica utilizada en la tarea: Integrar los datos Tarea: Construir los datos Métricas Propuestas NANI (TI) = Número de atributos nuevos a agregar en la integración de una única tabla TI. Tarea: Integrar los datos Métricas Propuestas NR (TI) = Número de registros de la tabla integrada. GUTAP = Grado de utilidad total de los atributos para el proyecto. Esta métrica mide el nivel de integración de todos los

i

atributos disponibles en una única tabla. GUTAP =

∑ GUT(Ti ) 1

Si 0 <GUTAP < 40% los atributos no son usables. Si 41% <GUTAP< 80% los atributos son aceptablemente usables. Si 81 <GUTAP< 100% los atributos son muy usables.

4.2. Métricas de Modelos En los proyectos de Explotación de Información es necesario evaluar la calidad de los modelos obtenidos de la manera más precisa que sea posible, para garantizar la aplicación de los mismos. Al no existir un modelo mejor que otro de manera general, para cada problema nuevo es necesario determinar con cuál se pueden obtener mejores resultados. A partir de los procesos de explotación de información definidos en [Britos, 2008] y según su tarea de descubrimiento, se pueden clasificar los modelos en: Descubrimiento de Grupos, Descubrimiento de Reglas y Descubrimiento de Dependencias Significativas. A continuación se realiza una breve descripción de cada uno de estos modelos, las técnicas de sistemas inteligentes aplicables y se presentan los criterios escogidos para la evaluación de los modelos. Descubrimiento de Grupos: Tiene por objetivo la separación de los datos en grupos (clusters) o clases basándose en la similitud de los valores de sus atributos. Todos los elementos del grupo deben tener características comunes pero a su vez entre los grupos los objetos deben ser diferentes [Britos, 2008]. Dentro de las

987


tecnologías inteligentes apropiadas para realizar agrupamiento están los mapas auto organizados de Kohonen (SOM – Self Organized Map, por sus siglas en inglés). Al construir un modelo de agrupamiento basado en mapas auto organizados, se define el número de grupos a priori, generando la necesidad de evaluar diferentes topologías para escoger de entre todas la mejor sub-óptima para la solución del problema. Estos mapas se basan en el aprendizaje no supervisado y competitivo. El factor de calidad del modelo generado está basado en el número de grupos que se definen al inicio, ya que al establecerse anticipadamente puede limitar la calidad de agrupamiento del algoritmo, y al ser una tarea de análisis exploratorio, no se sabe con precisión cuantos grupos pueden contener los datos. Descubrimiento de Reglas: Es uno de los modelos más importantes de de la explotación de información. Se utiliza para encontrar las reglas de clasificación de un conjunto de elementos con base en los valores de sus atributos. El objetivo es lograr modelos de clasificación (expresados en reglas) que determinen correctamente la clase ante elementos no previstos anteriormente [Britos, 2008]. Los algoritmos mayormente utilizados para las tareas de clasificación son los algoritmos de inducción TDIDT (ID3, C4.5 y C5). Para evaluar un modelo de clasificación existen diversas métricas, sin embargo no es aconsejable emplear una sola de ellas ya que es común que una técnica de clasificación presente buenos resultados en una métrica y malos en otra. Por otra parte, al momento de aplicar las técnicas de clasificación se debe tener en cuenta cómo están distribuidos los elementos respecto a la clase o cluster. Puede ocurrir que al no estar balanceadas las clases los clasificadores estén sesgados a predecir un porcentaje más elevado de la clase más favorecida. Las métricas propuestas para evaluar un modelo de clasificación estarán basadas en la matriz de confusión que se obtiene cuando se prueba el clasificador en un conjunto de datos que no intervienen en el entrenamiento. Una matriz de confusión permite conocer la distribución del error a lo largo de las clases o clusters, cuando se prueba un clasificador en un conjunto de datos que no intervienen en el entrenamiento. Una matriz de confusión general tiene la siguiente estructura:

Clase (cluster) real

Si No

Clase (cluster) predicha Si No Verdaderos Falsos Positivos (VP) Negativos (FN) Falsos Verdaderos Positivos (FP) Negativos (VN)

Totales Total Positivos Reales (TPR) Total Negativos Reales (TNR)

Los valores que se encuentran a lo largo de la diagonal principal de la matriz, representan las clasificaciones correctas y los que están a lo largo de la diagonal secundaria representan los errores (la confusión) entre las clases. Descubrimiento de Dependencias Significativas: Consiste en encontrar modelos que describan dependencias o asociaciones significativas entre los datos. Las dependencias pueden ser usadas como valores de predicción de un dato, teniendo información de los otros datos. El análisis de dependencias tiene relación con la clasificación y la predicción, donde las dependencias están implícitamente usadas para la formulación de modelos predictivos [Britos, 2008]. Dentro de las técnicas de sistemas inteligentes apropiadas para realizar análisis de dependencias se encuentran las Redes Bayesianas. Si bien las redes bayesianas pueden utilizarse

988


dentro de los modelos de clasificación, hasta el momento no se han encontrado métricas significativas que establezcan un criterio adecuado de evaluación de dependencias ni de ponderación de atributos significativos. Los modelos descriptos se corresponden con procesos de explotación de información basados en tecnologías de sistemas inteligentes unitarias [Britos, 2008]. En el caso del proceso de Descubrimiento de Reglas de Pertenencia a Grupos se necesita aplicar una combinación de los modelos de Descubrimiento de Grupos y Descubrimiento de Reglas; y en el caso del proceso de Ponderación de Reglas de Comportamiento o de Pertenencia a Grupos una combinación de los modelos de Descubrimiento de Grupos, Descubrimiento de Reglas y Descubrimiento de Dependencias Significativas, respectivamente. A partir del proceso de desarrollo de proyectos de Explotación de Información [Vanrell, 2011] y de la clasificación de los modelos establecida anteriormente, se han considerado métricas de modelos para las tareas que se indican en la tabla 2. Tabla 2. Propuesta de Métricas de Modelos Subproceso: Modelado Tarea: Seleccionar técnica de modelado Métricas Propuestas NM = Número de modelos a construir para el proyecto. NE (M) = Número de elementos (registros o casos) en el modelo M. NA (M) = Número de atributos en el modelo M. - PAN (M) = Porcentaje de atributos numéricos en el modelo M. - PANN (M) = Porcentaje de atributos no numéricos en el modelo M. Tarea: Generar el diseño del test Métricas Propuestas NEE (M) 5= Número de elementos a utilizar para el entrenamiento del modelo M. NEP (M) 5 = Número de elementos a utilizar para las pruebas del modelo M.

Nota 5 – Métrica utilizada en la tarea: Evaluar el modelo Tarea: Construir el modelo Métricas Propuestas NMDM (M) 6= Número de modelos de explotación de información aplicados para construir el modelo M. Los modelos pueden ser: descubrimiento de grupos, descubrimiento de reglas y descubrimiento de dependencias significativas. Esta métrica tomará el valor 1, 2 ó 3, según la cantidad de modelos aplicados. Nota 6 – Métrica utilizada en la tarea: Evaluar los resultados Tarea: Evaluar el modelo Métricas Propuestas o Modelo de Descubrimiento de Grupos NC (M) = Número de agrupamientos (cluster o clases) generados en el modelo M. NR (C) = Número de elementos agrupados en el cluster C. PR (C) = Porcentaje de elementos agrupados en el cluster C, respecto del total. NRP (C) = Número de elementos utilizados para las pruebas del cluster C. NEPE (M) = Número de elementos del conjunto de prueba del modelo M que fueron incorrectamente agrupados. TEMA (M) = Tasa de error del modelo de agrupamiento o clustering. Mide el porcentaje de elementos de prueba que fueron mal NEPE(M) TEMA (M) = * 100 NEE(M) + NEP(M) agrupados. TEMA (M) EMA (M) = 1 − 100 EMA (M) = Nivel de exactitud del modelo de agrupamiento. o

Modelo de Descubrimiento de Reglas VP (C) = Número de elementos positivos del cluster C clasificados correctamente. VN (C) = Número de elementos negativos del cluster C clasificados correctamente. FP (C) = Número de elementos negativos del cluster C clasificados incorrectamente. FN (C) = Número de elementos positivos del cluster C clasificados incorrectamente. IE (C) = Índice de pertenencia de un elemento al cluster C. Mide la probabilidad de que un elemento pertenezca a un VP(C) determinado cluster C. IE(C) = NR (C)

989


TPR (C) = Número total de elementos positivos reales del cluster C. TPR (C) = VP(C) + FN(C) TNR (C) = Número total de elementos negativos reales del cluster C. TNR (C) = FP(C) + VN(C) Acierto: es la proporción del número total de casos predichos que son correctos. Mide el nivel de certeza del modelo. VP + VN Acierto = TPR + TNR SMC (M) = Sensibilidad del modelo de clasificación. Mide la proporción de casos positivos que fueron identificados correctamente, es decir la probabilidad que un elemento de una clase o cluster sea clasificado correctamente en esa misma. VP SMC(M) = =TasadeVerdaderosPositivos TPR ESMC (C) = Especificidad del modelo de clasificación. Mide la proporción de casos negativos que fueron identificados correctamente, es decir, la probabilidad que un elemento de una clase o cluster sea clasificado correctamente en la misma. VN ESMC(C) = =TasadeVerdaderosNegativos TNR PMC (M) = Precisión del modelo de clasificación. Mide la proporción de los casos predichos positivos que son correctos, es decir, VP la probabilidad de que una predicción efectivamente corresponda con su valor real. PMC(M) = VP + FP EXMC (M): Exactitud del modelo de clasificación. Mide la proporción de casos correctamente predichos. VP + VN EXMC(M) = TPR + TNR FP + FN TPR + TNR Tasa de Falsos Positivos y Negativos: es la proporción de casos incorrectamente predichos. FP FN TasadeFalsosPositivos = TasadeFalsosNegativos = TNR TPR Medida F: es una medida estadística que combina las métricas de Precisión y Sensitividad para evaluar de forma más realista la 2 certeza del modelo. MedidaF = 1 1 + PMC(M) SMC(M)

Error ó Confusión: es la proporción de casos incorrectamente predichos. Error =

P( Acierto) − P(Error ) 1 − P(Error) donde P (Acierto) es el porcentaje de aciertos y P (Error) es el porcentaje de casos incorrectamente clasificados. Modelo de Descubrimiento de Dependencias Significativas En esta instancia de la investigación no se han encontrado métricas representativas para este modelo.

Coeficiente de Kappa: mide la precisión del modelo para predecir la clase o cluster verdadero. k =

o

4.3. Métricas de Proyecto Si bien en [Marbán, 2003] se definen las categorías que involucran las características más importantes de los proyectos de Explotación de Información, dentro de la cual se encuentra la categoría Proyecto, no se hace ninguna mención en ésta sobre los criterios de evaluación de los resultados obtenidos del proceso de minería de datos, para lograr un resultado exitoso del proyecto. Con lo cual, las métricas que se proponen para evaluar los resultados, se incluirán dentro de esta categorización. En la tarea de evaluación de los modelos, se estableció la métrica de exactitud como uno de los factores para evaluar la calidad de los modelos construidos. La exactitud de un modelo está relacionada con el grado de confiabilidad que tienen los resultados obtenidos frente al objetivo de minería de datos que se persigue y, en consecuencia, con el éxito del proceso de desarrollo del proyecto de explotación de información. Para definir la métrica que determina el éxito de un proyecto de explotación de información, se considerará el resultado de la métrica de exactitud para cada modelo M de minería de datos construido. A cada modelo M, se le asignará un peso según su nivel de exactitud, como se indica en la tabla 3:

990


Tabla 3. Pesos asociados a niveles de exactitud de modelos NIVEL DE EXACTITUD Muy Bajo

RANGO DE LA MÉTRICA 0 – 20%

PESO

Bajo

21 – 49%

0.25

Nominal

50 – 70%

0.5

Alto

71 – 90%

0.75

Muy Alto

> 90%

1

0

A partir del proceso de desarrollo de proyectos de Explotación de Información [Vanrell, 2011], se han considerado métricas de proyecto para las tareas que se indican en la tabla 4. Tabla 4. Propuesta de Métricas de Proyecto Subproceso: Evaluación Tarea: Evaluar los resultados Métricas Propuestas NM = Número de modelos construidos para el proyecto. NEM (M) = Nivel del exactitud del modelo M. Mide el nivel de exactitud de cada modelo construido para el proyecto de

explotación de información. NEM(M) =

∑ Exactitud _ Modelos(M) *100 NMDM(M)

donde Exactitud_Modelos son los niveles de exactitud obtenidos para cada clasificación de modelo de explotación de información (descubrimiento de grupos, descubrimiento de reglas y descubrimiento de dependencias significativas). A cada modelo M, se le asigna un peso según la tabla 4.

NMMA = Número de modelos clasificados como Muy Alto. NMA = Número de modelos clasificados como Alto. NMN = Número de modelos clasificados como Nominal. NMB = Número de modelos clasificados como Bajo. Éxito = Éxito del proceso de desarrollo. Mide el nivel de los resultados de minería de datos obtenidos respecto a los criterios de éxito del proyecto. Cuanto mayor sea el este valor, implicará una mayor aceptación por parte del usuario del NMMA + (NMA * 0.75) + (NMN * 0.5) + (NMB * 0.25) proyecto de explotación de información. Éxito = *100 NM

Tarea: Revisar el proceso Métricas Propuestas Si 0 <Éxito < 50% el proceso no responde a los criterios de éxito del problema de negocio. Si 51% <Éxito< 80% el proceso debe ser revisado y ajustado. Si 81 <Éxito< 100 el proceso cumple con los criterios de éxito del problema de negocio. Subproceso: Entrega Tarea: Producir un reporte final Métricas Propuestas GDE = Grado de documentación a entregar. Mide el esfuerzo necesario para producir la documentación durante el proyecto. Los valores pueden ser: - Bajo: Sólo para los documentos implantados - Nominal: Sólo para modelos generados - Alto: Todos los modelos (generados e implantados) y subprocesos del proceso de desarrollo. - Muy Alto – Todos los modelos (generados e implantados) y procesos del proyecto de explotación de información (administración y desarrollo).

5. Conclusiones Se definió una propuesta de métricas aplicable en proyectos de explotación de información para PyMEs, que permite evaluar su avance y calidad durante el proceso de desarrollo. Del trabajo realizado, surge que algunas tareas definidas en el proceso

991


de desarrollo [Vanrell, 2011] no permiten obtener métricas significativas que deban ser consideradas. Se prevé tener una primer validación de las metricas propuestas en el marco de los proyectos de explotación de información que desarrollan los alumnos en la Asignatura “Tecnologías para Explotación de Información” en la Carrera de Licenciatura en Sistemas de la Universidad Nacional de Lanús y en la Carrera de Ingeniería en Sistemas de Información de la Facultad Regional Buenos Aires de la Universidad Tecnológica Nacional. Como futura línea de trabajo se estima continuar con la definición de métricas aplicables a la ponderación de atributos en el Modelo de Dependencias para Explotación de Información, y la validación de la solución propuesta en experiencias de trabajo tanto académicas como reales.

6. Financiamiento Las investigaciones que se reportan en este artículo han sido financiadas parcialmente por el Proyecto de Investigación 33A167 de la Secretaria de Ciencia y Técnica de la Universidad Nacional de Lanús (Argentina); y por el Programa de Incentivos a la Investigación del Departamento de Ingeniería e Investigaciones Tecnológicas de la Universidad Nacional de La Matanza (Argentina).

7. Referencias Britos, P. 2008. Procesos de Explotación de Información Basados en Sistemas Inteligentes. Tesis Doctoral en Ciencias Informáticas. Facultad de Informática. Universidad Nacional de La Plata. García Martínez, R., Servente, M. y Pasquini, D., 2003. Sistemas Inteligentes. Editorial Nueva Librería. Buenos Aires. Hauge, O., Britos, P., García-Martínez, 2006. Conceptualization Maturity Metrics for Expert Systems. IFIP International Federation for Information Processing. Marbán, O. 2003. Modelo Matemático Paramétrico de Estimación para Proyectos de Data Mining (DMCoMo). Tesis Doctoral. Facultad de Informática. Universidad Politécnica de Madrid. Pollo Cataneo, M.F, 2007. Sistemas Expertos. Conceptualización y Métrica de Madurez. Trabajo Final de Especialidad en Ingeniería de Sistemas Expertos. ITBA Instituto Tecnológico de Buenos Aires. Pytel, P., 2011. Método de Estimación de Esfuerzo para Proyectos de Explotación de Información. Herramienta para su Validación. Tesis de Magister en Ingeniería del Software. Universidad Politécnica de Madrid. ITBA Instituto Tecnológico de Buenos Aires. Vanrell, J, 2011. Un Modelo de Procesos para Proyectos de Explotación de Información. Tesis de Magister en Ingeniería de Sistemas de Información. Facultad Regional Buenos Aires. Universidad Tecnológica Nacional.

992


Fractalizing Social Networks Silvia Cobialca, Juan M Ale Universidad Austral, Buenos Aires, Argentina silvia.cobialca@accenture.com, ale@acm.org

Abstract.Fractals are self-similar structures that exist widely in nature. We are aiming the current work to prove that social networks, although not a naturally generated structure but one created by humans within the World Wide Web, show a fractal behavior as well and as such, will experience a self-similar kind of evolution. In the present work we attempt to find through the study of fractal behavior, how the introduction of a new element in the social network will impact in the existing network structure and in the network growth. Also our main interest is into how the new node will start interacting with the existing communities in order to eventually build its own. Keywords: Social Networks, Fractals, fractal dimension, box dimension, adjacency matrix, fractal social models and algorithms.

1

Introduction

The main focus of this work is the idea of social networks as fractals and how to explore and elaborate from there in order to build new functionality useful to the study of their behavior over time. If social networks behave like fractals then, the existing network random generators would not apply to them as their randomness lose their meaning and we will need specific generators with proper parameters more suitable to be applied to fractal behavior. We show how fractal nature applies to social network structures and how their evolution can eventually be predicted by modeling upon them. To do so, our starting point is to reviewthe basics about networks in general and their parameters, measures, types and the existing models used to generate network structures, to later focus on social networks in particular. We also review fractal theory and its applications to be able to merge the two concepts together while working on the models. As a motivation, we noticed that current models for networks are based on randomness in a general way and sometimes such models donot take into account the nature of the network. In that sense, we consider that social interaction has a strong relevance that should be taken into account when studying models that will be used in the future for social networks. We base the present work on the basic structure of the social network and escalate from there in order to formulate the prediction as precisely as possible thinking more in the individual components and how their behavior will imprint its pattern in the whole network. Our main contribution is a model and algorithms that allow us to show that evolution of a social network obeys fractal rules.

993


After reviewing previous work on this matter we have come with the ones more relevant to our line of thought which are detailed below: Leskovec (2008) studied network evolution, network cascades and large data while analyzing large social networks as a whole in order to formalize and try to predict future behavior and structure. His idea was very nicely worked out by a three by three focus on observations, models and algorithms on network evolution, cascades and large data. He worked mostly on the network itself, but not from an individual node point of view. Song et al. (2005) analyzed several real networks and found that they consist of self-repeating patterns on all length scales. In the work by Faloustos et al. (2006),the authors also investigated network structures and expanded about the graph generators, but although they mentioned power laws they didn’t elaborate on the possibility of using fractal similarity to build the network synergy expressed by the links between nodes. ErdÜs, P., Renyi, A.(1959) set the base for future contributors to the area by defining random network generation and probability of connections between nodes among other definitions. We use a different approach from the previous work mentioned above as our main focus is the idea brought by Benoit Mandelbrot (1982). The author defined fractal structures and the fact that they were present in nature in several levels of complexity; he also mentioned that the interaction between systems can be seen as fractals. This is, in fact, the driver of our present work. The remainder of this article is organized as follows. In Section2 we provide background information on the main topics of this work. In Section 3 we present our Fractal Social Network Model and our proposed algorithms. Some empirical results are shown and discussed in Section 4. Finally, we conclude our work in Section 5

2

Background information

Social networks. Actual social networks are more related to collections of social ties among friends, like the ones based on the internet as Facebook, Twitter, Instagram, Tumblr, Flickr and many others; although there are other networks focused on businesses or professional relationships like LinkedIn, WordPress, Yelp, etc. These examples are all among online networks which, because of their nature, can be massive and reach farther boundaries than those based on people direct interactions, which can be geographically based, although both kinds are good examples of social networks where the same theory can be applied. Social interaction have grown steadily in complexity over the course of human history, due to technologicaladvances facilitating distant travel, global communication, and digital interaction as mentioned by Kadushin (2012). These networks can be seen as graphs with nodes (the individuals participating in the network) connected by links as shown in Figure 1.

994


Understanding any one piece of information in this environment depends on understandingthe way it is endorsed by, and refers to, other pieces of information within a large network oflinks. Fig.1.A representation of a social network based on email communications (Image from http://www.personal.umich.edu/ladamic/img/hplabsemailhierarchy.jpg)

We represent social networks as graphs because a graph is a way of specifying relationships among a collectionof items. A graph consists of a set of objects, called nodes, with certain pairs of theseobjects connected by links called edges. Graphs are defined as directed if they consist of a set of nodes together with a set of directed edges each directed edge is a link from one node to another, with the direction being important. Directed graphs are generally drawn as in with edges represented by arrows. When we want to emphasize that a graph is not directed, we can refer to it as an undirected graph. Random graph algorithms From the initial work done by Erdรถs and Renyi(1959) to the present, several algorithms have been developed in order to generate social network graphs (or graphs in general) and study their evolution over different epochs (a way to call the parameter to measure passing time). The simplest algorithm was one of complete randomness where the probability of two nodes connecting (or contacting) each other was the same for every pair of nodes belonging to the network. Of course, this approach is too simple and no real life network will behave that way, more likely the nodes involved within the network will connect with other nodes based on preferences, similarities, recommendations from others but they hardly will connect in a random fashion. There are also other kinds of social networks like the ones based onsmall-world phenomenon in which the applied logic states that any two individuals in the network are likely to be connected through a short sequence of intermediate acquaintances. This has been proved to be truth by several previous investigations being the oneconducted by Milgram(1967) the most popular, but we also have reviewed the work from Mathias and Gopal (2000), as theyall reveal that often we meet a stranger and discover that we have an acquaintance in common. Recent work has suggested

995


that the phenomenon is also existent in networks arising in nature and technology, and a fundamental ingredient in the structural evolution of the World Wide Web. We explore if the “fractal” network as we call it, exhibits also a sort of small-world phenomenon in its behavior. What are fractals? First of all, and before getting to the point of a definition of a fractal let’s take a moment to imagine what we currently denote as chaos, or chaotic behaviorusually related to some unpredicted pattern that cannot be formalized in any way,as studied by Shroeder (1991),. The difficulty of working with such behavior is, of course, the inability to adjust it to any existent law that could rule it and help to the job at hand. Fractals are self-similarity structures that can explain this behavior and bring certainty and predictability whereas there was chaos and misinterpretation beforeThe trick is to understand the structure itself and how it evolves and grows from the basic initial unit. Fractals are useful in modeling and explaining natural complex patterns that can’t be explained by Euclidean geometry. In these irregular and fragmented patterns, we can see how nature expresses itself in leaves, mountains, turbulences and also inside of us in our blood vessels or pulmonary systems. They are all examples of shapes that can be built by scaling up a base structure over and over, which implies a certain degree of irregularity, but in an unusual regular way at all scales.Barnsley (1988) in his work compiled different fractals existent in nature like forests, mountains and landscapes in different parts of the world, and also reviewed the theory behind their existence. To understand that, we need to find the fractal dimension and the basic structure that the fractal is built upon and later grow it from there. Defining the fractal dimension. Fractal Dimension. The concept of fractals started to take form when Benoit Mandelbrot vocalized his idea of a continuous escalating structure found in nature in different organic and inorganic systems. The fractal dimension is a measure that will indicate the relationship between the size of the individual smallest structure that comprises the fractal and the total size. The formula is as: D=log N(r)/log (1/r)

(1)

Where D: Fractal (or Hausdorff) Dimension N: number of base parts r: similarity ratio There are a few examples that can help us illustrate this definition in a way that clearly enlightens our knowledge and understanding of it. One example is the Koch

996


coastline shown in Figure 2.Every line the triangle is made of is added another pair of lines in the middle and the pattern is repeated over and over in every side finally getting the Koch triangle in black below the main structure.

Fig.2. Triad Koch coastline Fractal Dimension

Box Dimension. There is another way to measure the fractal dimension and it is by sizing the smallest squared box that will include the base structure and counting the amount of those boxes that fit in the whole fractal structure. The number of boxes is N(r) where r is the size of the side of the square used as box dimension. Then we can calculate the fractal dimension using (1). Multi-fractal Dimension. As with the normal fractals defined above, there exists also a category of fractals that donot have one only fractal dimension and because of their nature, since they were built from, say, bricks of different sizes, they can be called multi-fractals. Hence, the trick with multi-fractals is to identify the base “bricks� they are made of. Examples of multi-fractal structures are the diffusion-limited aggregations (DLA) like the ones generated by the colloids where the structure grows one molecule at a time. An image of a multi-fractal is shown below in Figure 3. Fig.3.An example showing a multi-fractal

997


Are all social networks fractals? After reviewing the information provided above, we can start to think that social networks seem to behave like multi-fractal structures. We cannot at this point of our investigation ascertain which would be the fractal dimension of them and more experimentation is needed for us to be able to provide such metrics. For now, let’s just hypothesize about how the behavior and the way they get generated seem to be compliant with that of multi-fractals.

3 3.1

The Fractal social network model The model.

First of all, it has been observed during the initial investigations that the introduction of a new node v in the network is always through the knowledge of at least one pre-existent node w and as that happens, even if the new node has been introduced into the whole network, only a relative small region is available to it. Nobody expects the newcomer to start interacting with every community in the network right away, and for that interaction to start, time is of essence. We call that amount of time T0the “introduction time” which is a grace period allowed to the new node before it gets the first contact with other nodes existent in a network and that is different than its sponsor in the immediate network (or community). The introduction time depends on the size of the community where node w exists, and of course the ties between v and w which are unknown and different to every case, so this is another parameter to take into account at the time of the on-boarding of the new node. Once node v starts its interaction with the nodes in w’s community, there will be only a certain amount of time T1 in which it will start to reach out to nodes belonging to the neighborhood in a way that will be proportional to the amount of connections its newly acquired community has with the outside communities. This means that, if node w community C0 has connections with three other communities C1, C2 and C3 but the connectedness between them is, say n1, n2 and n3 in which n1>> n2>> n3 then the interactions between v and the nodes in said communities will start before with C1 than with C2 or C3. Now, the next item to take into consideration is the kind of node v will become within time, meaning if it will be a popular node or the opposite, more like a shy node. That will depend on the willingness it has to share and activate new connections with the rest of the network. In other words, if v is already a popular and well known individual when it gets in the network, there is a great possibility that it will “attract” the attention of the other nodes and they will reach out to it to connect and become popular as well. But if v is an individual that got in the network for a specific task and nothing else, it is improbable that its connections will increase beyond what is expected from it and so its degree of connectedness will be very small. Fromthe adjacency matrix and the fractal dimension we get the minimum structure to be replicated in order to get what becomes the node evolution and future

998


participation in the network. This can be done in several iterations and with different nodes in order to get the final base structures of the network. We are talking about base structures because we consider the social network to be a multi-fractal and as such, it is built upon several box dimensions. We describe in detail this procedure in the next subsection. There is a pre-condition to be taken into account in this algorithm, which is that a network should exist prior to the application of this algorithm. This way, the new incoming nodes can have the base layers of the existent network and they canreplicate similar pre-existent structures as theyactivate their new connections.This is key to ensure self-similarity patterns. 3.2

The fractal connection algorithms

We present the GetBox algorithm which will get the box dimension specific to a node in a certain community. It finds all the nodes the given node is likely to connect in order to keep the self-similarity structure in the network and its current connections. Algorithm:GetBox(N,Adj[N,N],v,Cm[N]) Returns Bv list with nodes for potential connections

For each v in Adj[N,N] Oudg[v]:=outdegreet(v,Cm(v))--the outdegree of v within its communities of interest

End For Freq:=Frequency(Oudg(v))

--we calculate the frequency distribution of all nodes’ outdegreeconnections

Freq=Rnd(Fr)

--we select randomly one of the existent Frequencies in the network to be the box dimension for i at t+dt

Create Empty List(Bv) i=v for each j in Adjt[N,N] If Adjt[i,j]=1or j in Cm[i] and Cardinality(Bv)<Freq--the frequency is a measure of the box dimension, since there are several boxes we use one of the available options randomly

Then Add j to Bv

--

Bvwill contain all the nodes v should be

connected to in t+dt

End For End.

999


The ApplyBox algorithm will use the Box dimension obtained by the GetBox algorithm in order to apply those new connections to the given node (and keep the existent ones) Algorithm:ApplyBox(v,Adjt[N,N],wf,Bv) We assume v has been in the network since time t

Begin i:=v

--we search in row corresponding to v node

For each jin Adjt+dt[N,N] If Adjt+dt[i,j]=0 ifj in Bv and wf(j)>0.6 --the higher the wf the more willing to connect and the longer will be Bv list Adjt+dt[i,j]=1 End For End.

List of variables Willingness Factor: wf (used to distinguish nodes with interest of acquiring new connections from others not that interested in any interaction) Size of the network: N (number of nodes in the network) Introduction time: t (the time at which the new node is included in the network) Adjacency matrix: Adj [N,N] (a matrix which describes a graph by representing which vertices are adjacent to which other vertices) Cm array: community [N] (we don’t know at first how many communities exist, at a maximum it can be the same as the amount of nodes) Box dimension list: Bv(list with nodes that will likely get connected to the new node in order to preserve self-similarity in the network)

4

Experimentation: A simple example and findings

To experiment our theory we have a Facebook network of 484 nodes and 33272 links where we are able to see interactions between two timeframes. We collected the network and classified the nodes with more activity, the new nodes and the nodes that left the network between timeframes t and t+dt. The network is shown below in figure 4. Below are listed the key findings during our experimentation: • The willingness is a very important parameter to be considered in the existent nodes as well as in the newcomers. It has relevance in the connections growth because if the nodes are not interested in connecting with other existent nodes

1000


they will not attempt any new interactions, even if they have the best opportunities by being linked to the most popular nodes and communities. The frequency distribution of outbound connections (we are for now interested in the outbound) seems to be related to the different fractal dimensions of the boxes. There were several nodes observed at t with sponsors among the nodes with more connectedness and they still didn’t increase their degree of connection at t+dt. We believe that these nodes weren’t interested in new connections. One of the nodes with highest degree of connections didn’t increase its connectedness in the new timeframe which contradicts the “rich get richer” principle. This behavior can also be explained by the willingness factor in a way of saying that there were no interesting things out there for this node to grow to. There are also some nodes that shrunk during the timeframe considered in our study, which is not a surprise as due to the network dynamics it’s expected a certain level of change in both ways for the nodes degree of connections. This fact is still worth mentioned and something to be investigated and expanded in the future as well. The nodes with more growth grew beyond their community of origin and we can infer that they are then more mature in a way that they can reach and interact with new communities. It is expected that in the future they will continue to grow in this same way. The new communities were known from the most popular communities in the list of the pre-existent linked nodes. This is exactly what we are taking into consideration while developing theGetBox and ApplyBox algorithms. Fig. 4. The network used in the experimentation phase (notice the new small community at the top left of the graph)

1001


5

Conclusions and future work

This is a work in progress and in the following paragraphs we are presenting the first results of this research. We have come to understand from our work during the experimentation phase and the theoretical background that some of the interactions in social networks can’t be taken as random and more so, the people making the present social networks act some times in ways that seem to be mimicking other people behavior. Hence our self-similarity approach seems to be more suitable for them than randomness. We have also uncovered the existence of several parameters to be taken into account when modeling social network. We are leaving for future work and enhancements of the model, the task of testingthe algorithms presented in this work in a more global social network, also the formalization of rules to prevent starvation of network components in order to ensure that all the components are added to the fractal structure while the evolution happens as well as how we explain the dynamics of the shrinking patterns in the nodes connections.

6

References

1.Leskovec J.: Doctoral Thesis: Dynamics of large networks. CMU-ML-08-111 (2008) 2. FaloustosC.,ChakrabartiD.: Graph Mining: Laws, Generators and Tools. ACM Computing Surveys, vol 38 (2006) 3.Shroeder M.: Fractals, chaos and power laws. W. H. Freeman and Company (1991) 4. Mandelbrot, B.: The Fractal Geometry of Nature. International Machine Business (1977) 5. Barnsley M.: Fractals Everywhere. School of Mathematics. Georgia Institute of Technology (1988) 6. Mathias N., Gopal V.: Small Worlds: How and why. Department of Computer Science and Automation (2000) 7. ErdĂśs, P., Renyi, A.: Of the Evolution of Random Graphs. (1959) 8. MilgramS., The small world problem. Psychology Today (1967) 9. Burt R.: Structural Holes and Good Ideas (2004) 10.Kadushin C.: Understanding Social Networks. Oxford University Press (2012) 11. Song, C., Havlin, S., Makae, H.: Self-similarity of Complex Networks. Nature, Vol 433. Nature Publishing Group (2005).

1002


Determinaci´ on de g´ enero y edad en blogs en espa˜ nol mediante enfoques basados en perfil Dario G. Funez, Leticia C. Cagnina y Marcelo L. Errecalde Laboratorio de Investigaci´ on y Desarrollo en Inteligencia Computacional Facultad de Ciencias F´ısico, Matem´ aticas y Naturales, Universidad Nacional de San Luis - Ej´ercito de los Andes 950 (D5700HHW) - San Luis - Argentina Tel: (0266) 4420823 / Fax: (0266) 4430224 e-mail: {dgfunez, lcagnina, merreca}@unsl.edu.ar

Resumen La determinaci´ on del perfil del autor (desconocido) de un documento permite identificar caracter´ısticas como el g´enero (sexo) y edad de dicho autor, en base al estilo de escritura y las palabras presentes en el documento. Esta tarea est´ a creciendo en importancia en diferentes areas de investigaci´ ´ on, especialmente en idiomas como el espa˜ nol donde existen pocos trabajos realizados hasta el presente. En este trabajo se presentan los resultados obtenidos en la determinaci´on de g´enero y edad en blogs en espa˜ nol mediante enfoques basados en perfil, un tipo de t´ecnica que ha sido aplicado exitosamente en tareas de atribuci´ on de autor´ıa. Los resultados obtenidos muestran la viabilidad de la aplicaci´ on de este enfoque en la determinaci´ on del perfil del autor de un documento y permiten identificar aspectos que necesitan ser mejorados en el futuro.

Palabras Claves: categorizaci´ on de documentos, miner´ıa de textos, perfiles de autores, enfoques basados en perfiles

1.

Introducci´ on

El uso creciente de redes sociales como Facebook y MySpace, sitios de microblogging como Twitter y las innumerables facilidades de chats disponibles hoy en d´ıa han hecho accesible mucha informaci´on provista por personas de diferentes edades, g´enero, condici´ on social, etc. Dicha informaci´on puede ser utilizada para inferir datos importantes del perfil del autor de un texto como su personalidad, demograf´ıa y antecedentes culturales [2]. La determinaci´on del perfil del autor de un documento (en ingl´es author profiling) es la tarea de distinguir entre clases de autores en base a la forma del lenguaje compartido por un grupo social particular. Esto puede involucrar la identificaci´on de diversos aspectos del perfil de una persona tales como el g´enero (femenino vs masculino), edad (de acuerdo a distintos grupos etarios), lenguaje nativo y tipo de personalidad. La actividad de recabar informaci´ on del perfil del autor de un documento es un problema de inter´es creciente en ´areas como seguridad y anti-terrorismo, marketing y diversas disciplinas forenses. En el caso de marketing, es evidente

1003


2

Dario G. Funez, Leticia C. Cagnina y Marcelo L. Errecalde

el beneficio que puede obtenerse del empleo de los comentarios de clientes en blogs para determinar la demograf´ıa de la gente que gusta o no de determinados productos [1]. Asimismo, este tipo de t´ecnicas tambi´en pueden tener un impacto importante en problemas forenses de abordaje m´as reciente como la detecci´on autom´atica de depredadores sexuales en la Web [7]. Por otra parte, en problemas de atribuci´ on de autor´ıa [10] han ganado cada vez m´as relevancia los enfoques basados en perfiles [3,4,5,6] plante´ andose como alternativas interesantes a los enfoques cl´ asicos de categorizaci´ on de textos basados en instancias [10] debido a diversas ventajas como su facilidad de implementaci´on, eficiencia de aplicaci´on, escalabilidad y la representaci´on expl´ıcita de informaci´on relevante sobre un autor. En este trabajo analizamos si los enfoques basados en perfiles son adecuados para la determinaci´on de la edad y el g´enero de documentos de blogs en idioma espa˜ nol. Con respecto a la edad, se consideran posts de 3 grupos etarios distintos formados por adolescentes entre 13 y 17 a˜ nos, j´ovenes entre 23 y 27 a˜ nos y adultos entre 33 y 47 a˜ nos. El g´enero por su parte puede ser femenino o masculino. Estos enfoques fueron probados con la versi´on en espa˜ nol del corpus de entrenamiento del PAN-PC-2013 [1] por ser el u ´ nico disponible para experimentaci´on a la fecha. Los resultados obtenidos sustentan la viabilidad de este tipo de t´ecnicas y son un punto de comienzo para mejorar su desempe˜ no en trabajos futuros. El resto de este trabajo se organiza de la siguiente manera. En la Secci´on 2 se explican los principales conceptos vinculados a los enfoques basados en perfiles. La Secci´ on 3 detalla los principales aspectos de la tarea abordada y c´ omo los enfoques basados en perfiles se ajustan a su resoluci´ on. La Secci´on 4 describe el trabajo experimental y el an´alisis de los resultados obtenidos. Finalmente, en la Secci´ on 5 se exponen las conclusiones de nuestro estudio y se proponen trabajos futuros para mejorar esta propuesta.

2.

Enfoques basados en perfiles

Los enfoques basados en perfiles constituyen uno de los enfoques principales hoy en d´ıa para abordar problemas de atribuci´ on de autor´ıa (AA) [10]. En un problema de AA t´ıpico, un texto de autor´ıa desconocida es asignado a un autor candidato, dado un conjunto de autores candidatos para los cuales se tienen disponibles textos de muestra de autor´ıa indiscutida. Desde un punto de vista del aprendizaje autom´ atico (machine learning), esto puede ser visualizado como una tarea de categorizaci´ on de texto de m´ ultiples clases y u ´nico r´ otulo (multi-class single-label ). En este contexto, para cada clase (autor) se construye un perfil de autor que contiene informaci´on recuperada de un conjunto de documentos escritos por el mismo [4]. En la la parte izquierda de la Figura 1 se muestra gr´ aficamente el proceso de generaci´on de los perfiles de cada autor.

1004


Determinaci´ on de g´ enero y edad basada en perfil

3

Figura 1: Atribuci´on de autor´ıa basada en perfil: generaci´on de perfiles de autor (izquierda) y clasificaci´on de un documento de prueba (derecha). Las caracter´ısticas a recuperar de un texto pueden estar basadas en el estilo de escritura o en el contenido del texto. Caracter´ısticas basadas en estilo: extraen de los documentos medidas estilogr´ aficas como la frecuencia de determinadas clases de palabras como pronombres, art´ıculos, preposiciones, cantidad de hiperv´ınculos, promedio de palabras en un post etc. [9]. Estas caracter´ısticas usualmente var´ıan dependiendo del g´enero y la edad. Por ejemplo, las mujeres en los blogs suelen utilizar m´as pronombres y palabras de aprobaci´ on y negaci´ on, reduci´endose esta tendencia en edades m´as avanzadas. Una de las caracter´ısticas m´as utilizadas para capturar aspectos de estilo son las frecuencias de n-gramas de caracteres. Los n-gramas son subcadenas de n caracteres consecutivos [3] siendo com´ un el uso de n = 3, 4 y 5. En el ingl´es por ejemplo, el uso de tri-gramas de caracteres demostr´ o ser efectivo para capturar la frecuencia de adverbios, informaci´on contextual, etc. Caracter´ısticas basadas en contenido: consideran las palabras que pertenecen a tem´aticas particulares [9]. En esta categor´ıa tambi´en existen diferencias en su uso dependiendo del g´enero del autor. Por ejemplo, las escritoras tienden a utilizar con m´ as frecuencia palabras relacionadas con lo personal como por ejemplo “shopping”, “madre”, etc. En cambio, los escritores se interesan m´ as en temas relacionados a pol´ıtica y tecnolog´ıa. Los adolescentes escriben sobre sus amigos, estados de humor y temas relacionados al colegio. A edades mayores crece su inter´es por el casamiento, la pol´ıtica y temas financieros. Para obtener el perfil de un autor se considera un conjunto de documentos de su autor´ıa y se extraen de ´el un conjunto de L caracter´ısticas. Por ejemplo, para el caso en el que se seleccione como caracter´ıstica los tri-gramas (subcadenas de 3 caracteres), se deben obtener todos los tri-gramas de cada documento y se los ordena por su frecuencia. Luego, los L tri-gramas m´as frecuentes constituir´ an el perfil. Para poder clasificar un documento a un autor, se necesita generar el

1005


4

Dario G. Funez, Leticia C. Cagnina y Marcelo L. Errecalde

perfil del documento y luego, utilizando una medida de distancia (o de similitud), se determina si existen similitudes entre el perfil del documento y el perfil de cada autor [6]. El autor cuyo perfil sea el m´as “cercano” al perfil del documento, ser´ a el que se retorne en el proceso de clasificaci´ on, como se muestra en la parte derecha de la Figura 1. Algunas de las medidas de distancia/similitud utilizadas en los enfoques basados en perfil son las siguientes: Keselj’s Relative Distance (KRD): esta medida, referenciada en algunos trabajos como CNG, mide la distancia K entre dos perfiles P1 y P2 como

K=

x∈XP1 ∪XP2

2 × (P1 (x) − P2 (x)) P1 (x) + P2 (x)

2

donde Pi (x) es la frecuencia del t´ermino x en el perfil Pi , y XPi es el conjunto de todos los t´erminos que ocurren en el perfil Pi . Simplified Profile Intersection (SPI): Esta medida de similitud es una versi´ on simplificada de la anterior, que s´olo toma en cuenta la cantidad de caracter´ısticas que pertenecen a ambos perfiles [5]. Out of Place (OOP): Estima la diferencia posicional de cada caracter´ıstica en los perfiles a comparar y la medida es la suma de todas las diferencias posicionales para todas las caracter´ısticas de los perfiles [3]. Un inconveniente con las medidas enunciadas previamente es que muchos de los t´erminos que ocurren en los perfiles de los autores son t´erminos utilizados muy frecuentemente en el lenguaje apareciendo en consecuencia en todos los perfiles y por lo tanto aportando poca informaci´ on discriminativa entre un perfil y otro. Esta observaci´ on, ha conducido a nuevas propuestas como el recentrado de perfiles locales que se han aplicado recientemente con ´exito en tareas de AA [6] y consideramos que pueden ser relevantes en el problema abordado en el presente trabajo, por lo que ser´ a descripto en forma m´as detallada a continuaci´ on. El recentrado de perfiles locales (RP L) crea perfiles priorizando aquellas caracter´ısticas que son usadas en forma diferencial respecto al uso del lenguaje habitual [6]. Para medir el uso del lenguaje habitual, el RP L utiliza un perfil del lenguaje que aproxima el uso real de las caracter´ısticas en el lenguaje midiendo las frecuencias de ocurrencia en todos los documentos del conjunto de entrenamiento. Si bien ´esta es s´olo una de las posibles implementaciones alternativas para usar como perfil del lenguaje, en [6] ha demostrado ser bastante efectiva. De esta forma, para construir el perfil de un autor en RP L se utilizan las L primeras caracter´ısticas, ordenadas (en forma decreciente) por el valor absoluto de la diferencia entre su valor de frecuencia de uso en el perfil del autor y su frecuencia de uso en el perfil del lenguaje. El algoritmo RPL no s´ olo realiza un “recentrado” de los valores de los perfiles de cada autor respecto al perfil del lenguaje; tambi´en utiliza una funci´ on de distancia espec´ıfica que se define como: d(f1 , f2 ) =

x∈prof iles

(f1 (x) − E(x)) × (f2 (x) − E(x)) f1 (x) − E(x) × f2 (x) − E(x)

1006


Determinaci´ on de g´ enero y edad basada en perfil

5

donde f1 y f2 son los perfiles a ser comparados, fi (x) es la frecuencia normalizada de la caracter´ıstica x en el perfil fi , E es el modelo del lenguaje y el t´ermino prof iles denota el conjunto de las caracter´ısticas que se encuentran en las primeras L posiciones de f1 o f2 . Como se puede observar, esta medida no es m´ as que la distancia coseno de las cuentas recentradas de ambos perfiles. Esto implica que el perfil del documento a ser clasificado tambi´en deba ser recentrado bajo este esquema.

3.

Descripci´ on del sistema clasificador

Nuestro estudio en este trabajo se enfoca en analizar la viabilidad del uso de enfoques basados en perfil, los cuales se han desempe˜ nado con gran ´exito en tareas de AA, en tareas de determinaci´on del perfil de un autor de documentos en espa˜ nol. Espec´ıficamente, esta tarea consistir´a en predecir el g´enero del autor (femenino o masculino) y la edad del mismo (grupo de los 10’s, 20’s o 30’s). El grupo de las edades de “10” comprende las edades entre 13-17 a˜ nos, el de 20 entre 23-27 y el de 30 entre 33-47 a˜ nos [1]. Como se puede observar, un perfil para cada una de estas clases no representar´a un autor particular sino una clase de autores de acuerdo a su grupo etario o el sexo de la persona. As´ı, por ejemplo, un perfil que se construya con documentos rotulados como “20” representar´ a caracter´ısticas de autores cuya edad oscila entre los 23 y 27 a˜ nos en lugar de caracter´ısticas de un autor particular. Para usar un enfoque basado en perfil para determinar el g´enero y la edad de un autor, se deben definir dos aspectos principales. En primer lugar, si los perfiles que se utilizar´ an consideran a cada una de estas subtareas (determinar el sexo y la edad) como dos tareas separadas o no. En el primer caso, se definir´ an perfiles separados para la determinaci´ on del g´enero (uno para femenino y otro para masculino) y para la determinaci´ on de la edad (un perfil por cada grupo etario, tres perfiles en total). En el segundo enfoque, se considera que el hecho de tratar la edad y el g´enero en forma conjunta y simult´anea puede ser beneficioso y se definir´a un perfil para cada una de las 6 posibles combinaciones de las categor´ıas consideradas: “femenino-10”, “masculino-10”, “femenino-20”, etc. El otro aspecto a definir es el tipo de caracter´ıstica a utilizarse en los perfiles: palabras completas, n-gramas de caracteres, caracter´ısticas estilogr´aficas, etc. Los experimentos preliminares mostraron que el uso de palabras completas en lugar de n-gramas de caracteres y la utilizaci´ on de perfiles de categor´ıas combinadas (“g´enero-edad”) producen mejores resultados por lo que se describir´a en el resto de esta secci´ on c´omo se implement´o este enfoque. El sistema completo se implement´ o en dos etapas. En la primera se generaron los perfiles para cada una de las 6 categor´ıas combinadas consideradas: masc10, fem-10, masc-20, fem-20, masc-30 y fem-30. Para implementar el enfoque recentrado se debi´o obtener adem´ as el perfil del lenguaje. La caracter´ıstica que se utiliz´ o para generar los perfiles es la de palabras completas, la cual demostr´o ser superior a distintas variantes de n-gramas de caracteres como las de 3-gramas, 4-gramas, 5-gramas y combinaciones de ellas (3-gramas y 4-gramas, 4-gramas y

1007


6

Dario G. Funez, Leticia C. Cagnina y Marcelo L. Errecalde

5-gramas). Los documentos empleados para construir los perfiles, forman parte del corpus espa˜ nol de entrenamiento de la competencia PAN-PC-2013 [1]. El perfil del lenguaje se obtuvo realizando los siguientes pasos en secuencia considerando todo el conjunto de entrenamiento: 1. Generaci´ on de perfil por cada documento: Para cada documento del conjunto de entrenamiento se obtiene su perfil de palabras, donde cada palabra tiene como valor asociado su frecuencia de ocurrencia en el documento. Estos perfiles fueron generados con la librer´ıa Morphadorner1. 2. Unificaci´ on de los perfiles en un u ´nico perfil : En esta tarea se concatenan todos los perfiles obtenidos en el paso anterior, obteni´endose un perfil que repite una caracter´ıstica si ´esta ya aparece en otro documento. 3. Eliminaci´ on de entradas repetidas: El perfil del lenguaje se logra sustituyendo las entradas de las palabras repetidas en una u ´ nica entrada, con un valor que es el total de sumar todos los valores de esas entradas, normalizados por el n´ umero de documentos. De esta manera se calcula la acumulaci´ on de todos los valores de una caracter´ıstica. Para obtener el perfil de una categor´ıa se aplican las mismas tareas que para obtener el perfil del lenguaje, pero restringi´endose a los documentos propios de esa categor´ıa. Si se trabaja con perfiles recentrados, se debe recentrar el valor de cada caracter´ıstica con los valores del perfil del lenguaje, y posteriormente se ordena considerando el valor absoluto del valor recentrado. La segunda etapa del sistema clasificador consiste b´asicamente en la implementaci´on del proceso de clasificaci´on de un documento de test arbitrario dt utilizando los perfiles obtenidos en la primera etapa. El clasificador recibe como par´ametro de entrada un archivo xml que tiene el formato de una conversaci´on en un blog. Este archivo, en los enfoques basados en perfiles sin recentrado recibe un preprocesamiento b´ asico y se genera su perfil de documento, clasific´ andose de acuerdo al esquema mostrado en la parte derecha de la Figura 1, usando el perfil de categor´ıa m´ as cercano de acuerdo a alguna de las funciones de similitud/distancia descriptas en la Secci´on 2 (KRD, SP I u OOP ). En un m´etodo como RPL que utiliza recentrado de perfiles, el procedimiento de clasificaci´on es un poco m´ as complejo como se muestra en la Figura 2 y se describe a continuaci´ on: Preprocesamiento del archivo de entrada: Se eliminan los tags de las conversaciones y se sustituyen las im´agenes por tres caracteres (IMG) para no perder informaci´on sobre el contenido en el documento. Tambi´en los d´ıgitos fueron reemplazados por un caracter especial definiendo patrones a reemplazar en el documento. Generaci´ on del perfil del documento ordenado por frecuencias: En este m´odulo se consigue el perfil de palabras del documento a clasificar. Recentrado respecto del perfil del lenguaje: En esta tarea se recentra el valor de todas las palabras del perfil del documento. 1

Morphadorner es una librer´ıa escrita en lenguaje Java, de acceso libre para PLN y suministrada por la Universidad de Northwestern.

1008


Determinaci´ on de g´ enero y edad basada en perfil

7

Chequeo por similitud (o disimilitud) con los perfiles de cada categor´ıa: Se compara el perfil del documento con el de cada categor´ıa, retorn´andose el r´otulo de aquella que es m´ as cercana (menos distante).

Figura 2: Diagrama del sistema clasificador utizando recentrado.

4.

Experimentos

Para evaluar el desempe˜ no de los distintos enfoques de clasificaci´on basados en perfiles se obtuvieron dos conjuntos de prueba extra´ıdos del corpus de entrenamiento de la competencia PAN-PC-2013 [1]. El primer conjunto se utiliz´ o para evaluar el g´enero y est´a compuesto de 1000 documentos, con 500 archivos femeninos y 500 masculinos. En cada categor´ıa, 166 archivos son de tama˜ no peque˜ no, 166 medianos y 166 grandes (considerando el tama˜ no en bytes del documento). El criterio utilizado para generar un conjunto de prueba con estas caracter´ısticas, fue el de tener una colecci´on con un n´ umero balanceado de documentos representativos de las distintas categor´ıas, tama˜ nos de documentos, etc. El otro conjunto de prueba se utiliz´ o para evaluar la edad con un total de 1000 archivos divididos en tres categor´ıas (10s, 20s, 30s) de 333 archivos aproximadamente cada uno, cada categor´ıa tambi´en balanceada en el n´ umero de documentos de distintos tama˜ no. Para que el clasificador sea aceptable, debe superar el “baseline” de 0.50 para el g´enero y 0.33 para la edad, cuyos valores corresponden a una selecci´on equiprobable entre las categor´ıas disponibles y que tambi´en ha sido utilizado en la competencia. Los enfoques basados en perfiles que consideraremos en nuestro trabajo son los que construyen los perfiles en forma “cl´asica” tomando los L t´erminos (palabras completas) m´ as frecuentes. Utilizaremos en este caso, como medidas de similitud/distancia las siguientes 3 medidas que se describieron en la Secci´on 2: KRD, SP I y OOP. Tambi´en analizaremos el desempe˜ no de un enfoque que trabaja con perfiles recentrados como es el caso del algoritmo RP L. Respecto a este u ´ltimo punto, una pregunta que surgi´o al realizar este estudio, fue cual ser´ıa el impacto de trabajar con un perfil recentrado (como en RPL) pero en lugar de utilizar la funci´on de distancia (coseno) propia de RPL medir la similitud/distancia entre los perfiles utilizando algunas de las funciones que utilizamos previamente en los enfoques no recentrados (SPI u OOP). Al uso de estas

1009


8

Dario G. Funez, Leticia C. Cagnina y Marcelo L. Errecalde

funciones de distancia combinado con el recentrado del perfil los denotaremos SP I re y OOP re respectivamente. En la Tabla 1 se muestran los resultados de la experimentaci´on para el g´enero en espa˜ nol, tomando como referencia el porcentaje de aciertos (clasificaciones correctas, en ingl´es accuracy) obtenido con los distintos enfoques basados en perfiles. Para cada uno de ellos, se especifica el resultado obtenido con distintos valores de L (tama˜ no del perfil) desde 200 hasta 8000. Como se puede observar, un enfoque basado en recentrado como RP L no obtiene resultados superiores al baseline (0.5) para ninguno de los valores de L considerados. Algo similar se observa cuando se usan perfiles recentrados con OOP como funci´ on de distancia (enfoque OOP re ). En este sentido, el u ´ nico caso en que el uso de perfiles recentrados obtiene resultados por encima del baseline es el de SP I re . Respecto a los enfoques que utilizan los perfiles “cl´ asicos” (KRD, SP I y OOP ), estos obtienen mejores resultados superando al baseline con todos los valores de L considerados. En algunos casos incluso, se obtienen valores cercanos o levemente superiores a 0.6 que son comparables a valores preliminares reportados en tareas similares de categorizaci´ on de g´enero en blogs [1]. Es importante remarcar que con algunas medidas de distancia como SP I, el incremento progresivo del valor de L por encima del tama˜ no m´aximo reportado en este trabajo (8000), puede generar mejores porcentajes de aciertos con el conjunto de prueba considerado. As´ı por ejemplo, usando SP I con L = 40000 se logra una “accuracy” de 0.673. Se debe tener en cuenta sin embargo, que esto se logra a costa de un incremento significativo del tiempo de CPU requerido en tiempo de prueba, los cuales pueden ser inaceptables cuando se deben categorizar decenas de miles de documentos. Por otra parte, este incremento del L para mejorar la accuracy, tambi´en podr´ıa generar un efecto de “sobreajuste” (en ingl´es overfitting) a las caracter´ısticas particulares del conjunto de prueba utilizado. Elegir un valor de L adecuado para lograr un balance correcto entre tiempos de clasificaci´on aceptables, buen porcentaje de aciertos y evitar el efecto de sobreajuste es un factor importante que ser´a abordado en trabajos futuros. Respecto a la determinaci´ on de la edad del autor en blogs en espa˜ nol, los resultados de la Tabla 2 confirman lo observado previamente respecto a la baja efectividad del uso de perfiles recentrados en este tipo de tareas. En los 3 casos que utilizan perfiles recentrados (RP L, SP I re y OOP re ) ninguno de los valores de L utilizados permiti´o superar el baseline de 0.33 para esta tarea. Tambi´en aqu´ı, KRD, SP I y OOP superan ampliamente el baseline para esta tarea, logr´andose en el caso de SP I los mejores valores de “accuracy” (0.565) con L = 8000. Nuevamente se debe remarcar en este caso, que un incremento de los valores de L puede generar mejores resultados (0.641 con SP I y L = 40000) siendo v´alidas las mismas consideraciones respecto al costo de clasificaci´on y sobreajuste que se realizaron para el caso del g´enero.

1010


Determinaci´ on de g´ enero y edad basada en perfil

9

Tabla 1. Accuracy para determinaci´ on de g´enero en espa˜ nol. Baseline = 0.5. L 200 500 1000 2000 3000 4000 6000 8000

KRD 0.544 0.564 0.58 0.589 0.562 0.572 0.599 0.572

SP I 0.532 0.546 0.553 0.58 0.571 0.572 0.581 0.57

OOP 0.57 0.559 0.58 0.602 0.56 0.58 0.593 0.568

RP L 0.473 0.471 0.471 0.469 0.472 0.472 0.472 0.472

SP I re 0.502 0.501 0.51 0.531 0.526 0.536 0.538 0.54

OOP re 0.475 0.476 0.472 0.475 0.483 0.485 0.488 0.487

Tabla 2. Accuracy para determinaci´ on de edad en espa˜ nol. Baseline = 0.33. L 200 500 1000 2000 3000 4000 6000 8000

5.

KRD 0.435 0.436 0.464 0.493 0.476 0.483 0.489 0.504

SP I 0.428 0.445 0.488 0.497 0.526 0.531 0.544 0.565

OOP 0.432 0.44 0.464 0.496 0.492 0.483 0.491 0.493

RP L 0.313 0.313 0.313 0.313 0.313 0.313 0.313 0.313

SP I re 0.267 0.264 0,267 0.267 0.267 0.268 0.269 0.27

OOP re 0.33 0.37 0.345 0.318 0.317 0.314 0.310 0.311

Conclusiones y Futuras Extensiones

En este trabajo se analiz´o la viabilidad del uso de enfoques basados en perfiles para la determinaci´ on del g´enero y la edad en blogs en espa˜ nol. De acuerdo a nuestro conocimiento, esta es la primera vez que se realiza un estudio de esta naturaleza. De los estudios preliminares, se pudo observar que para el espa˜ nol, el uso de palabras completas es m´ as efectivo que los n-gramas de caracteres y que la determinaci´on conjunta y simult´ anea de la edad y el g´enero es m´ as efectiva que considerarlas como tareas separadas. Observaciones similares se han realizado para el lenguaje holand´es utilizando m´etodos de clasificaci´ on basados en instancias como SVM [8]. Otra observaci´ on interesante es que a pesar de su atractivo y efectividad en tareas de AA, el recentrado de perfiles no parece obtener resultados competitivos en esta tarea. Como trabajo a futuro, se planea un an´alisis m´as detallado para determinar las causas de este bajo desempe˜ no. Sin embargo, m´etodos basados en perfiles cl´asicos como KRD, SP I y OOP obtienen resultados competitivos, comparables a los de otros enfoques m´as complejos y costosos. En este sentido, SP I a pesar de su simplicidad, ha mostrado resultados prometedores, en particular cuando se incrementa el valor de L para el perfil. Encontrar un valor de L que combine de manera adecuada la precisi´on en la predicci´ on, bajo costo de clasificaci´ on y evite el sobreajuste es un tema de estudio futuro a desarrollarse

1011


10

Dario G. Funez, Leticia C. Cagnina y Marcelo L. Errecalde

cuando se disponga de un conjunto m´ as grande de datos de prueba, como los que ser´an liberados pr´ oximamente como parte del “test set” de la competencia PAN-PC-2013. Es importante observar que m´ as all´a de haberse mostrado la viabilidad del uso de este tipo de enfoques en esta clase de problemas, existe un amplio campo para mejorar estos enfoques como pueden ser una selecci´ on m´as cuidadosa de los documentos usados para generar los perfiles de las categor´ıas, el uso de caracter´ısticas m´ as informativas para representar los documentos y la combinaci´on de este tipo de m´etodos con m´etodos basados en instancia.

Referencias 1. 9th evaluation lab on uncovering plagiarism, authorship, and social software misuse (PAN 2013). http://pan.webis.de/, 2013. 2. Shlomo Argamon, Moshe Koppel, James W. Pennebaker, and Jonathan Schler. Automatically profiling the author of an anonymous text. Communications of the ACM, 52:119–123, 2009. 3. William B. Cavnar and John M. Trenkle. N-gram-based text categorization. In Proceedings of SDAIR-94, 3rd Annual Symposium on Document Analysis and Information Retrieval, pages 161–175, 1994. 4. Hugo Jair Escalante, Manuel Montes y G´ omez, and Thamar Solorio. A weighted profile intersection measure for profile-based authorship attribution. In Proceedings of MICAI 2011, volume 7094, pages 232–243, 2011. 5. Georgia Frantzeskou, Efstathios Stamatatos, Stefanos Gritzalis, and Sokratis Katsikas. Source code author identification based on n-gram author profiles. In Artificial Intelligence Applications and Innovations, volume 204 of IFIP, pages 508–515. Springer US, 2006. 6. Robert Layton, Paul Watters, and Richard Dazeley. Recentred local profiles for authorship attribution. Natural Language Engineering, 18:293–312, 2012. 7. India Mcghee, Jennifer Bayzick, April Kontostathis, Lynne Edwards, Alexandra Mcbride, and Emma Jakubowski. Learning to identify internet sexual predation. International Journal of Electronic Commerce, 15(3):103–122, April 2011. 8. Claudia Peersman, Walter Daelemans, and Leona Van Vaerenbergh. Predicting age and gender in online social networks. In Proceedings of the 3rd international workshop on Search and mining user-generated contents, SMUC ’11, pages 37–44, New York, NY, USA, 2011. ACM. 9. Jonathan Schler, Moshe Koppel, Shlomo Argamon, and James W. Pennebaker. Effects of age and gender on blogging. In AAAI Spring Symposium: Computational Approaches to Analyzing Weblogs, pages 199–205, 2006. 10. Efstathios Stamatatos. A survey of modern authorship attribution methods. Journal of the American Society For Information Science and Technology, 60(3):538– 556, 2009.

1012


Una Extensi´on del FHQT Temporal para Distancias Continuas Andr´es Pascal1 , Anabella De Battista1 , Norma Edith Herrera2 , Gilberto Gutierrez3 1

Dpto. de Sistemas de Informaci´on, Universidad Tecnol´ogica Nacional, Entre R´ıos, Argentina, {pascala, debattistaa }@frcu.utn.edu.ar 2 Dpto. de Inform´atica, Universidad Nacional de San Luis, Argentina, nherrera@unsl.edu.ar 3 Universidad del Bio Bio, Facultad de Ciencias Empresariales, Chill´an, Chile, ggutierr@ubiobio.cl

Resumen El modelo de bases de datos m´etrico-temporal permite abordar aquellas situaciones en las que resulta necesario realizar b´usquedas por similitud teniendo en cuenta tambi´en la componente temporal. En este art´ıculo presentamos una mejora al ´ındice m´etrico-temporal FHQT-Temporal, que soporta valores continuos de la funci´on de distancia, manteniendo la eficiencia ante cambios de valores del radio de b´usqueda e incrementos de los intervalos de tiempo. Adem´as se muestran resultados de la verificaci´on experimental de esta estructura para un conjunto de datos determinado. Palabras Claves: Espacios M´etricos, Bases de Datos Temporales, ´Indices, Bases de Datos M´etrico-Temporales.

1.

Introducci´on

Las bases de datos cl´asicas se organizan bajo el concepto de b´usqueda exacta sobre datos estructurados. Esto significa que la informaci´on se organiza en registros los cuales se dividen en campos que contienen valores completamente comparables. Una consulta retorna todos aquellos registros cuyos campos coinciden con los aportados en la consulta (b´usqueda exacta). Una caracter´ıstica importante de las bases de datos cl´asicas es que capturan s´olo un estado de la realidad modelizada, usualmente el m´as reciente. Por medio de las transacciones, la base de datos evoluciona de un estado al siguiente descartando el estado previo. Actualmente las bases de datos han incluido la capacidad de almacenar datos no estructurados tales como im´agenes, sonido, texto, video, datos geom´etricos, etc. La problem´atica de almacenamiento y b´usqueda en estos tipos de base de datos difiere de las bases de datos cl´asicas en varios aspectos: los datos no son estructurados por lo que no es posible organizarlos en registros y campos; la b´usqueda exacta carece de inter´es; resulta de inter´es mantener todos los estados de la base de datos y no s´olo el m´as reciente para poder consultar el intervalo de tiempo de vigencia de los objetos. Es en este contexto donde surgen nuevos modelos de bases de datos. El modelo de espacios m´etricos [3], permite trabajar con objetos no estructurados y realizar b´usquedas por similitud sobre los mismos. Un espacio m´etrico es un par (U, d) donde U es un universo de objetos y d : U × U → R+ es una funci´on de distancia

1013


definida entre los elementos de U que mide la similitud entre ellos. Una de las consultas t´ıpicas en este modelo es la b´usqueda por rango, denotado por (q, r)d , que consiste en recuperar los objetos de la base de datos que se encuentren como m´aximo a distancia r de un elemento q dado. El modelo de bases de datos temporales [7] incorpora al tiempo como una dimensi´on, por lo que permite asociar tiempos a los datos almacenados y consultar por los objetos vigentes en un intervalo o en un instante de tiempo dado. Existen aplicaciones donde resulta de inter´es realizar b´usquedas por similitud teniendo en cuenta tambi´en la componente temporal. Es en este a´ mbito donde surge el modelo m´etrico-temporal. En este modelo se puede trabajar con objetos no estructurados con tiempos de vigencia asociados y realizar consultas por similitud y por tiempo en forma simult´anea. Varios ´ındices han sido dise˜nados para resolver consultas m´etrico-temporales [1,2,5,6]. Todos ellos est´an basados en el Fixed Height Queries Tree, un ´ındice para espacios m´etricos, y asumen que la funci´on de distancia d devuelve valores discretos. En este trabajo presentamos una extensi´on del Fixed Height Queries Tree Temporal(FHQT Temporal) para distancias continuas. Este art´ıculo est´a organizado de la siguiente manera. En la Secci´on 2 se expone el trabajo relacionado definiendo los conceptos necesarios para la comprensi´on de este art´ıculo. En la Secci´on 3 presentamos nuestro aporte definiendo la extensi´on del FHQTTemporal para distancias continuas. En la Secci´on 4 presentamos la evaluaci´on experimental y finalizamos en la Secci´on 5 dando las conclusiones y trabajo futuro.

2.

Trabajo Relacionado

2.1.

El Modelo M´etrico-Temporal

El modelo m´etrico-temporal est´a orientado a satisfacer b´usquedas sobre objetos no estructurados que poseen uno (una sola dimesi´on temporal) o dos (bitemporal) instantes o intervalos de tiempo asociados y que adem´as no pueden ser recuperados a trav´es de un atributo clave por medio de una b´usqueda exacta. Sea U un universo de objetos v´alidos, se define un Espacio M´etrico-Temporal mediante el par (X, d), donde X = U × N × N × N × N y d es la funci´on de distancia d : U × U → R + . Cada elemento x ∈ X es una 5-upla (o, tvi , tvf , tti , ttf ), donde o es un objeto (una huella digital, una imagen, un sonido, etc), [tvi , tvf ] es el intervalo de validez de o en la realidad y [tti , ttf ] el intervalo de tiempo transaccional asociado. Por simplicidad, se definen todos los tiempos como valores pertenecientes al conjunto N . Estos valores pueden ser fechas, horas, etc., pero en cualquier caso se pueden representar mediante n´umeros naturales. La funci´on de distancia d mide la disimilitud entre dos objetos y cumple con las propiedades de toda m´etrica, es decir, positividad, simetr´ıa, reflexividad y desigualdad triangular [3]. Formalmente una consulta m´etrico-temporal se define como una 4-upla (q, r, tiq , tf q )d , tal que: (q, r, tiq , tf q )d = {o/(o, tio , tf o ) ∈ X ∧ d(q, o) ≤ r ∧ (tio ≤ tf q ) ∧ (tiq ≤ tf o )} Una forma trivial de resolver una consulta m´etrico-temporal, sin realizar una b´usqueda exhaustiva en la bases de datos, es construir un ´ındice m´etrico agreg´andole a cada

1014


objeto un intervalo temporal que represente la vigencia del mismo. Luego, ante una consulta (q, r, tiq , tf q )d en primer lugar se utilizar´a el ´ındice m´etrico para descartar los objetos obj que est´an a distancia mayor que r de q; y posteriormente se realizar´a un recorrido del conjunto de elementos no descartados en el primer paso para determinar qu´e objetos conforman la respuesta a la consulta, que ser´an aquellos cuyo intervalo de vigencia que se superpone con [tiq , tf q ]. Varios ´ındices m´etrico-temporales se han propuesto en este a´ mbito: el Pivot-FHQT [1], el Historical-FHQT [2], el Event-FHQT [5] y el FHQT-Temporal [6]; todos ellos han tomado como base el Fixed Height Queries Tree[3], un ´ındice para espacios m´etricos. Todos estos ´ındices asumen que la funci´on de distancia retorna valores discretos. 2.2.

FHQT-Temporal

El FHQT-Temporal es un FHQT al cual se le agrega un intervalo de tiempo en cada nodo del a´ rbol. Este intervalo representa el per´ıodo de tiempo de vigencia de todos los objetos del sub´arbol cuya ra´ız es dicho nodo. En cada nodo hoja, este intervalo es el per´ıodo total de vigencia de los objetos que contiene. Para un nodo interior, el intervalo se calcula tomando el tiempo inicial m´ınimo y el tiempo final m´aximo de sus hijos. Este ´ındice permite resolver consultas por similitud puras, temporales puras y m´etricotemporales. Como se basa en un FHQT, solo permite funciones de distancia discretas. Formalmente, un FHQT-Temporal es un a´ rbol en el cual un nodo interior V es una 3-upla (tini , tf in , {(d1 , h1 ), (d2 , h2 ),..., (dm , hm )}) donde: h1 ..hm son los m hijos del nodo V , las di , para i = 1..m, son las distancias entre el pivote correspondiente al nivel de V y los objetos contenidos en las hojas de los sub´arboles de hi . los dos primeros componentes de la 3-upla, tini y tf in , se definen de la siguiente manera: tini = minj=1..m (tini (hj )), y tf in = maxj=1..m (tf in (hj )). Las hojas del FHQT-Temporal tienen una estructura similar; est´an representadas por una 3-upla (tini , tf in , {e1 , e2 ,..., el }), donde: los ei para i = 1..l son los l elementos que contiene la hoja, que a su vez est´an formados por tres componentes: el objeto o, el tiempo inicial del mismo tio , y su tiempo final tf o . los valores tini , tf in poseen el mismo significado que para los nodos interiores, pero aplicados a los elementos ei . En la Figura 1 se muestra el esquema gen´erico del FHQT-Temporal. La estructura es din´amica, permitiendo tanto altas como bajas ya sea de instantes o intervalos contenidos en el intervalo que el ´ındice posee hasta el momento, como de objetos con tiempos fuera de e´ ste. Cuando se realiza una consulta m´etrico-temporal, se procede de la siguiente manera: en cada nivel del a´ rbol se seleccionan los sub´arboles hijos del nodo que se est´a procesando, cuyos intervalos temporales se intersectan con el intervalo o instante de la consulta. De e´ stos, posteriormente se eligen los que cumplen con la restricci´on de similitud tomando en cuenta la firma de la consulta y el radio de b´usqueda. Este procedimiento

1015


Figura 1. Esquema del FHQT-Temporal

se repite hasta llegar al u´ ltimo nivel. Para cada hoja no descartada, luego de verificar la superposici´on temporal, se realiza una b´usqueda secuencial sobre todos los elementos contenidos en las mismas, comparando tanto el aspecto temporal como la distancia de cada elemento a la consulta.

3.

Extensi´on del FHQT-Temporal para Distancias Continuas

El FHQT+ -Temporal es una variante del FHQT-Temporal generalizada que soporta valores continuos de la funci´on de distancia. Para ello, en lugar de asociar un n´umero natural a cada hijo de un nodo, se asocian dos intervalos de valores de distancias. El primer intervalo representa el rango m´aximo correspondiente a la rama, mientras que el segundo (incluido en el anterior) constituye el rango actual de valores, es decir, el intervalo formado por el m´ınino y el m´aximo valor de distancia del pivote a los objetos contenidos en las hojas del sub´arbol. Los intervalos m´aximos son constantes y se calculan cuando se construye el a´ rbol en base al histograma de distancias, de tal manera de que el a´ rbol tenga una alta probabilidad de quedar balanceado. Los intervalos actuales son variables y se van actualizando de acuerdo a los objetos que se insertan en la estructura. Para determinar en qu´e rama se agrega un nuevo elemento, se utilizan los intervalos m´aximos y ante una consulta s´olo se usan los actuales. Al utilizar estos u´ ltimos intervalos en las b´usquedas, se incrementa la capacidad de filtrado por similitud, ya que los intervalos son m´as peque˜nos y quedan espacios vac´ıos entre intervalos consecutivos, como veremos m´as adelante. Un FHQT+ -Temporal es un a´ rbol r-ario donde el valor de r es un par´ametro que se define en forma previa a su construcci´on, normalmente en base a la distribuci´on del histograma de distancias. Formalmente, es un a´ rbol donde cada nodo interior V es una 3-upla (tini , tf in , {(intx1 , inta1 , h1 ), (intx2 , inta2 , h2 ),..., (intxm , intam , hm )}) donde: h1 ..hm son los m hijos del nodo V , los intxi , para i = 1..m, son los intervalos m´aximos de distancias entre el pivote correspondiente al nivel de V y los objetos que pueden pertenecer a las hojas de los sub´arboles de hi .

1016


Figura 2. Ejemplo de un FHQT+ -Temporal

los intai , para i = 1..m, son los intervalos actuales de distancias entre el pivote correspondiente al nivel de V y los objetos contenidos actualmente en las hojas de los sub´arboles de hi . los dos primeros componentes de la 3-upla, tini y tf in , se definen de la siguiente manera: tini = minj=1..m (tini (hj )), y tf in = maxj=1..m (tf in (hj )). Las hojas del FHQT+ -Temporal se definen de la misma forma que para el FHQTTemporal Para calcular los intervalos m´aximos correspondientes al nodo ra´ız del a´ rbol, se toma una muestra de la base de datos, se calcula el histograma de distancias y se divide el espacio en r intervalos, de tal manera de que cada uno de ellos posea la misma cantidad (±1) de elementos. Luego para cada nodo hijo se procede de la misma manera, pero considerando solo los elementos de la muestra que fueron asignados a dicho nodo. De esta manera todos los nodos interiores tendr´an exactamente r hijos. Una vez definidos los rangos, se realiza la inserci´on de los elementos, actualizando los intervalos actuales. Sea o el objeto a insertar, v el nodo donde se quiere insertar el objeto, [dxi , dxf ) y [dai , daf ] los intervalos m´aximo y actual asociados al nodo, y p el pivote del nivel, primero se verifica que d(p, o) ∈ [dxi , dxf ) y si esto se cumple, se actualiza el intervalo actual haciendo dai := min(dai , d(p, o)) y daf := max(daf , d(p, o)). El aspecto temporal se procesa de la misma manera que en el FHQT-Temporal. Ante una consulta, para visitar un nodo se comprueba que la distancia de la consulta al pivote del nivel pertenezca al intervalo actual asociado al nodo mas menos el radio de b´usqueda, es decir, que fn ∈ [dai −r, daf +r]. En la Figura 2 se muestra un ejemplo del FHQT+ -Temporal. Es interesante notar que los intervalos actuales correspondientes a los nodos de un mismo nivel, usualmente no cubren todo el espacio posible. Al reducir el tama˜no de estos rangos, aumenta la probabilidad de que una rama se descarte ya que la comprobaci´on anterior se realiza sobre un intervalo m´as peque˜no. Por ejemplo, si el radio de b´usqueda es 0,3 y la distancia entre la consulta y el pivote del primer nivel es

1017


1,5, si se utilizan los rangos m´aximos se deben procesar el primer y segundo hijo del nodo ra´ız, ya que 1,5 ∈ [0−0,3 , 1,632+0,3) y 1,5 ∈ [1,632−0,3 , 2,2+0,3), mientras que usando los rangos actuales ambos se descartan porque 1,5 ∈ / [0 − 0,34 , 1,1 + 0,3] y 1,5 ∈ / [1,98 − 0,3 , 2,0 + 0,3]. Este ´ındice permite resolver consultas por similitud puras, temporales puras y m´etricotemporales con funciones de distancia tanto continuas como discretas.

4.

Evaluaci´on Experimental

Debido a que el modelo m´etrico-temporal es relativamente reciente, no existen a´un bases de datos disponibles para realizar experimentos, por lo que se opt´o por adaptar la base N ASA [4] que es frecuentemente utilizada por investigadores del a´ rea de espacios m´etricos (disponible para su descarga en http://www.sisap.org/library/dbs/vectors/), para la determinaci´on experimental de la eficiencia de esta nueva estructura ante consultas m´etrico-temporales. La base de datos N ASA es un conjunto de 40.150 vectores 20-dimensionales de n´umeros reales, que representan caracter´ısticas de im´agenes obtenidas por la N ASA. Partiendo de este conjunto de datos se gener´o la base de datos m´etrico-temporal NASAM T asignando a cada vector un identificador y un intervalo de vigencia, que indica el per´ıodo de validez del objeto. El intervalo total considerado fue [1, 1000]. Luego, mediante un proceso aleatorio se generaron lotes de 1.000, 5.000, 10.000, 20.000 y 30.000 elementos. Una vez construido el ´ındice, se seleccionaron al azar 100 objetos de la base de datos NASAM T y se generaron cuatro lotes de consultas m´etrico-temporales mediante la asignaci´on en forma aleatoria de intervalos/instantes de tiempo. Uno de los lotes para cada base de datos se compuso solamente de consultas instant´aneas y los dem´as fueron constru´ıdos asoci´andoles intervalos correspondientes al 10 %, 25 % y 50 % del intervalo total ([1, 1000]). Para completar los par´ametros requeridos en las consultas, se definieron tres radios de b´usquedas distintos para cada base de datos, que devuelven en promedio aproximadamente el 1 %, 5 % y 10 % de los objetos contenidos ante las consultas por similitud de los lotes definidos anteriormente. Estos radios fueron calculados experimentalmente y son los siguientes: 0,453; 0,69855 y 0,8275. Como funci´on de distancia se utiliz´o la distancia euclidiana que es la medida utilizada usualmente sobre esta bases de datos para realizar pruebas por similitud. En estas pruebas s´olo se tom´o en cuenta como variable de costo la cantidad de evaluaciones de la funci´on de distancia ya que la estructura se mantuvo en memoria principal. 4.1.

FHQT+ -Temporal: An´alisis de los Resultados Obtenidos

En esta secci´on se presentan, grafican y analizan los resultados obtenidos para el FHQT+ -Temporal en comparaci´on con la soluci´on trivial que utiliza un FHQT como ´ındice m´etrico donde cada objeto tiene su intervalo de vigencia asociado. En la soluci´on triial, primero se busca por similitud y para cada objeto resultante de esta b´usqueda, se usa su intevalo de vigencia asociado para determinar si forma o no parte de la respuesta.

1018


Cabe notar que cualquiera de dichas soluciones tiene, como m´ınimo, el costo correspondiente a un ´ındice m´etrico.

˜ de la Base de Datos En los gr´aficos de Variaci´on del Costo en Funci´on del Tamano la Figura 3 se muestran las curvas de costos correspondientes a los lotes de consultas instant´aneas y 50 % del intervalo respectivamente, en comparaci´on con la soluci´on trivial. El eje x indica la cantidad de elementos de la base de datos NASAM T y el eje y, el promedio de evaluaciones de la funci´on de distancia.

BD NasaMT - Cons. Instantanea - Radio 0.453

7000

BD NasaMT - Cons. 50% Interv. Total - Radio 0.453 8000

Trivial FHQT+Temporal # Eval. de Distancia

# Eval. de Distancia

8000

6000 5000 4000 3000 2000 1000 0 1000

5000

10000 Tamano BD

20000

30000

7000

Trivial FHQT+Temporal

6000 5000 4000 3000 2000 1000 0 1000

5000

10000 Tamano BD

20000

30000

Figura 3. Costo consultas m´etrico-temporales mediante un FHQT+ -Temporal a la base de datos NASAM T , en funci´on del tama˜no)

Las curvas muestran en ambos casos que ante el aumento de la cantidad de elementos del conjunto de datos consultado, el costo se incrementa de forma similar a una curva lineal aunque los factores por los cuales se multiplica son muy distintos. Claramente se ve que el FHQT+ -Temporal supera ampliamente la performance de la soluci´on trivial. En el mejor de los casos –cuando el tama˜no es el mayor y las consultas son instant´aneas–, su costo es de s´olo el 7,89 % del correspondiente a la soluci´on trivial, y en el peor de los casos, un 12,6 %. Es importante notar que el costo de la soluci´on trivial no var´ıa en funci´on del tama˜no del intervalo de tiempo, por lo cual en ambos gr´aficos la curva es la misma. El porcentaje de evaluaciones, medido como la cantidad de objetos resultantes sobre el costo promedio de las consultas, fue del 0,1 % al 1,0 % para la soluci´on trivial, es decir que por cada elemento resultante tuvieron que ser evaluados 1000 objetos en el peor de los casos y 100 en el mejor caso. Para el FHQT+ -Temporal este porcentaje se eleva a 0,7 % y 9,4 % respectivamente, correspondientes a 143 y 11 evaluaciones de la funci´on de distancia por cada objeto resultante. En ambos casos, las mejoras no son producidas por la variaci´on de la cantidad de elementos, sino por la modificaci´on del radio e intervalo de b´usqueda. El FHQT+ -Temporal supera claramente en eficiencia a la soluci´on trivial en todos los casos, por lo cual en los apartados siguientes s´olo se analizan las variaciones de este ´ındice respecto a los distintos par´ametros.

1019


´ Variaci´on del Costo en Funci´on del Radio de Busqueda En la Figura 4 se presentan dos gr´aficas de costo del FHQT+ -Temporal en funci´on del radio de b´usqueda. La primera corresponde a consultas instant´aneas y la segunda a intervalos de tiempo con tama˜no promedio igual al 50 % del total.

BD NasaMT - Costo Consultas MT Instantaneas

1500

1000

500

0 0,453

0,69855 Radios de Busqueda

BD NasaMT - Costo Consultas MT 50% del intervalo 3000

FHQT+Temporal #1.000 FHQT+Temporal #10.000 FHQT+Temporal #30.000

# Eval. de Distancia

# Eval. de Distancia

2000

0,8275

2500

FHQT+Temporal #1.000 FHQT+Temporal #10.000 FHQT+Temporal #30.000

2000 1500 1000 500 0 0,453

0,69855 Radio de Busqueda

0,8275

Figura 4. Costo consultas m´etrico-temporales mediante un FHQT+ -Temporal a la base de datos NASAM T , en funci´on del radio

Como es l´ogico, la cantidad de evaluaciones de la funci´on de distancia se incrementa considerablemente al aumentar el radio de b´usqueda. Sin embargo, el porcentaje de evaluaciones mejora sustancialmente. Este porcentaje var´ıa entre 0,7 y 0,9 para el radio menor, y es alrededor de 9 veces m´as grande para el mayor radio. Esto significa que la eficiencia del FHQT+ -Temporal aumenta cuando se incrementa el radio de b´usqueda. En todo ´ındice m´etrico, es natural que el porcentaje de evaluaciones en alg´un momento aumente al consultar con mayores radios debido a que la cantidad de resultados tambi´en es mayor. En el caso extremo, cuando se consulta con un radio que incluye a todos los elementos de la base de datos, este porcentaje es cercano a 100. Sin embargo, en una base m´etrico-temporal, si s´olo se aumenta el radio y el intervalo de tiempo de la consulta permanece constante, puede ser que la cantidad de resultados sea la misma ya que no todos los elementos cumplir´an la restricci´on temporal. En el FHQT+ -Temporal, cuando se aumenta el radio de b´usqueda las restricciones temporales se hacen m´as importantes para el proceso de descarte de elementos, es decir que la cantidad de elementos que cumplen con la condici´on de similitud es mayor, pero la cantidad de elementos que cumplen con la restricci´on temporal se mantiene igual. Esta es una de las causas del aumento del porcentaje de evaluaciones.

Variaci´on del Costo en Funci´on de la Amplitud del Intervalo de Tiempo Para evaluar la influencia de las variaciones de la amplitud del intervalo temporal sobre el costo de las consultas se presentan los gr´aficos de la Figura 5. En el eje X se ubican en primer lugar las consultas instant´aneas y a continuaci´on los intervalos temporales correspondientes al 10 %, 25 % y 50 % del intervalo total. Los valores del eje Y representan las cantidades promedio de evaluaciones de la funci´on de distancia para los lotes de 100

1020


consultas. El radio de consulta correspondiente al primer gr´afico es 0,453 y el del segundo 0,8275.

BD NasaMT - Costo Consultas MT - Radio 0.453

800

600

400

200

0 Instantaneas

10 25 Intervalo de Consulta

BD NasaMT - Costo Consultas MT - Radio 0.8275 3000

FHQT+Temporal,#1.000 FHQT+Temporal,#10.000 FHQT+Temporal,#30.000

# Eval. de Distancia

# Eval. de Distancia

1000

50

2500

FHQT+Temporal,#1.000 FHQT+Temporal,#10.000 FHQT+Temporal,#30.000

2000 1500 1000 500 0 Instantaneas

10 25 Intervalo de Consulta

50

Figura 5. Costo consultas m´etrico-temporales mediante un FHQT+ -Temporal a la base de datos NASAM T , en funci´on del intervalo temporal

Como se ve en ambos gr´aficos, el costo de las consultas que toman el 50 % del intervalo total es entre un 50 % y un 70 % mayor que el de las consultas instant´aneas. Por otro lado, la cantidad de elementos resultantes es alrededor de dos veces mayor (lo que es coherente con el aumento del intervalo temporal, ya que los objetos se encuentran uniformemente distribuidos en cuanto al tiempo). Por esta raz´on el porcentaje de evaluaciones aumenta tambi´en, entre un 30 % y un 40 %.

5.

Conclusiones y Trabajo Futuro

En este trabajo presentamos una extensi´on de un m´etodo de acceso m´etrico-temporal que soporta valores continuos de la funci´on de distancia, el Fixed Height Queries Tree+ Temporal(FHQT+ -Temporal), que permite resolver eficientemente consultas m´etricotemporales. Este ´ındice permite resolver consultas por similitud puras, temporales puras y m´etrico-temporales con funciones de distancia tanto continuas como discretas. Los experimentos han mostrado que el FHQT+ -Temporal tiene en la totalidad de los casos un costo menor que la soluci´on trivial, y son notables las mejoras respecto al porcentaje de evaluaciones del ´ındice cuando se incrementan los radios y los intervalos de consulta. Actualmente estamos trabajando en la extensi´on de otros ´ındices m´etrico-temporales para distancias continuas.

Referencias 1. A. De Battista, A. Pascal, N. Herrera, and G. Gutierrez. Metric-temporal access methods. Journal of Computer Science & Technology,, 10(2):54–60, 2010.

1021


2. De Battista, A. Pascal, G. Gutierrez, and N. Herrera. Un nuevo ´ındice m´etrico-temporal: el historical fhqt. In Actas del XIII Congreso Argentino de Ciencias de la Computaci´on, Corrientes, Agentina, 2007. 3. Edgar Ch´avez, Gonzalo Navarro, Ricardo Baeza-Yates, and Jos´e Luis Marroqu´ın. Searching in metric spaces. ACM Comput. Surv., 33(3):273–321, 2001. 4. K. Figueroa, G. Navarro, and E. Ch´avez. Metric spaces library, 2007. Available at http://www.sisap.org/Metric Space Library.html. 5. A. Pascal, A. De Battista, G. Gutierrez, and N. Herrera. Indice metrico-temporal event-fhqt. In Actas del XIIII Congreso Argentino de Ciencias de la Computaci´on, La Rioja, Argentina, 2008. 6. A. Pascal, De Battista, G. Gutierrez, and N. Herrera. Procesamiento de consultas m´etricotemporales. In XXIII Conferencia Latinoamericana de Inform´atica, pages 133–144, Costa Rica, 2007. 7. B. Salzberg and V. J. Tsotras. A comparison of access methods for temporal data. ACM Computing Surveys, 31(2), 1999.

1022


New Deletion Method for Dynamic Spatial Approximation Trees Fernando Kasi´an, Ver´onica Ludue˜na, Nora Reyes, and Patricia Roggero Departamento de Inform´atica, Universidad Nacional de San Luis, San Luis, Argentina {fkasian,vlud,nreyes,proggero}@unsl.edu.ar Abstract. The Dynamic Spatial Approximation Tree (DSAT) is a data structure specially designed for searching in metric spaces. It has been shown that it compares favorably against alternative data structures in spaces of high dimension or queries with low selectivity. The DSAT supports insertion and deletions of elements. However, it has been noted that eliminations degrade the structure over time. In [8] is proposed a method to handle deletions over the DSAT, which shown to be superior to the former in the sense that it permits controlling the expected deletion cost as a proportion of the insertion cost. In this paper we propose and study a new deletion method, based on the deletions strategies presented in [8], which has demonstrated to be better. The outcome is a fully dynamic data structure that can be managed through insertions and deletions over arbitrarily long periods of time without any reorganization. Keywords: multimedia databases, metric spaces, similarity search

1 Introduction “Proximity” or “similarity” searching is the problem of looking for objects in a set close enough to a query under a certain (expensive to compute) distance. Similarity search has become a very important operation in applications that deal with unstructured data sources. For example, multimedia databases manage objects without any kind of structure, such as images, fingerprints or audio clips. This has applications in a vast number of fields. Some examples are non–traditional databases, text searching, information retrieval, machine learning and classification, image quantization and compression, computational biology, and function prediction. All those applications can be formalized with the metric space model [3]. That is, there is an universe U of objects, and a positive real valued distance function d : U × U −→ R+ defined among them. This distance may (and ideally does) satisfy the three axioms that make the set a metric space: strict positiveness, symmetry, and triangle inequality. The smaller the distance between two objects, the more “similar” they are. We have a finite database S ⊆ U, which is a subset of the universe and can be preprocessed. Later, given a new object from the universe (a query q), we must retrieve all similar elements found in the database. There are two typical queries of this kind: Range query: retrieve all elements within distance r to q in S. Nearest neighbor query (k-NN): retrieve the k closest elements to q in S.

1023


The distance is considered expensive to compute. Hence, it is customary to define the complexity of search as the number of distance evaluations performed. We consider the number of distance evaluations instead of the CPU time because the CPU overhead over the number of distance evaluations is negligible in the DSAT. In this paper we are devoted to range queries. In [5] is shown how to build an nearest neighbors algorithm range-optimal using a range algorithm, so we can restrict our attention to range queries. Proximity search algorithms build an index of the database and perform queries using this index, avoiding the exhaustive search. For general metric spaces, there exist a number of methods to preprocess the database in order to reduce the number of distance evaluations [3]. All those structures work on the basis of discarding elements using the triangle inequality, and most use the classical divide-and-conquer approach. (which is not specific of metric space searching). The Spatial Approximation Tree (SAT) is a proposed data structure of this kind [6, 7], based on a concept: approach the query spatially. It has been shown that the SAT gives better space-time tradeoffs than the other existing structures on metric spaces of high dimension or queries with low selectivity [7], which is the case in many applications. The SAT, however, has some important weaknesses: it is relatively costly to build in low dimensions; in low dimensions or for queries with high selectivity (small r or k), its search performance is poor when compared to simpler alternatives; and it is a static data structure: once built, it is hard to add/delete elements to/from it. These weaknesses make the SAT unsuitable for important applications such as multimedia databases. The DSAT is a dynamic version of the SAT and overcomes its drawbacks. The dynamic SAT can be built incrementally (i.e., by successive insertions) at the same cost of its static version, and the search performance is unaffected. At first, the DSAT supports insertion and deletions of elements. However, that deletions degrade the structure over time, so in [8] was presented a deletion algorithm that does not degrade the search performance over time. This algorithm yielded better tradeoffs between search performance and deletion cost. In this paper we present another alternative method to delete an element of the DSAT which obtains better costs than methods described in [8]. Full dynamism is not so common in metric data structures [3]. While permitting efficient insertions is quite usual, deletions are rarely handled. In several indexes one can delete some elements, but there are selected elements that cannot be deleted at all. This is particularly problematic in the metric space scenario, where objects could be very large (e.g., images) and deleting them physically may be mandatory. Our algorithms permit deleting any element from a DSAT. This paper is organized as follows: In Section 2 we give a description of the DSAT. Section 3 presents our new improved deletion method, and Section 4 contains the empirical evaluation of our proposal. Finally, in Section 5 we conclude and discuss about possible extensions for our work.

2 Dynamic Spatial Approximation Trees In this section we briefly describe dynamic SAT (DSAT for short), in particular the version called timestamp with bounded arity presented in [8] as the better option to build incrementally the index, without any reconstruction after each insertion. To construct DSAT [8] incrementally a maximum tree arity is fixed, and also a timestamp of the

1024


Algorithm 1 Insertion of a new element x into a DSAT with root a. Insert(Node a, Element x) 1. R(a) ← max(R(a), d(a, x)) 2. c ← argminb∈N(a) d(b, x) 3. If d(a, x) < d(c, x) ∧ |N (a)| < M axArity Then 4. N (a) ← N (a) ∪ {x} 5. N (x) ← ∅, R(x) ← 0 6. time(x) ← CurrentT ime 7. CurrentT ime ← CurrentT ime + 1 8. Else Insert(c,x)

insertion time of each element is kept. Each node a in the tree is connected to its children, which form a set of elements called N (a), the neighbors of a. When inserting a new element x, its point of insertion is found by beginning from the tree root a and pe-rforming the following procedure. The element x is added to N (a) (as a new leaf node) if (1) x is closer to a than to any element b ∈ N (a), and (2) the arity of node a, |N (a)|, is not already maximal. Otherwise x is forced to choose the closest neighbor in N (a) and keep walking down the tree in a recursive manner, until we reach a node a such that x is closer to a than any b ∈ N (a) and the arity of node a is not maximal (this eventually occurs at a tree leaf). At this point x is added at the end of the list N (a), the current timestamp is put to x and the current timestamp is incremented. The following information is kept in each node a of the tree: the set of neighbors N (a), the timestamp time(a) of the insertion time of the node, and the covering radius R(a) with the distance between a and the farthest element in the subtree of a. Note that by reading neighbors from left to right timestamps increase. It also holds that the parent is always older than its children. The DSAT can be built by starting with a first single node a where N (a) = ∅ and R(a) = 0, and then performing successive insertions. Algorithm 1 gives the insertion process. 2.1 Searching The idea for range searching is to replicate the insertion process of relevant elements. That is, the process act as if it wanted to insert q but keep in mind that relevant elements may be at distance up to r from q, so in each decision for simulating the insertion of q a tolerance of ±r is permitted, so that it may be that relevant elements were inserted in different children of the current node, and backtracking is necessary. Two facts have to be considered. The first is that, when an element x was inserted, a node a in its path may not have been chosen as its parent because its arity was already maximal. So, at query time, instead of choosing the closest to x among {a} ∪ N (a), it may have chosen only among N (a). Hence, the minimization is performed only among elements in N (a). The second fact is that, at the time x was inserted, elements with higher timestamp were not yet present in the tree, so x could choose its closest neighbor only among elements older than itself. A better use of the timestamp information is made in order to reduce the work done inside older neighbors. Say that d(q, bi ) > d(q, bi+j ) + 2r. The process enters into the subtree of bi anyway because bi is older. However, only the elements with

1025


Algorithm 2 Searching for q with radius r in a DSAT rooted at a. RangeSearch(Node a, Query q, Radius r, Timestamp t) 1. If time(a) < t ∧ d(a, q) ≤ R(a) + r Then 2. If d(a, q) ≤ r Then Report a 3. dmin ← ∞ 4. For bi ∈ N (a) Do /* in ascending timestamp order */ 5. If d(bi , q) ≤ dmin + 2r Then 6. t ← min{t} ∪ {time(bj ), j > i ∧ d(bi , q) > d(bj , q) + 2r} 7. RangeSearch(bi ,q,r,t ) 8. dmin ← min{dmin , d(bi , q)}

timestamp smaller than that of bi+j should be considered when searching inside bi ; younger elements have seen bi+j and they cannot be interesting for the search if they are inside bi . As parent nodes are older than their descendants, as soon as a node inside the subtree of bi with timestamp larger than that of bi+j is found the search in that branch can stop, because all its subtree is even younger. Algorithm 2 shows the process to perform range searching. Note that, except in the first invocation, d(a, q) is already known from the invoking process. 2.2 Deletions To delete an element x, the first step is to find it in the tree. Unlike most classical data structures, doing this is not equivalent to simulating the insertion of x and seeing where it leads us to in the tree. The reason is that the tree was different at the time x was inserted. If x were inserted again, it could choose to enter a different path in the tree, which did not exist at the time of its first insertion. An elegant solution to this problem is to perform a range search with radius zero, that is, a query of the form (x, 0). This is reasonably cheap and will lead us to all the places in the tree where x could have been inserted. On the other hand, whether this search is necessary is application dependent. The application could return a handle when an object was inserted into the database, and therefore this search would not be necessary. This handle can contain a pointer to the corresponding tree node. Adding pointers to the parent in the tree would permit to locate the path for free (in terms of distance computations). Hence, in which follows, the location of the object is not considered as part of the deletion problem, although it has shown how to proceed if necessary. Several alternatives to delete elements from DSAT were studied in [8]. From the beginning they discarded the trivial option of marking the element as deleted without actually deleting it. As explained, this is likely to be unacceptable in most applications. It is assumed that the element has to be physically deleted. It may, if desired, keep its node in the tree, but not the object itself. It should be clear that a tree leaf can always be deleted without any complication, so the focus is on how to remove internal tree nodes. There are several proposed methods to delete an element from a DSAT, but in [8] the authors showed that the best option is based in ghost hyperplanes. This technique is inspired on an idea presented in [10] for dynamic gna–trees [2], called ghost hyperplanes. This method replaces the element being deleted by a leaf, which is easy to

1026


Algorithm 3 Deleting x from a DSAT, finding a substitute in the leaves of its subtree. FindSubstituteLeaf(Node x): Node DeleteGH1(Node x) 1. y ← x 1. b ← parent(x) 2. While N (y) = ∅ Do 2. If N (x) = ∅ Then 3. x←y 3. y ← FindSubstituteLeaf (x) 4. y ← argminc∈N(b) d(c, x) 4. dg (x) ← dg (x) + d(x, y) 5. Copy object of y into node x 5. N (x) ← N (x) − {y} 6. Else N (b) ← N (b) − {x} 6. Return y

delete. This way rebuilding is not necessary, but in exchange some tolerance must be considered when entering the replaced node at search time. Remind that the neighbors of a node b in the DSAT partition the space in a Voronoilike fashion, with hyperplanes. If element y replaces a neighbor x of b, the hyperplanes will be shifted (slightly, if y is close to x). We can think of a “ghost” hyperplane, corresponding to the deleted element x, and a real one, corresponding to the new element y. The data in the tree is initially organized according to the ghost hyperplane, but incoming insertions will follow the real hyperplane. A search must be able to find all elements, inserted before or after the deletion of x. For this sake, we have to maintain a tolerance dg (x) at each node x. This is set to dg (x) = 0 when x is first inserted. When x is deleted and the content of its node is replaced by y, we will set dg (x) = dg (x) + d(x, y) (the node is still called x although its object is that of y). Note that successive replacements may shift the hyperplanes in all directions so the new tolerance must be added to previous ones. At search time, we have to consider that each node x can actually be offset by dg (x) when determining whether or not we must enter a subtree. Therefore, we wish to keep dg () values as small as possible, that is, we want to find replacements that are as close as possible to the deleted object. When node x is deleted, we have to look for a substitute in its subtree to ensure that we reduce the problem size. Choosing a leaf substitute We descend in the subtree of x by the children closest to x all the time. When it reach a leaf y, it disconnect y from the tree and put y into the node of x, retaining the original timestamp of x. Then, the dg value of the node is updated. Choosing a neighbor substitute We select y as the closest to x among N (x) and copy object y into the node of x as above. If the former node of y was a leaf it delete it and finish. Otherwise we recursively continue the process at that node. So, we turn to ghost all the nodes in the path from x to a leaf of its subtree, following the closest neighbors. In exchange, the dg () values should be smaller. Choosing the nearest-element substitute We select y as the closest element to x among all the elements in the subtree of x and copy object y into the node of x as above. If the former node of y was a leaf we delete it and finish. Otherwise, we recursively continue the process at that node. Therefore, we turn to ghost some nodes in the path from x to a leaf of its subtree, following the nearest elements. The dg () values should be smaller than with the other alternatives. Algoritms 3, 4, and 5 detail these three deletion methods.

1027


Algorithm 4 Deleting x from a DSAT, choosing its replacement among its neighbors. DeleteGH2(Node x) 1. b ← parent(x) 2. If N (x) = ∅ Then 3. y ← argminc∈N(x) d(c, x), dg (x) ← dg (x) + d(x, y) 4. Copy object of y into node x 5. DeleteGH2 (y) 6. Else N (b) ← N (b) − {x}

Algorithm 5 Deleting x from a DSAT, choosing its replacement as its nearest element. DeleteGH3(Node x) 1. b ← parent(x) 2. If N (x) = ∅ Then 3. y ← NNsearch(x,x,1), dg (x) ← dg (x) + d(x, y) 4. Copy object of y into node x 5. DeleteGH3 (y) 6. Else N (b) ← N (b) − {x}

Thus, for a permanent regime that includes deletions, we must periodically get rid of ghost hyperplanes and reconstruct the tree to delete them. Just as with fake nodes [8], when we rebuild the subtree we get rid of all the ghost hyperplanes that are inside it. We set a maximum allowable proportion α of ghost hyperplanes, and rebuild the tree when this limit is exceeded.

3 A New Deletion Method In [8] it is concluded that the methods with the best performance during deletions use ghosts hyperplanes. Moreover, these methods have the possibility of using the parameter α to control the deletion average cost. Our new proposal to delete an element x is based on the best strategies presented in [8]. Therefore, this new proposed method is also based on the idea presented in [10], which use ghost hyperplanes. We believe that the way to achieve a good tradeoff between the number of hyperplanes and the displacement of each df can be obtained by replacing the deleted element x with the leaf of his subtree whose distance is minimal; i. e. the closest leaf in the complete subtree of x. Therefore, with each deletion only one new ghost hyperplane appears and the displacement of this ghost hyperplane, although it is not necessarily the smallest one possible, is expected to be fairly close to it. It is possible to notice, considering the presented algorithms in Section 2.2, that it is only needed to change the process invoked as FindSubstituteLeaf(x). This new algorithm has to choose the closest element to x between all the leaves in the subtree of x. Therefore, DeleteGH1(Node x) is similar to DeleteGH4(Node x) because only one ghost hyperplane appears after deletion. The Algorithm 6 shows this situation completely. In the function FindSubstituteNNLeaf all the leaves of the subtree of x are recovered in the set L of pairs (z, t), where z is a leaf of the subtree of x and t is his father. Q is a queue of elements to be used as an auxiliary data structure in a traversal

1028


Algorithm 6 Deleting x from a DSAT, finding a substitute as the closest leaf. DeleteGH4(Node x) 1. b ← parent(x) 2. If N (x) = ∅ Then 3. y ← FindSubstituteNNLeaf(x) 4. df (x) ← df (x) + d(x, y) 5. Copy object of y into node x 6. Else N (b) ← N (b) − {x} FindSubstituteNNLeaf(Node x): Node 1. Q ← ∅, L ← ∅ 2. For v ∈ N (x) 3. If N (v) = 0 Then L ← {(v, x)} 4. Else Q ← {v} 5. While Q not empty 6. b ← first element of Q, Q ← Q − {b} 7. For v ∈ N (b) 8. If N (v) = 0 Then L ← L ∪ {(v, b)} 9. Else Q ← Q ∪ {v} 10. (y, v) ← argmin(z,t)∈L d(x, z), N (v) ← N (v) − {y} 11. Return y

in level-order. Finally, when the full set of leaves of the subtree of x is determined, we select the leaf y that satisfies: d(x, y) < d(x, z), ∀(z, t) ∈ L − {(y, v)}, then y is returned after it is disconnected from its father. This new method is based on the idea to obtain a better deletion strategy by considering the best characteristics of GH1 and GH3: only one ghost hyperplane appears after each deletion, and its displacement is nearby to the possible best one. Clearly, we can also set a maximum allowable proportion α of ghost hyperplanes, and rebuild the tree when this limit is exceeded.

4 Experimental Results As it is aforementioned, we do not consider the cost to locate the element as part of the deletion problem, then the deletion costs obtained represent only the necessary work to effectively delete the element from the DSAT. Thus, we can directly compare our experimental results with those presented in [8]. To study the behavior and performance of this new deletion algorithm for DSAT, we need to evaluate the proper deletion costs and also the searching performance after that. In order to make a fairly comparison between the previous deletion methods and the new one, we use the same metric spaces considered in [8] to evaluate the performance of DSAT, available from [4]. We use the best arity for each space, as it is described in [8]. They are four real-life metric spaces with widely different histograms of distances: Strings: a dictionary of 69,069 English words. The distance is the edit distance, that is, the minimum number of character insertions, deletions and substitutions needed to make two strings equal.

1029


NASA images: a set of 40,700 20-dimensional feature vectors, generated from images downloaded from NASA. 1 The Euclidean distance is used. Color histograms: a set of 112,682 8-D color histograms (112-dimensional vectors) from an image database. 2 Any quadratic form can be used as a distance, so we chose Euclidean distance. Documents: a set of 1,265 documents under the Cosine similarity, heavily used in Information Retrieval [1]. In this model the space has one coordinate per term and documents are seen as vectors in this high dimensional space. The distance we use is the angle among the vectors. The documents are the files of the TREC -3 collection.3 There are two types of experiments: 1. We build the index with the 90% of the database elements, the other 10% is used as queries for range searches. After the index is built, we delete a 10% of elements randomly selected. 2. We use the 60%, 70%, 80%, and 90% of the database elements to build the index. Then we delete the 10%, 20%, 30%, and 40% respectively, in order to leave 50% of the elements into the tree in each index. It can be noticed that in each case the 50% of the database, that remains after deletions into the tree, is not necessarily the same set of elements, as the elements deleted are randomly selected. Then, we perform queries with the non-inserted 10% of database elements. We have tested several options in our experiments. For the parameter α we consider: 0% (without any ghost hyperplane), 1%, 3%, 10%, 30%, and 100% (without any rebuilding). In all cases, if α = 0%, as is pure rebuilding, costs are higher. Then, as the proportion α of allowed ghost hyperplanes grows, deletion costs decrease. For range search we consider three radii for the spaces with continuous distance, and four radii for Strings space (with discrete distance). For lack of space we only show some examples: for the first type of experiment, the comparison of deletion costs for α = 1% when the 10% of elements is deleted; for the second one, the comparison of search costs obtained after 40% of elements is deleted with α = 1%, considering the 10% of reserved elements as queries. Figure 1 shows, for the first type of experiment, the average deletion costs obtained per element when 10% of the elements is deleted. Figure 2 illustrates, for the second type of experiment, the average search costs per element, after 40% of the database is deleted using α = 1%, when we search with the reserved 10% of elements as queries. As it can be noticed, our deletion method (GH4) obtains very good performance, both in deletion and search costs, for all metric spaces considered.

5 Conclusions We have designed a new algorithm for efficient deletion in DSAT. This new algorithm has a low cost of deletion and allows that subsequent searches have a performance similar to the best algorithm proposed in [8]. On the other hand, efficient searches are still maintained: it is possible to apply the same algorithms of DSAT for range search and k closest neighbors. Our deletion algorithm kept, as a parameter, the proportion of 1

At http://www.dimacs.rutgers.edu/Challenges/Sixth/software.html At http://www.dbs.informatik.uni-muenchen.de/˜seidl/DATA/histo112.112682.gz 3 At http://trec.nist.gov 2

1030


allowed nodes with ghost hyperplanes in the tree, which permits us to tune search cost versus deletion cost. The outcome is a much more practical data structure that can be useful in a wide range of applications. We expect the DSAT, with the new deletion algorithm, to replace the static version in the developments to come. As future work we plan to add our new deletion algorithm to the existing version of DSAT for secondary memory [9], since it has the advantage that only one ghost hyperplane is created, so only two nodes have to be changed, for each deletion. In this case will be relevant both number of distance evaluations and number of I/O operations.

Deletion cost for n = 69,069 words, Arity 32, alpha = 1%

Deletion cost for n = 40,700 vectors, Arity 4, alpha = 1% 260

GH1 1600 GH2 GH3 1550 GH4 1500

250 240 Distance evaluations

Distance evaluations

1650

1450 1400 1350 1300 1250

230 GH1 GH2 GH3 GH4

220 210 200 190 180

1200

170

1150 1100

160 1

2

3 4 5 6 7 8 Deleted percentage of the dataabase

9

10

1

2

(a) Strings.

9

10

(b) NASA.

Deletion cost for n = 112,682 histograms, Arity 4, alpha = 1%

Deletion cost for n = 1,265 documents, Arity 4, alpha = 1%

400

350

350

300 Distance evaluations

Distance evaluations

3 4 5 6 7 8 Deleted percentage of the database

300 GH1 GH2 GH3 GH4

250 200

250

200

150

150 100

GH1 GH2 GH3 GH4

100 1

2

3 4 5 6 7 8 Deleted percentage of the database

(c) Color Histograms.

9

10

1

2

3 4 5 6 7 8 Deleted percentage of the database

9

10

(d) Documents.

Fig. 1. Comparison of deletion costs, for all deletion algorithms using α = 1%.

References 1. R. Baeza-Yates and B. Ribeiro-Neto. Modern Information Retrieval. Addison-Wesley, 1999. 2. S. Brin. Near neighbor search in large metric spaces. In Proc. 21st Conference on Very Large Databases (VLDB’95), pages 574–584, 1995. 3. E. Ch´avez, G. Navarro, R. Baeza-Yates, and J. Marroqu´ın. Searching in metric spaces. ACM Computing Surveys, 33(3):273–321, September 2001.

1031


4. K. Figueroa, G. Navarro, and E. Ch´avez. Metric spaces library, 2007. Available at http://www.sisap.org/Metric Space Library.html. 5. G. Hjaltason and H. Samet. Incremental similarity search in multimedia databases. Technical Report CS-TR-4199, University of Maryland, Computer Science Department, 2000. 6. G. Navarro. Searching in metric spaces by spatial approximation. In Proc. String Processing and Information Retrieval (SPIRE’99), pages 141–148. IEEE CS Press, 1999. 7. G. Navarro. Searching in metric spaces by spatial approximation. The Very Large Databases Journal (VLDBJ), 11(1):28–46, 2002. 8. G. Navarro and N. Reyes. Dynamic spatial approximation trees. ACM Journal of Experimental Algorithmics (JEA), 12:article 1.5, 2008. 68 pages. 9. G. Navarro and N. Reyes. Dynamic spatial approximation trees for massive data. In T. Skopal and P. Zezula, editors, SISAP, pages 81–88. IEEE Computer Society, 2009. 10. R. Uribe and G. Navarro. Una estructura din´amica para b´usqueda en espacios m´etricos. In Actas del XI Encuentro Chileno de Computaci´on, Jornadas Chilenas de Computaci´on, Chill´an, Chile, 2003. In Spanish. In CD-ROM.

Search cost for n = 69,069 words, Arity 32, 40% deleted, alpha = 1%

Search cost for n = 40,700 vectors, Arity 4, 40% deleted, alpha = 1%

28000

5800

GH1 26000 GH2 GH3 24000 GH4

GH1 GH2 5600 GH3 GH4 5400 Distance evaluations

Distance evaluations

22000 20000 18000 16000 14000

5200 5000 4800 4600

12000

4400 10000

4200

8000

4000 0.01

6000 1

2

3

4

(a) Strings. Search cost for n = 112,682 histograms, Arity 4, 40% deleted, alpha = 1%

Search cost for n = 1,265 documents, Arity 4, 40% deleted, alpha = 1% 225

GH1 GH2 GH3 GH4 14000

GH1 GH2 220 GH3 GH4 Distance evaluations

Distance evaluations

1

(b) NASA.

16000

12000

10000

8000

6000

4000 0.01

0.1 Retrieved percentage of the database

Radius

215 210 205 200 195

0.1 Retrieved percentage of the database

(c) Color Histograms.

1

190 0.01

0.1 Retrieved percentage of the database

1

(d) Documents.

Fig. 2. Comparison of search costs, after 40% of elements are deleted using α = 1%.

1032


Prototipo de búsqueda y comparación que aplica técnicas de recuperación de información en bases de datos relacionales Claudio Camacho, Walter Singer y Rosanna Costaguta Departamento de Informática, Facultad de Ciencias Exactas y Tecnologías (FCEyT) Universidad Nacional de Santiago del Estero (UNSE) Avda. Belgrano (S) 1912, Santiago del Estero, 4200, Argentina claudiocamacho@yahoo.com, singerwalter@gmail.com, rosanna@unse.edu.ar

Resumen. Una de las actividades más importante de una organización comercial es la adquisición de productos, ya que el encargado de compras debe tener en cuenta diversos aspectos como precios, ofertas, disponibilidad, y tiempo de entrega, entre otras cuestiones, a fin de tomar una decisión. Esto se vuelve una tarea complicada cuando la organización posee información de numerosos artículos que provienen de distintos proveedores, donde cada uno de ellos obviamente administra sus propias listas de precios y catálogos de productos, con nomenclaturas diferentes (código de artículo, descripción, etc.). Es así que al momento de, por ejemplo, comparar precios entre los distintos proveedores, no es fácil identificar productos equivalentes. Debido a lo expuesto resulta conveniente que el Sistema de Información de la organización posea ciertas características de búsqueda que permitan responder eficientemente a estas cuestiones. En este artículo se presenta un prototipo de herramienta de búsqueda aplicable sobre bases de datos relacionales, que utiliza técnicas de recuperación inteligente de información. Las pruebas realizadas arrojaron resultados muy satisfactorios. Palabras clave: Técnicas de Recuperación Inteligente de Información, Bases de Datos Relacionales, Sistemas de Información, Organizaciones Comerciales

1

Introducción

En la actualidad es cada vez mayor la utilización de Sistemas de Información (SI) en las distintas áreas de las organizaciones comerciales, así como también el incremento en los volúmenes de datos almacenados en sus Bases de Datos (BD). Debido a esto, la obtención de información a través de un determinado proceso se hace cada vez más ineficiente ya que el tiempo de respuesta de las consultas sobre los datos, es cada vez mayor y con resultados menos precisos. En particular en las organizaciones comerciales, en el área de compras es donde se concentran las decisiones que se deben tomar con respecto a la mejor opción de compra, y es por ello que generalmente se deben comparar los precios de los artículos en las listas de precios de los diferentes proveedores que comercializan un mismo

1033


producto. Realizar este proceso en forma manual requiere mucho tiempo, ya que cada artículo posee una nomenclatura propia (código, descripción, marca, etc.) para cada uno de los proveedores, y es aquí donde surge la necesidad de utilizar métodos y técnicas de búsqueda y clasificación más eficientes que ayuden a los usuarios a identificar artículos equivalentes o iguales. Dado lo expuesto, en este artículo se presenta una herramienta de RI y clasificación de los resultados para el SI de una organización comercial del medio, cuyo uso permitió optimizar los procesos de búsqueda y comparación por parte del usuario. El prototipo desarrollado utiliza librerías de RI (Sphinx 0.9.9-rc2) y técnicas de clasificación. La presente investigación fue desarrollada como trabajo final de graduación de dos de los autores, a fin de obtener el título de Licenciado en Sistemas de Información. Este artículo se organiza como sigue. En la sección 2 se describe brevemente la problemática que dio origen a este trabajo. La sección 3 contiene antecedentes relevantes. La sección 4 describe el prototipo desarrollado. La sección 5 documenta las pruebas efectuadas y el análisis de los resultados obtenidos. La sección 6 enuncia algunas conclusiones sobre el trabajo realizado.

2

Planteamiento del problema

Son muchas las tareas que se realizan en una organización comercial, una de las más importantes es la que involucra al área de compras. En esta área el encargado debe analizar y comparar artículos en extensas listas de artículos de distintos proveedores teniendo en cuenta ciertos factores como precio, marcas, tiempo de entrega de la mercadería, disponibilidad en stock en los proveedores, entre otros. Esta es una tarea que suele consumir un tiempo considerable sobre todo en el momento de identificar los artículos. Esta labor se vuelve aun más compleja si se tiene en cuenta que la nomenclatura (códigos, descripciones, marca, etc.) que se utiliza varía de un proveedor a otro. Existen casos en los que, por ejemplo, se suprime parte del código del artículo, en otros casos se agrega un código complementario al código del artículo, y hasta en otros casos el Código del artículo se sustituye completamente y el mismo es agregado como parte de la descripción del artículo. Así, puede ocurrir que un mismo artículo se presente dentro de la BD de maneras diferentes, con lo que la tarea de filtrar estos datos a través de una consulta estructurada es casi imposible dada la cantidad de variantes con la cuales se puede identificar un artículo. En la Tabla 1 puede observarse un ejemplo extraído del catálogo real de Cables Marca “NGK”. El artículo “CABLE DE BUJIA VW GOL”, cuyo código es “ST-V02”, aparece cargado tres veces en la tabla artículos de la organización ya que es suministrado por tres proveedores diferentes. Sin embargo, como puede observarse, el código de artículo ST-V02 aparece cargado como código de artículo en el caso del primer proveedor, como parte del código de artículo en el caso del segundo proveedor y como parte de la descripción del artículo para el tercer proveedor. Así, como puede observarse en el ejemplo de la Tabla 1, un mismo artículo se presenta dentro de la BD de la organización de maneras diferentes, y por tanto, la tarea de filtrar estos datos a través

1034


de una consulta estructurada es casi imposible por la cantidad de variantes con la cuales se puede identificar un artículo dado. Tabla 1. Fragmento de la BD de la organización

3

Código

Descripción de Artículo

Cód. Proveedor

STV02 … 0605STV02 … NGK-02 …

CABLE DE BUJIA … CABLE BUJIA SEN/ GOL … CABLE DE BUJIA NGK ST V02 …

1 … 5 … 12 …

Antecedentes relacionados

A continuación se describen brevemente dos trabajos relevantes que integran sistemas de recuperación de información con sistemas de bases de datos estructuradas o semiestructuradas. Sin embargo, cabe destacar que no se encontraron antecedentes en el ámbito comercial como el que se desarrolla aquí. En el ámbito de la salud se encontró un proyecto aplicado sobre la BD biomedicinal MEDLINE [1]. Esta cuenta con una BD donde cada registro almacena la referencia bibliográfica de un artículo científico publicado en una revista médica, conteniendo además datos básicos como título, autores, etc., posibilitando su recuperación a través de Internet. Los autores desarrollaron dos sistemas de indexación y búsqueda utilizando dos tecnologías aplicadas al tratamiento de los datos (LUCENE 1 y PostgreSQL2) que mejoró la capacidad de búsqueda y recuperación de información en MEDLINE. Una vez construidos ambos sistemas de búsqueda, éstos fueron evaluados en cuanto a rendimiento para luego decidir cuál era el más apropiado para manejar la base de datos de MEDLINE. Los autores eligieron a LUCENE porque está optimizada para bases de datos textuales y por tanto ofrece mejores posibilidades para tratar datos no estructurados. En [2] se extiende la estructura de un Sistema de Gestión de Base de Datos (SGBD) semiestructurada (XML) para agregar funciones de recuperación de información a las consultas estándares. La investigación se dividió en dos etapas: Diseño de la Arquitectura de la base de datos y Optimización de las consultas. Se formuló un modelo dividido en tres capas: Física, Lógica y Conceptual. La primera etapa de desarrollo abarcó las dos primeras capas, definiéndose un pequeño número de primitivas de recuperación en la capa lógica del SGBD, como una extensión de la arquitectura actual, para proveer consultas que combinen ambos enfoques (estructurado y no estructurado). Para evitar la redundancia en el procesamiento de las consultas los autores proponen crear reglas de optimización asociadas a las primitivas 1 2

Lucene es un grupo de librerías escritas en JAVA que brinda las primitivas necesarias para el tratamiento de datos textuales en la recuperación de información. PostgreSQL es un SGBD similar a MySQL u Oracle, pero más robusto que estos dos últimos cuando se necesita operar con BD grandes

1035


de estas consultas combinadas. Esta tarea es la que se realizará en la segunda etapa. Como resultado [3] se obtuvo un prototipo que realiza búsquedas en la colección de documentos de la base de datos y en la estructura de la misma (etiquetas XML) para obtener así información más certera.

4

El prototipo desarrollado

El prototipo se desarrolló teniendo en cuenta dos procesos principales: Proceso de RI y Proceso de Clasificación, los mismos a su vez están divididos en subprocesos. El proceso de RI está compuesto por los subprocesos: Depuración de datos, Indexación de datos y Búsqueda. El proceso de clasificación está compuesto por los subprocesos: Entrenamiento del clasificador y Clasificación de los resultados. Cada uno de estos subprocesos contempla la utilización de diferentes algoritmos y librerías de RI, así como también lenguajes de programación como SQL y Delphi. El motor de BD que se utilizó fue MySQL Server 5.0. 4.1. Los subprocesos de RI La depuración de datos implicó realizar tareas de limpieza sobre la BD, como ser la eliminación de caracteres extraños (por ej. &, %, #, ã, Ø, ©, Œ) y espacios innecesarios. Este subproceso de depuración es necesario para optimizar los resultados de la indexación. La depuración se realiza a nivel de capa de datos, es decir, como procedimientos almacenados en la BD y convocados por el prototipo, pero ejecutados por el motor de la BD. Cada vez que se ingresan nuevos registros o se modifican registros existentes, el prototipo ejecuta este subproceso para depurar solamente estos registros. La indexación genera un conjunto de archivos externos a la BD, cuya estructura es propia de la herramienta de RI utilizada (Sphinx). Este subproceso se realiza siempre que se agreguen nuevos datos a la BD. El prototipo, accede a los datos a través de una consulta sobre la tabla de interés, en la cual se seleccionan los campos que se desean indexar. El subproceso de búsqueda es el encargado de procesar las consultas de los usuarios utilizando el índice generado por el subproceso de Indexación. El prototipo convoca al subproceso de búsqueda para realizar una búsqueda, así, a partir de una consulta de usuario utiliza los archivos índice y devuelve un listado de artículos relevantes. Luego genera una tabla índice dentro de la BD con el campo identificador de la tabla de datos, seguidamente realiza una unión de la tabla índice con la tabla de datos, y de esta manera puede mostrar información más detallada de los registros encontrados como resultado final de la consulta. 4.2. Los subprocesos de Clasificación El subproceso de clasificación utiliza una modificación de los algoritmos propuestos por [4]. Aquí se clasifica cada registro de la lista obtenida por el subproceso de búsqueda teniendo en cuenta una categoría en particular. En primera instancia, se deduce o clasifica la consulta ingresada por el usuario para obtener cual es la

1036


categoría más probable a la que pertenece. En segunda instancia, el clasificador utiliza dicha categoría para clasificar la lista de registros. El criterio para ambos pasos es similar. Así el subproceso de clasificación se separa en dos subprocesos, en el primero se clasifica la consulta del usuario y se obtiene la categoría más probable, y en el segundo subproceso se ordenan los registros encontrados mediante la búsqueda y utilizando la categoría encontrada en el proceso anterior. Durante el entrenamiento del clasificador se utilizó el algoritmo de Naives Bayes [4]. A continuación se presenta el modelo bayesiano utilizado en el subproceso. Sean C un conjunto de clases tal que C={P,NP} donde P=“Pertenece” y NP=“No Pertenece”, C’={c1 ’,c2’,…,cm’} un conjunto de categorías definidas por el usuario en base a algún criterio subjetivo en donde cada una de éstas categorías toma los estados P y NP, X un conjunto de todos los artículos de la BD de la organización tal que X={x1,x2,…,xn} y V={t1,t2,…,tk} un conjunto de términos seleccionados en el proceso de indexación de la BD, se define la red bayesiana mostrada en la Figura 1 para realizar la clasificación de una lista de artículos en donde Ci representa las categorías definidas por el usuario y t1, …, tk son los términos claves que fueron indexados en el proceso de indexación.

ci

t1

t2

tk

Fig. 1. Red bayesiana para la clasificación de listado de registros

Teniendo en cuenta la ecuación (1), la probabilidad a priori de ci (P(ci )) y las probabilidades a posteriori de tj (P(tj/ci )) son estimadas en el proceso de entrenamiento sobre un conjunto inicial de artículos (registros). Para cada nuevo registro el prototipo convoca al subproceso de clasificación para la clase P y NP, luego obtiene el máximo valor de probabilidad entre P(P) y P(NP) para determinar si pertenece o no a una '

categoría ck determinada.

cMAP  arg max P(c | d )  arg max P(c) c

c

 P(t

1 k  nd

k

| c)

(1)

En el subproceso de entrenamiento, los parámetros que se deben tener en cuenta son: las categorías elegidas por el usuario, el conjunto de registros de entrenamiento y las dos clases, Pertenece (P) y No Pertenece (NP). Cada categoría posee estas dos clases. El algoritmo irá determinando las probabilidades P y NP para cada palabra de un conjunto de entrenamiento seleccionado a priori, considerando cada categoría

1037


definida. Cabe aclarar que estas palabras se obtuvieron mediante un algoritmo de selección de términos relevantes. Cuando se preparan los datos para el entrenamiento debe tenerse en cuenta que existe la posibilidad de que el usuario pueda ingresar nuevas categorías en cualquier momento. Además, luego de una clasificación de los resultados, el usuario podría clasificar manualmente cada registro para mejorar la exactitud del clasificador. El subproceso de clasificación identifica cual es la categoría más probable a la que pertenece la consulta, para esto se utiliza un algoritmo que permite clasificar e identificar entre todas las categorías cual es la más probable. El algoritmo devuelve un conjunto de registros L. Para clasificar la lista de resultados L devueltos por el buscador, se convoca a rutinas que permiten obtener un coeficiente de ordenamiento para cada registro de la lista. Este coeficiente indica la relevancia que tiene un registro con respecto a la consulta del usuario. Una vez obtenido el conjunto de coeficientes asociados a cada registro del listado L, éste es ordenado en forma ascendente utilizando dicho coeficiente. Se obtiene así un listado de registros ordenados por relevancia. La Tabla 2 muestra los procesos y subprocesos que componen el prototipo desarrollado. Tabla 2. Componentes del prototipo desarrollado Procesos Subprocesos Proceso de RI

Proceso de Clasificación

5

Descripción

Depuración

Elimina caracteres extraños.

Indexación

Busca en la BD palabras claves y los indexa guardando en un archivo externo.

Búsqueda

Utiliza el archivo índice generado para realizar búsqueda además de operaciones relacionales para obtener información más detallada sobre cada registro (artículos).

Entrenamiento

Se realiza con un conjunto inicial de registros previamente clasificados por el usuario, de manera encontrar una función que permita clasificar registros cuya categoría se desconozca.

Clasificación de los resultados

Determina a que categoría pertenecen nuevos registros de la lista de resultados devueltos por el proceso de búsqueda.

Experimentación y análisis de resultados

Las pruebas se realizaron considerando tres escenarios diferentes (Sistema Actual, Prototipo de búsqueda sin clasificador y Prototipo de búsqueda con clasificador). En los mismos se utilizaron como casos de prueba diez consultas especialmente formuladas por el encargado de compras de la organización, por ser ejemplos de búsquedas típicas en situaciones reales. Para evaluar los resultados obtenidos para los casos de prueba en cada uno de los tres escenarios propuestos se definieron cinco indicadores de rendimiento. La Tabla 3 muestra la unidad de medida y una pequeña descripción de cada uno de los indicadores utilizados.

1038


Tabla 3. Indicadores de rendimiento utilizados Indicadores U. de medida Milisegundos Tiempo de respuesta (TR) Cantidad de resultados (CR) Velocidad de respuesta (VR)

Registros

Precisión (P)

Valor real entre 0 y 1

Exhaustividad (E)

Valor real entre 0 y 1

Registros por milisegundo

Descripción Tiempo que el usuario debe esperar antes de obtener los resultados de su consulta Cantidad de resultados devueltos por el sistema Cantidad de registros por milisegundo que devuelve el sistema Proporción de registros relevantes dentro del conjunto de registros recuperados Proporción de registros relevantes de la BD que fueron recuperados

A fin de facilitar la comparación de los resultados de las pruebas realizadas con el SI actual (escenario 1), con el prototipo de búsqueda desarrollado pero sin el clasificador (escenario 2) y con el prototipo de búsqueda incluyendo el clasificador (escenario 3), los mismos se resumen en la Tabla 4. Como puede observarse, el indicador Tiempo de respuesta (TR) es el que más evidencia aporta para demostrar que el uso del prototipo es más eficiente. Utilizando el prototipo sin clasificador los tiempos de búsqueda se reducen hasta alcanzar una diferencia de velocidad media (Vm) 120 veces mayor a la del sistema actual, y cuando se utiliza el prototipo con clasificador la diferencia de velocidad media es aproximadamente 11 veces mayor a la del sistema actual de la organización. Si bien en los dos escenarios que se utilizó el prototipo de búsqueda TR disminuyó considerablemente, al utilizar el clasificador el TR es mayor por cuanto el prototipo debe realizar operaciones adicionales para cumplir con el objetivo de clasificar la lista de resultados antes de ser devuelta al usuario. Con respecto al indicador Cantidad de resultados (CR) puede afirmarse que no se observan cambios significativos entre los valores arrojados en cada escenario, existiendo sólo una variación de 30 registros en promedio. Comparando el indicador Velocidad de respuesta (VR) se observa que el prototipo de búsqueda sin clasificador es en promedio 13 veces más rápido que el prototipo con clasificador. Esto resulta lógico ya que como se explicó el prototipo de búsqueda que incluye al clasificador debe realizar tareas adicionales para clasificar los resultados antes de mostrárselos al usuario. La diferencia de velocidad media se calcula utilizando la ecuación (2): (2) Siendo tr1 y tr2 los tiempos de respuesta del sistema actual y del prototipo respectivamente, y n la cantidad de pruebas realizadas. El resultado obtenido de la división entre tr1 y tr2 indica cuantas veces más rápido es el prototipo de búsqueda que el sistema actual. Si tr1/tr2 > 1 entonces el prototipo es más rápido que el SI, si tr1/tr2 = 1 indica que el prototipo y el SI tienen el mismo TR, si tr1/tr2 < 1, el prototipo es más lento que el SI actual. En la ecuación (2) se busca obtener un valor

1039


Vm que indicará cuanto más rápido es el prototipo de búsqueda que el SI actual y debido a esto se calcula el promedio de los resultados de las divisiones de los TR. Tabla 4. Comparación de los indicadores obtenidos en los tres escenarios de prueba Casos de prueba amort* bora

rotula golf bujia corsa cable bujia gol*

correa 6pk* gol rot* gol thompson correa dist* gol* bujia golf

filtro aire gol* optica corsa vic

Escenarios

Indicadores de rendimiento TR

CR

VR

P

E

15702

57

0,004

0,614

1

140

45

0,321

0,511

0,657

2780 19030

45 52

0,016 0,003

0,511 0,731

0,657 1

172

32

0,186

0,813

0,684

2125 18186

32 52

0,015 0,003

0,813 0,500

0,684 1

62

21

0,339

0,714

0,577

1281 19905

21 99

0,016 0,005

0,714 0,909

0,577 1

203

36

0,177

1,000

0,400

1906 19530

36 86

0,019 0,004

1,000 1,000

0,400 1

235

39

0,166

1,000

0,453

2390 19811

39 52

0,016 0,003

1,000 1,000

0,453 1

79

28

0,354

1,000

0,538

1468 19201

28 110

0,019 0,006

1,000 0,536

0,538 1

250

78

0,312

0,372

0,492

3999 15218

78 62

0,020 0,004

0,372 0,468

0,492 1

Prototipo de RI

188

24

0,128

0,708

0,586

Prototipo de RI con Clasif. SI actual

1718 1998

24 79

0,014 0,040

0,708 0,709

0,586 1

SI actual Prototipo de RI Prototipo de RI con Clasif. SI actual Prototipo de RI Prototipo de RI con Clasif. SI actual Prototipo de RI Prototipo de RI con Clasif. SI actual Prototipo de RI Prototipo de RI con Clasif. SI actual Prototipo de RI Prototipo de RI con Clasif. SI actual Prototipo de RI Prototipo de RI con Clasif. SI actual Prototipo de RI Prototipo de RI con Clasif. SI actual

Prototipo de RI

297

65

0,219

0,677

0,786

3499 20076

65 32

0,019 0,002

0,677 0,688

0,786 1

Prototipo de RI

234

13

0,056

0,538

0,318

Prototipo de RI con Clasif.

781

13

0,017

0,538

0,318

Prototipo de RI con Clasif. SI actual

Respecto al indicador Precisión (P) se observa que en dos casos de prueba no existen diferencias en los resultados obtenidos usando el SI actual y el prototipo de

1040


búsqueda (con y sin clasificador), en cuatro casos el uso del prototipo mejora los resultados pero en otros cuatro los empeora. Dada esta situación se decidió calcular un valor promedio para el indicador, obteniéndose 0,715 para las pruebas con el SI actual y 0,733 con el prototipo. Estos resultados son un indicio de que el prototipo de búsqueda desarrollado es un poco más eficiente que el SI actual en la obtención de resultados relevantes. En cuanto al indicador Exhaustividad (E), se observó que el SI actual tiene mejor desempeño. Esto se debe en gran medida a la forma en la que se realizan las búsquedas en dicho sistema. Cabe destacar que este indicador por sí solo no demuestra nada, ya que si bien los valores llegan al máximo, se tiene que analizar la cantidad total de registros devueltos por la consulta y el tiempo de respuesta de la misma. En particular, los resultados arrojados por el prototipo de búsqueda, con y sin clasificador, presentan un valor medio es de 0,61 que se ubica por encima de la media general del indicador. Este valor medio podría mejorar ya que dependen en gran medida del conocimiento y practica que adquiera el usuario en la formulación de las consultas, es decir, cuanto más precisa sea la consulta del usuario, mejores resultados devolverá el prototipo, ya sea por la experiencia del mismo o por el uso de atajos que brinda el prototipo como son los comodines.

6

Conclusiones

El desarrollo del prototipo permitió al SI de la organización comercial incrementar su capacidad de búsqueda, ya que el mismo fue integrado satisfactoriamente a dicho SI. Luego del análisis de las pruebas realizadas al SI y al prototipo de búsqueda se pudo observar que se han mejorado notablemente los tiempos de respuesta, así como también la calidad de los resultados de las consultas de usuario. Esto se debe a que con la herramienta de RI utilizada (Sphinx) y la aplicación de técnicas de clasificación sobre los resultados, se logró obtener una lista refinada y ordenada de resultados considerando su relevancia respecto a la consulta de usuario. Además, es de resaltar que la precisión en los primeros puestos del ranking mejora a medida que el usuario realiza las consultas y el entrenamiento continuo del prototipo. Con el prototipo de RI desarrollado la organización comercial objeto de estudio logró obtener familias de artículos semánticamente similares en los cuales se encontraron registros sintácticamente diferentes, es decir, el prototipo devolvió artículos relevantes de diferentes proveedores cuyos códigos poseen diferente nomenclatura. Además, se pudo comprobar que incorporando tecnologías de la información como las técnicas de Minería de Datos y la Inteligencia Artificial a las técnicas convencionales, se resuelven estas situaciones de manera más eficiente que utilizando solamente procedimientos, técnicas y métodos convencionales. Actualmente se está considerando aplicar otras técnicas de clasificación, como por ejemplo, el vecino más cercano [4], a fin de comprobar si es posible mejorar aún más el desempeño del prototipo desarrollado.

1041


Referencias 1.

2.

3.

4. 5.

6.

7. 8.

García, F., Fernández, Ch., Azancot, M. (2007). Desarrollo de un sistema de indexación y búsqueda sobre la base de datos de biomedicina MEDLINE. Recuperado el 13 de marzo de 2013 en http://biblioteca. universia.net/html_bura/ ficha/params/id/45165231.html Hiemstra, D., Vries, A., Blok, H., Keulen, M., Jonker, W., Kersten, M. CIRQUID: Complex Information Retrieval queries in a Database. Recuperado el 13 de marzo de 2013 en http://doc.utwente.nl/47223/ 1/hiemstra03cirquid.pdf Johan, L., Vojkan, M., Ramirez, G., de Vries, A., Hiemstra, D., Blok, H. (2005). "TIJAH: Embracing IR Methods in XML Databases", Information Retrieval Journal 8, Kluwer Academic Publishers, ISSN 1386-4564, pp. 547570. Recuperado el 13 de marzo de 2013 en http://www.cs.utwente.nl/~hiemstra/papers/irj05.pdf Manning, C., Raghavan, P., Schütze, H. (2009). An Introduction to Information Retrieval. Cambridge, England: Cambridge University Press. Tolosa, G, Bordignon, F. (2008). Introducción a la Recuperación de Información: Conceptos, modelos y algoritmos básicos. (Universidad Nacional de Luján, Buenos Aires). Recuperado el 13 de marzo de 2013 en http://www.tyr.unlu.edu.ar/tallerIR/2008/docs/Introduccion-RI-v9f.pdf Brisaboa, N., Farina, A., Pedreira, O., Reyes, N. (2007). Indexación dinámica para la recuperación de información basada en búsqueda por similitud. Recuperado el 13 de marzo de 2013 en http://www.sistedes.es/sistedes/ pdf/2007/JISBD-07-brisaboa-indexacion.pdf Hernandez Orallo, J., Ramirez Quintana, M., Ferri Ramirez, C. (2004). Introducción a la Minería de Datos. Madrid, España: Prince Hall. Artayer, L. (2006). Construcción de un prototipo de un Sistema de Información Basado en Ontología Trabajo final para optar por el título de Licenciado en Sistemas de Información. Universidad Nacional de Santiago del Estero

1042


Declarado de InterĂŠs Municipal por el Honorable Concejo Deliberante del Partido de General Pueyrredon


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.