model
Class ItemVector

java.lang.Object
  extended by model.ItemVector

public class ItemVector
extends java.lang.Object

Esta clase modela el vector de un articulo del sistema.

Su representacion encapsula el array de pesos del vector. La idea es abstraer la representacion del vector, independizandola del metodo utilizado para su creacion.
Ademas, se implementan un conjunto de operaciones relacionadas con vectores: norma, suma vectorial, distancia, etc.


Field Summary
protected  int item_id
           
protected  int n
           
protected  float[] values
           
 
Constructor Summary
ItemVector()
          constructor por defecto de la clase
ItemVector(int n)
          construye un vector nulo, de dimension n
 
Method Summary
 float distance(ItemVector vector)
          calcula la distancia coseno entre dos vectores
 int getId()
          retorna el id del raticulo asociado al vector
 int getN()
          retorna el largo del vector
 float[] getValues()
          retorna el arreglo de pesos del vector
 void load(int item_id, java.sql.Connection con)
          carga los datos de un vector, desde la base de datos.
 void load(java.lang.String line)
          carga linea de texto, con la representacion extendida de un vector
 double norm()
          retorna la norma euclidiana del vector
 ItemVector normalize(int n)
          normaliza las componentes del vector, diviendo sus coordenadas por n
 void reduceVector(ItemVector x)
          realiza la resta vectorial de un vector.
 void save2db(java.sql.Connection con)
          almacena el item-vector en la base de datos.
 void setId(int item_id)
          establece el id del articulo asociado a este item-vector
 void setValues(double[] values)
          establece el array de pesos del vector
 void sumVector(ItemVector x)
          suma vectorialmente este vector con otro, posiblemente de dif.dimension
 java.lang.String toString()
          entrega la representacion comprimida (sparse) de las coordenadas de este vector
 java.lang.String toString(int n)
          entrega la representacion comprimida de las n primeras coordenadas de este vector
 java.lang.String toStringLabels(int num, java.lang.String labelfile)
          entrega la representacion de las n principales coordenadas (palabras) Este metodo existe solo con fines de debug...
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

values

protected float[] values

n

protected int n

item_id

protected int item_id
Constructor Detail

ItemVector

public ItemVector()
constructor por defecto de la clase


ItemVector

public ItemVector(int n)
construye un vector nulo, de dimension n

Parameters:
n - la dimension del vector
Method Detail

load

public void load(java.lang.String line)
          throws TopicSystemException
carga linea de texto, con la representacion extendida de un vector

Parameters:
line - la linea con los valores del vector a crear
Throws:
TopicSystemException - en caso de formato incorrecto de la linea cargada

provoca el fin del sistema


load

public void load(int item_id,
                 java.sql.Connection con)
          throws TopicSystemException
carga los datos de un vector, desde la base de datos.

El vector se encuentra en formato comprimido

Parameters:
item_id - el identificador del vector a cargar
con - la referencia a la conexion a la BD
Throws:
TopicSystemException

getValues

public float[] getValues()
retorna el arreglo de pesos del vector

Returns:
el array de valores con los pesos del vector

setValues

public void setValues(double[] values)
establece el array de pesos del vector

Parameters:
values - el array de valores

getId

public int getId()
retorna el id del raticulo asociado al vector


setId

public void setId(int item_id)
establece el id del articulo asociado a este item-vector

Parameters:
item_id - el identificador a setear

sumVector

public void sumVector(ItemVector x)
suma vectorialmente este vector con otro, posiblemente de dif.dimension

Parameters:
x - el vector que provoca el desplazamiento (del centroide)

reduceVector

public void reduceVector(ItemVector x)
realiza la resta vectorial de un vector. En el caso general, el vector x sera de menor dimension que this.

Parameters:
x - el vector a restar

normalize

public ItemVector normalize(int n)
normaliza las componentes del vector, diviendo sus coordenadas por n

Parameters:
n - el valor a usar en la division

distance

public float distance(ItemVector vector)
calcula la distancia coseno entre dos vectores

Parameters:
vector - el otro vector con el que calculara la distancia
Returns:
la distancia entre este vector y el argumento

norm

public double norm()
retorna la norma euclidiana del vector

Returns:
la norma del vector

getN

public int getN()
retorna el largo del vector

Returns:
la dimension del arreglo de pesos

toString

public java.lang.String toString()
entrega la representacion comprimida (sparse) de las coordenadas de este vector

Overrides:
toString in class java.lang.Object
Returns:
el string que representa al vector

toString

public java.lang.String toString(int n)
entrega la representacion comprimida de las n primeras coordenadas de este vector

Parameters:
n - el numero de dimensiones a mostrar
Returns:
el string que representa al vector

toStringLabels

public java.lang.String toStringLabels(int num,
                                       java.lang.String labelfile)
                                throws TopicSystemException
entrega la representacion de las n principales coordenadas (palabras)

Este metodo existe solo con fines de debug...
Permite visualizar las k palabras que representan las coordenadas mas significativas para el vector centroide.

Parameters:
num - el numero de dimensiones a recuperar
Returns:
el string con las palabras y sus pesos
Throws:
TopicSystemException - en caso de que falle la carga de la word-list

provoca el fin del sistema


save2db

public void save2db(java.sql.Connection con)
             throws TopicSystemException
almacena el item-vector en la base de datos.

Parameters:
con - la referencia a la conexion a la base de datos
Throws:
TopicSystemException - en caso de error de BD al salvar el item-vector

provoca el fin del sistema