AI::Categorizer::Learner::SVM - Support Vector Machine Learner
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";
}
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.
This class inherits from the
"AI::Categorizer::Learner" class, so all of
its methods are available unless explicitly mentioned here.
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'.
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.
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.
Saves the categorizer for later use. This method is inherited from
"AI::Categorizer::Storable".
Ken Williams, ken@mathforum.org
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.
AI::Categorizer(3), Algorithm::SVM(3)