Boa noite Alceu, desculpe pela demora.
Todas as implementações de classificador bayesiano que encontrei no CPAN
trabalham com as estruturas de dados nativas do Perl, ou seja, na RAM.
Quando a persistência é implementada, é através da serialização por
Storable.
Bom, no meu caso, a interface com o categorizador se daria por meio de um
webservice. E o volume se dados com que trabalhei ameaçava não caber na RAM
de uma máquina só. No mais, usei map/reduce do MongoDB para implementar um
categorizador bayesiano "just for fun", por que aparentemente ninguém tinha
feito isso ainda :P


ABS()


2013/5/7 Alceu Rodrigues de Freitas Junior <glasswal...@yahoo.com.br>

> Olá Stanislaw,
>
> Eu li seu artigo em 
> https://gist.github.com/**creaktive/1924499<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<http://hunch.net/~jl/projects/hash_reps/index.html>
>>
>>
>> ABS()
>>
>>
>> 2013/4/18 Alceu Rodrigues de Freitas Junior <glasswal...@yahoo.com.br
>> <mailto:glasswal...@yahoo.com.**br <glasswal...@yahoo.com.br>>>
>>
>>
>>     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: SaoPaulo-pm@pm.org
> L<http://mail.pm.org/mailman/**listinfo/saopaulo-pm<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> >
> =end disclaimer
>
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a