NAME
   Algorithm::ContextVector - Simple implementation based on
   Data::CosineSimilarity

SYNOPSIS
    my $cv = Algorithm::ContextVector->new( top => 300 );

    $cs->add_instance( label => 'label1', attributes => { feature1 => 3, feature2 => 1, feature3 => 10 } );
    $cs->add_instance( label => [ 'label2', 'label3' ], attributes => { ... } );
    $cs->add_instance( label => ..., attributes => ... );
    ...

    $cv->train;

    my $results = $cv->predict( attributes => { ... } );

DESCRIPTION
   Simple implementation based on Data::CosineSimilarity

 $class->new( top => ... )
   During the training, keeps the $top most heavy weighted features. Keeps
   the complete feature set if omitted.

 $class->new_from_file( $filename )
   Returns the instance of Algorithm::ContextVector stored in $filename.

 $self->save_to_file( $filename )
   Save the $self to $filename using Storable.

 $self->add_instance( label => [ ... ], attributes => { ... } )
 $self->train
   Keeps the best features (top N) and norms the vectors.

 $self->predict( attributes => { ... } )
   Returns a hashref with the labels as the keys and the cosines as the
   values.

AUTHOR
   Antoine Imbert, "<antoine.imbert at gmail.com>"

LICENSE AND COPYRIGHT
   This library is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.