NAME
AI::Categorizer::Learner::Boolean - Abstract class for boolean categorizers
SYNOPSIS
@ISA
=
qw(AI::Categorizer::Learner::Boolean)
;
sub
create_boolean_model {
my
(
$self
,
$positives
,
$negatives
,
$category
) =
@_
;
...
return
$something_helpful
;
}
sub
get_boolean_score {
my
(
$self
,
$document
,
$something_helpful
) =
@_
;
...
return
$score
;
}
DESCRIPTION
This is an abstract class which turns boolean categorizers (categorizers based on algorithms that can just provide yes/no categorization decisions for a single document and single category) into multi-valued categorizers. For instance, the decision tree categorizer AI::Categorizer::Learner::DecisionTree
maintains a decision tree for each category, then uses it to decide whether a certain document belongs to the given category.
Any class that inherits from this class should implement the following methods:
create_boolean_model()
Used during training to create a category-specific model. The type of model you create is up to you - it should be returned as a scalar. Whatever you return will be available to you in the get_boolean_score()
method, so put any information you'll need during categorization in this scalar.
In addition to $self
, this method will be passed three arguments. The first argument is a reference to an array of positive examples, i.e. documents that belong to the given category. The next argument is a reference to an array of negative examples, i.e. documents that do not belong to the given category. The final argument is the Category object for the given category.
get_boolean_score()
Used during categorization to assign a score for a single document relative to a single category. The score should be between 0 and 1, with a score greater than 0.5 indicating membership in the category.
In addition to $self
, this method will be passed two arguments. The first argument is the document to be categorized. The second argument is the value returned by create_boolean_model()
for this category.
AUTHOR
Ken Williams, <ken@mathforum.org>
SEE ALSO
AI::Categorizer