Tiago,

Um passo à passo vou ficar devendo até porque o assunto é um tanto complexo e vai depender fortemente do tipo que dados que você vai analisar.

Vale a pena ler um pouco de teoria sobre Naive Bayes (existe muito material disponível na internet) para que você entenda melhor como trabalhar com o corpus que for criando.

Basicamente você vai pegar algumas mensagens e vai categorizá-las você mesmo.

Depois vai passar isto para o AI::Categorizer fazer parsing dessas mensagens (criando tokens). Por estatística, ele vai entender que uma mensagem pode ou não fazer parte daquela categoria pelos tokens encontrados.

Depois que o categorizador recebeu este treinamento, você pode passar para ele outras mensagens e ele vai tentar repetir o processo. Claro que não é um método determinístico, algumas vezes ele vai errar o "chute". Você terá que refinar o processo algumas vezes até ter resultados satisfatórios. Mas é um trabalho contínuo se as mensagens forem mudando.

Uma forma boa de refinar o processo é utilizar "stop words", que basicamente é dizer para o categorizar o que ele deve ignorar como tokens. Infelizmente não achei um módulo para fazer isto que utilizasse palavras em português, mas você sempre pode incluir sua lista.

[]'s
Alceu

Em 14-04-2013 09:24, Tiago Peczenyj escreveu:
Alceu

Vc podia dar mais detalhes do seu trabalho? Como vc categorizava as
mensagens, de repente mostrando um passo a passo a partir de algum
exemplo mais simples... achei isso bem legal!


2013/4/14 Alceu Rodrigues de Freitas Junior <[email protected]
<mailto:[email protected]>>

    Olá Ricardo,

    Eu usei a distro AI::Categorizer
    
(http://search.cpan.org/~__kwilliams/AI-Categorizer-0.09/__lib/AI/Categorizer.pm
    
<http://search.cpan.org/~kwilliams/AI-Categorizer-0.09/lib/AI/Categorizer.pm>)
    para categorizar centenas de mensagens de erros diários do
    middleware de integração aonde trabalho atualmente.

    O AI::Categorizer tem a interface meio confusa, o POD não ajuda
    muito, mas se você pesquisar em perlmonks.org <http://perlmonks.org>
    você vai encontrar referências interessantes.

    Eu usei o algoritmo de Naive Bayes, que é estatístico, mas funciona
    suficientemente bem na maioria dos casos. Você pode querer tentar
    outros.

    Dê também uma olhada o projeto Weka
    (http://www.cs.waikato.ac.nz/__ml/weka/
    <http://www.cs.waikato.ac.nz/ml/weka/>), não é Perl mas pode te
    ajudar a decidir mais facilmente que algoritmo usar.

    []'s

    Em 13-04-2013 18:16, Ricardo Stock escreveu:

              Ola para todos.
              gostaria da ajuda da galera para a descoberta de algum
        módulo ou
        caso alguem já tenha trabalhado com analise de texto.
              Alguem poderia me dar alguma dica ou caminho das pedras para
        trabalhar com analise de texto, para dependendo da frase tomar
        determinada ação.
              No aguardo
        Ricardo Stock
        www.stocksistemas.com.br <http://www.stocksistemas.com.br>
        <http://www.stocksistemas.com.__br
        <http://www.stocksistemas.com.br>>


        =begin disclaimer
             Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
           SaoPaulo-pm mailing list: [email protected]
        <mailto:[email protected]>
           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: [email protected] <mailto:[email protected]>
    L<http://mail.pm.org/mailman/__listinfo/saopaulo-pm
    <http://mail.pm.org/mailman/listinfo/saopaulo-pm>>
    =end disclaimer




--
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj


=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


=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

Responder a