[SP-pm] analise de texto

Stanislaw Pusep creaktive at gmail.com
Sun May 12 15:40:36 PDT 2013


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 <glasswalk3r em 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 <glasswalk3r em yahoo.com.br
>> <mailto:glasswalk3r em yahoo.com.**br <glasswalk3r em 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 em pm.org
> L<http://mail.pm.org/mailman/**listinfo/saopaulo-pm<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> >
> =end disclaimer
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130512/19d0e523/attachment.html>


More information about the SaoPaulo-pm mailing list