The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

AI::Categorizer::Learner::SVM - Support Vector Machine Learner

SYNOPSIS

  use AI::Categorizer::Learner::SVM;
  
  # Here $k is an AI::Categorizer::KnowledgeSet object
  
  my $l = new AI::Categorizer::Learner::SVM(...parameters...);
  $l->train(knowledge_set => $k);
  $l->save_state('filename');
  
  ... time passes ...
  
  $l = AI::Categorizer::Learner->restore_state('filename');
  while (my $document = ... ) {  # An AI::Categorizer::Document object
    my $hypothesis = $l->categorize($document);
    print "Best assigned category: ", $hypothesis->best_category, "\n";
  }

DESCRIPTION

This class implements a Support Vector Machine machine learner, using Cory Spencer's Algorithm::SVM module. In lots of the recent academic literature, SVMs perform very well for text categorization.

METHODS

This class inherits from the AI::Categorizer::Learner class, so all of its methods are available unless explicitly mentioned here.

new()

Creates a new SVM Learner and returns it. In addition to the parameters accepted by the AI::Categorizer::Learner class, the SVM subclass accepts the following parameters:

svm_kernel

Specifies what type of kernel should be used when building the SVM. Default is 'linear'. Possible values are 'linear', 'polynomial', 'radial' and 'sigmoid'.

train(knowledge_set => $k)

Trains the categorizer. This prepares it for later use in categorizing documents. The knowledge_set parameter must provide an object of the class AI::Categorizer::KnowledgeSet (or a subclass thereof), populated with lots of documents and categories. See AI::Categorizer::KnowledgeSet for the details of how to create such an object.

categorize($document)

Returns an AI::Categorizer::Hypothesis object representing the categorizer's "best guess" about which categories the given document should be assigned to. See AI::Categorizer::Hypothesis for more details on how to use this object.

save_state($path)

Saves the categorizer for later use. This method is inherited from AI::Categorizer::Storable.

AUTHOR

Ken Williams, ken@mathforum.org

COPYRIGHT

Copyright 2000-2003 Ken Williams. All rights reserved.

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

SEE ALSO

AI::Categorizer(3), Algorithm::SVM(3)