• No results found

3.5 Conversion of Lumped-Elements to Distributed Elements

3.5.1 Low-pass Filter

 

La estructura Registro de Propagaciones se genera y actualiza en la segunda        etapa del enfoque propuesto al igual que el Grafo Social. Y análogamente a este        último son utilizadas en etapas posteriores por diversos módulos. En la Figura 4.9        se ilustra el diagrama de clase de la unidad Registro de Propagaciones. 

 

Figura 4.9. Diagrama de clases de la unidad Registro de Propagaciones. 

 

Cabe destacar que por razones de prolijidad no se incluyen los       getters  y  setters de las clases Action.java y LogEntry.java.  

Como se puede apreciar en el diagrama de la Figura 4.9, el Log de Acciones        (o Registro de Propagaciones) contiene entradas y cada una de ellas contiene una        acción y un tiempo. Dichas entradas se implementan en la clase       LogEntry.java   y además de lo mencionado anteriormente, permiten diferenciar cuándo una        interacción tuvo un usuario intermedio y cuándo se realizó de manera directa. Esta       

información se utiliza luego para la Generación de Entradas del Influence Models,        perteneciente a la etapa 3 del enfoque propuesto. 

Respecto a la clase       Action.java   es un contenedor que indica, el identificador        normalizado de una acción o interacción, el tipo (      tweet, retweet, reply    ) y el texto que          contiene. Cabe recordar que el usuario contiene un listado de las acciones        realizadas. Esta clase es la que representa el módulo Acción visto en el diagrama        de la sección 4.1. 

Por último y siendo la clase más importante, se ilustra       ActionLog.java. Esta    clase contiene la estructura del denominado Registro de Propagaciones y permite la        agregación de nuevas interacciones. Es importante destacar que el registro de        interacciones se mantiene de manera ordenada primero por ID de acción y luego        por tiempo de realización. Esto es así para facilitar la creación de las entradas del        Influence Models, que será analizada en la sección siguiente. 

 

4.10. Volcado de Información

 

Este módulo pertenece a la primera parte de la etapa tres del enfoque        propuesto, la Obtención del Conjunto de Semillas. Para llevar a cabo esta última se        utiliza la herramienta denominada Influence Models [4]. Esta herramienta como se        explicó en el capítulo anterior permite cinco maneras de funcionamiento: 

­ Selección de Semillas para la Maximización de la Influencia bajo el CD.  ­ Determinar la Verdadera Propagación de Influencia de un conjunto de        semillas bajo el CD. 

­ Experimentos de Predicción de Propagación. 

­ Maximización de Influencia bajo los modelos LT e IC.  ­ Generación de Archivos de Entrada. 

 

El modo de trabajo a elegir se debe indicar en el archivo de configuración de        la herramienta, bajo el parámetro         phase . Cada uno de los modos anteriores se        identifica con un número entero y dependiendo del funcionamiento que se desee        utilizar el resto de los parámetros que son necesitados puede variar. En el caso        particular del enfoque propuesto, la         phase   a utilizar es la primera del listado anterior,        identificada con el número 12 (doce). Para ello, se deben indicar ocho parámetros        además del ya mencionado modo. A continuación son listados junto con una breve        descripción de los mismos: 

1. Phase: 12 ­ Selección de Semillas para la Maximización de la Influencia        bajo el CD. 

2. graphFile: ruta al archivo que contiene la información sobre el Grafo Social.        Cada línea debe contener 5 (cinco) columnas, separadas por un espacio en        blanco. Este archivo puede ser generado utilizando el quinto modo enunciado       

en la lista (Generación de Archivos de Entrada). A continuación se enumeran        las columnas y su contenido. 

● Columna 1: ID del usuario 1. Debe ser un entero positivo.  ● Columna 2: ID del usuario 2. Debe ser un entero positivo. El       

usuario 1 y el 2 son amigos. En esta etapa el grafo ya no es        dirigido. En cambio, si se utilizara el modo de Generación de        Archivos para producirlo, sí se debería establecer la dirección        de la arista. 

