Clair

SentenceFeatures


SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods

SummaryTop
Clair::SentenceFeatures - a collection of sentence feature subroutines

Package variablesTop
No package variables defined.

Included modulesTop
Carp
Clair::Centroid
Clair::Config
Clair::IDF
Exporter
MEAD::SimRoutines
lib " $MEAD_HOME /lib "

InheritTop
Exporter

SynopsisTop
    
    use Clair::SentenceFeatures qw(length_feature);
    use Clair::Document;
    my $doc = Clair::Document->new( ... );
    $doc->compute_sentence_feature(name => "length", 
        length_feature => \&length_feature );

DescriptionTop
This module contains sentence feature scripts to use with the
compute_sentence_feature methods in Clair::Document and Clair::Cluster.

MethodsTop
centroid_featureNo descriptionCode
length_featureNo descriptionCode
position_featureNo descriptionCode
sim_with_first_featureNo descriptionCode

Methods description


None available.

Methods code


centroid_featuredescriptionprevnextTop
sub centroid_feature {
    my %params = @_;
    my $state = $params{state};

    # Pre-compute the centroid
unless (defined $state->{initialized}) { my $text; if (defined $params{cluster}) { $text = $params{cluster}->get_text(); } else { $text = $params{document}->get_text(); } open_nidf("$MEAD_HOME/etc/enidf"); my $centroid = Clair::Centroid->new(); $centroid->add_document($text); $state->{centroid} = $centroid; $state->{initialized} = 1; } my $sent = $params{sentence}; return $state->{centroid}->centroid_score($sent);
}

length_featuredescriptionprevnextTop
sub length_feature {
    my %params = @_;
    my $sent_doc = Clair::Document->new(string => $params{sentence});
    my @words = $sent_doc->split_into_words();
    return scalar @words;
}

position_featuredescriptionprevnextTop
sub position_feature {
    my %params = @_;
    my $total = scalar $params{document}->sentence_count();
    my $index = $params{sentence_index};
    if ($total > 0) {
        return ($total - $index) / $total;
} else { return undef; }
}

sim_with_first_featuredescriptionprevnextTop
sub sim_with_first_feature {
    my %params = @_;
    my @sents = $params{document}->get_sentences();
    my $sent = $params{sentence};
    my $first_sent = $sents[0];

    return GetLexSim($sent, $first_sent);
}

General documentation


SEE ALSOTop
Clair::Document, Clair::Cluster.