Olá Stanislaw,
Eu li seu artigo em https://gist.github.com/creaktive/1924499 e achei
bastante didático, principalmente sobre a parte estatística.
No entanto, eu devo dizer que é possível sim utilizar persistência com o
AI::Categorizer:
if ( -e $store_file ) {
$know_set = AI::Categorizer::KnowledgeSet->restore_state($store_file);
$c = AI::Categorizer->new(
knowledge_set => $know_set,
verbose => 0
);
}
else {
$know_set = AI::Categorizer::KnowledgeSet->new(
name => 'Integration Errors',
verbose => 0
);
$c = AI::Categorizer->new(
knowledge_set => $know_set,
verbose => 0
);
create_categs(
{ file => $cat_file, categorizer => $c, stop_words =>
$stopwords } );
$know_set->save_state($store_file);
}
O fato de poder evitar "reaprender" economizou tempo, ciclo de CPU e
memória no programa que desenvolvi.
No mais, por qual motivo você optou por usar MongoDB como backend? Digo,
além da escalabilidade? Não existe uma possível perda de dados neste caso?
[]'s
Alceu
Em 18-04-2013 10:03, Stanislaw Pusep escreveu:
Não dá: ele é high-level demais. O que pode ser feito é uma gambiarra:
pre-processar o documento e representá-lo com hashes de seus tokens
customizados. Uma excelente referencia:
http://hunch.net/~jl/projects/hash_reps/index.html
ABS()
2013/4/18 Alceu Rodrigues de Freitas Junior <[email protected]
<mailto:[email protected]>>
De fato foram ótimas dicas.
Só fiquei com uma dúvida: como controlar o AI::Categorizer para
utilizar como tokens mais de uma palavra?
[]'s
Alceu
=begin disclaimer
Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: [email protected]
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer