use strict;
our @ISA = qw(Lingua::YaTeA::TermCandidate);
our $VERSION=$Lingua::YaTeA::VERSION;
sub new
{
my ($class) = @_;
my $this = $class->SUPER::new;
bless ($this,$class);
return $this;
}
sub searchHead
{
my ($this) = @_;
return $this;
}
sub setOccurrences
{
my ($this,$phrase_occurrences_a,$offset,$word_length,$maximal) = @_;
my $phrase_occurrence;
foreach $phrase_occurrence (@$phrase_occurrences_a)
{
my $occurrence = Lingua::YaTeA::Occurrence->new;
$occurrence->{SENTENCE} = $phrase_occurrence->getSentence;
$occurrence->{START_CHAR} = $phrase_occurrence->getStartChar + $offset;
$occurrence->{END_CHAR} = $phrase_occurrence->getStartChar + $offset + $word_length;
$occurrence->{MAXIMAL} = $maximal;
$this->addOccurrence($occurrence);
}
}
sub getPOS
{
my ($this) = @_;
return $this->getWords->[0]->getPOS;
}
sub getIF
{
my ($this) = @_;
return $this->getWords->[0]->getIF;
}
sub addMonolexicalOccurrences
{
my ($this,$phrase_set,$monolexical_transfer_h) = @_;
my $key = $this->getIF . "~" . $this->getPOS . "~" . $this->getLF;
my $occurrences_a;
if(exists $phrase_set->{$key})
{
$occurrences_a = $phrase_set->{$key}->getOccurrences;
$this->addOccurrences($occurrences_a);
$phrase_set->{$key}->setTC(1);
$monolexical_transfer_h->{$phrase_set->{$key}->getID}++;
}
}
sub getHeadAndLinks
{
my ($this,$LGPmapping_h) = @_;
my $head = $this->getWord(0);
my @links;
return ($head,0,\@links);
}
1;
__END__
=head1 NAME
Lingua::YaTeA::MonolexicalTermCandidate - Perl extension for the monolexical term candidate
=head1 SYNOPSIS
use Lingua::YaTeA::MonolexicalTermCandidate;
Lingua::YaTeA::MonolexicalTermCandidate->new();
=head1 DESCRIPTION
The module implements the monolexical (r single word) term
candadiate. It inheris of the module C<Lingua::YaTeA::TermCandidate>.
=head1 METHODS
=head2 new()
new();
the methods creates a new monolexical term candidate.
=head2 searchHead()
searchHead();
The method returns the head component of the term candidate. As it is
single word term candidate, the head component is the current node.
=head2 setOccurrences()
setOccurrences($phrase_occurrences_a,$offset,$word_length,$maximal);
The method associates a list of new occurrence, referred by
C<$phrase_occurrences_a> to the current term candidate. C<$offset> is
the offset of all the occurrences of the list in the document.
C<$word_length> is the length of the word string. C<$maximal>
indicates if the occurrence is a maximal noun phrase.
=head2 getPOS()
getPOS();
The method returns the Part-Of-Speech tag of the word associated to
the term candidate.
=head2 getIF()
getIF();
The method returns the inflected form of the word associated to the
term candidate.
=head2 addMonolexicalOccurrences()
addMonolexicalOccurrences($phrase_set,$monolexical_transfer_h);
The method adds a list new occurrences C<$phrase_set> to the list of
occurrences of the current term candidate.
C<$monolexical_transfer_h> is a reference to a hashtable containing
the phrases that can not be parsed (monolexical phrase are considered
as unparsable).
=head2 getHeadAndLinks()
getHeadAndLinks($LGPmapping_h);
The method returns the head of the current term candidate (the term
candidate itself) and a reference to an empty array containing the
syntactic relations.
=head1 SEE ALSO
Sophie Aubin and Thierry Hamon. Improving Term Extraction with
Terminological Resources. In Advances in Natural Language Processing
(5th International Conference on NLP, FinTAL 2006). pages
380-387. Tapio Salakoski, Filip Ginter, Sampo Pyysalo, Tapio Pahikkala
(Eds). August 2006. LNAI 4139.
=head1 AUTHOR
Thierry Hamon <thierry.hamon@univ-paris13.fr> and Sophie Aubin <sophie.aubin@lipn.univ-paris13.fr>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2005 by Thierry Hamon and Sophie Aubin
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.6 or,
at your option, any later version of Perl 5 you may have available.
=cut