● Columna 3: Tiempo promedio tomado en propagarse las        acciones del usuario 1 hacia el usuario 2. La unidad temporal es        segundos. 

● Columna 4: Tiempo promedio tomado en propagarse las        acciones del usuario 2 hacia el usuario 1. La unidad temporal es        segundos. 

● Columna 5: Tiempo en segundos, en que el usuario 1 y el        usuario 2 se hacen amigos. Indicar 0 si el grafo es estático.        Como dicha información no es provista por Twitter, se indica el        valor cero en este campo para todas las filas. 

3. actionsFile: ruta al archivo que contiene la información sobre las trazas de        propagación. Cada línea debe contener 3 (tres) columnas, separadas por un        espacio en blanco. Las mismas se enumeran a continuación 

● Columna 1: ID del usuario. Debe ser un entero positivo.  ● Columna 2: ID de la acción. Debe ser un entero positivo. 

● Columna 3: Tiempo en segundos en que el usuario realizó la        acción. 

4. trainingActionsFile: ruta al archivo que contiene los IDs de las acciones que        están en el conjunto de entrenamiento. En este caso, el conjunto son todas        las interacciones que sobrepasan a los filtros. Cada línea debe contener una        única columna con el ID de la acción. 

5. userInflFile: ruta al archivo que contiene la información sobre la        influenciabilidad del usuario. Cada línea debe contener 3 (tres) columnas,        separadas por un espacio en blanco. Las mismas indican: 

● Columna 1: ID del usuario. Debe ser un entero positivo. 

● Columna 2: Número de acciones que el usuario realizó del        conjunto de entrenamiento. 

● Columna 3: Número de acciones que el usuario realizó del        conjunto de entrenamiento, en las cuales no fue el iniciador.  ● Columna 4: Es la división de la columna 3 sobre la 2 e indica la       

influenciabilidad del usuario. 

7. maxTuples: número máximo de tuplas en el log de acciones a ser        consideradas. Se debe indicar el valor numérico 0 si se desean considerar        todas. 

8. truncation_threshold: Umbral de Truncamiento. Valores por debajo de este        umbral son descartados del cómputo del crédito otorgado a nodos        influyentes. En los experimentos de [38] se determina que el valor 0.001        obtiene muy buenos resultados, aunque este valor puede ser modificado.  9. budget: número de semillas que se desean determinar. 

 

Como se puede apreciar algunos parámetros son básicos de la configuración        como la cantidad de semillas, el umbral de truncamiento, la cantidad de        interacciones a considerar, o el directorio donde crear el archivo de salida. Sin        embargo, los que resultan de interés para destacar son los relacionados con el        Grafo Social y el Log de Acciones. En la Figura 4.10 se ilustra la clase        FilesBuilder.java, en la cual el método       makeFiles() implementa la generación de los          archivos necesarios. Estos incluyen        graphFile actionsFiletrainingActionsFile   y userInflFile. Para el último archivo se utiliza la estructura del Grafo Social, mientras        que para el primero de ellos, solo el Registro de Propagaciones. Para la generación        del actionsFile se utilizan ambas estructuras. 

Cabe destacar que se debe indicar un directorio en el cual guardar dichos        archivos que luego debe coincidir con el directorio que selecciona las entradas para        la ejecución del Influence Models (módulo que se analiza en la sección siguiente).      Figura 4.10. Diagrama de clase que genera   las entradas del Influence Models.   

También puede apreciarse la existencia del método       getOlderTime(), el cual      se encarga de retornar el tiempo más antiguo registrado en el Log de Acciones. Este        tiempo se utiliza para normalizar los valores de los demás tiempos. Es decir, el        tiempo más antiguo se utiliza como valor 1, y en base a él se normalizan los demás.        Esto es así, ya que la representación de los tiempos se encuentra en milisegundos        desde el 1ro de Junio de 1970 y el Influence Models no permite valores        extremadamente altos.   

   

4.11. Ejecución del Influence Models

 

Related documents