⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rocchio.pm

📁 AI::Categorizer is a framework for automatic text categorization. It consists of a collection of Per
💻 PM
字号:
package AI::Categorizer::Learner::Rocchio;$VERSION = '0.01';use strict;use Params::Validate qw(:types);use AI::Categorizer::FeatureVector;use AI::Categorizer::Learner::Boolean;use base qw(AI::Categorizer::Learner::Boolean);__PACKAGE__->valid_params  (   positive_setting => {type => SCALAR, default => 16 },   negative_setting => {type => SCALAR, default => 4  },   threshold        => {type => SCALAR, default => 0.1},  );sub create_model {  my $self = shift;  foreach my $doc ($self->knowledge_set->documents) {    $doc->features->normalize;  }    $self->{model}{all_features} = $self->knowledge_set->features(undef);  $self->SUPER::create_model(@_);  delete $self->{knowledge_set};}sub create_boolean_model {  my ($self, $positives, $negatives, $cat) = @_;  my $posdocnum = @$positives;  my $negdocnum = @$negatives;    my $beta = $self->{positive_setting};  my $gamma = $self->{negative_setting};    my $profile = $self->{model}{all_features}->clone->scale(-$gamma/$negdocnum);  my $f = $cat->features(undef)->clone->scale( $beta/$posdocnum + $gamma/$negdocnum );  $profile->add($f);  return $profile->normalize;}sub get_boolean_score {  my ($self, $newdoc, $profile) = @_;  return $newdoc->features->normalize->dot($profile);}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -