NAME

Lingua::JA::TermExtractor - Term Extractor

SYNOPSIS

use Lingua::JA::TermExtractor;
use utf8;
use feature qw/say/;
use Data::Printer;

my $extractor = Lingua::JA::TermExtractor->new(
    api               => 'YahooPremium',
    appid             => $appid,
    fetch_df          => 1,
    Furl_HTTP         => { timeout => 3 },
    driver            => 'TokyoTyrant',
    df_file           => 'localhost:1978',
    pos1_filter       => [qw/非自立 代名詞 数 ナイ形容詞語幹 副詞可能 サ変接続/],
    term_length_min   => 2,
    tf_min            => 2,
    df_min            => 1_0000,
    df_max            => 500_0000,
    ng_word           => [qw/編集 本人 自身 自分 たち さん/],
    fetch_unk_word_df => 0,
    concatenation_max => 100,
);

p $extractor->extract($document)->dump;
p $extractor->extract(\@documents)->dump;

for my $result (@{ $extractor->extract(\@documents)->list(50) })
{
    my ($word, $score) = each %{$result};

    say "$word: $score";
}

DESCRIPTION

Lingua::JA::TermExtractor is a term extractor. This extracts terms from a document or documents.

new( %config || \%config )

Creates a new Lingua::JA::TermExtractor instance.

The following configuration is used if you don't set %config.

KEY                 DEFAULT VALUE
-----------         ---------------
k1                  2.0
b                   0.75

pos1_filter         [qw/非自立 代名詞 数 ナイ形容詞語幹 副詞可能 接尾/]
pos2_filter         []
pos3_filter         []
ng_word             []
term_length_min     2
term_length_max     30
concatenation_max   30
tf_min              1
df_min              0
df_max              250_0000_0000
fetch_unk_word_df   0

idf_type            1
api                 'Yahoo'
appid               undef
driver              'Storable'
df_file             undef
fetch_df            1
expires_in          365
documents           250_0000_0000
Furl_HTTP           undef
k1 => $value

The weight of term frequency(TF).

b => $value

The weight of document length normalization.

pos(1|2|3)_filter, ng_word, term_length_(min|max), concatenation_max, tf_min, df_(min|max), fetch_unk_word_df

See Lingua::JA::TFWebIDF.

idf_type, api, appid, driver, df_file, fetch_df, expires_in, documents, Furl_HTTP

See Lingua::JA::WebIDF.

extract( $document || \@documents )

Extracts terms from $document or \@documents. Word segmentation and POS tagging is done with MeCab.

tfidf, tf

See Lingua::JA::TFWebIDF.

idf, df, purge, db_open, db_close

See Lingua::JA::WebIDF.

AUTHOR

pawa <pawapawa@cpan.org>

SEE ALSO

Lingua::JA::WebIDF.

Lingua::JA::WebIDF::Driver::TokyoTyrant.

Lingua::JA::TFWebIDF.

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.