[SP-pm] analise de texto
Stanislaw Pusep
creaktive at gmail.com
Tue Apr 16 05:03:53 PDT 2013
Quanto ao módulo de stopwords em português, existe um, sim:
https://metacpan.org/module/Lingua::StopWords
Outra coisa interessante é aplicar um stemmer:
https://metacpan.org/module/Lingua::Stem::Snowball
Também vale notar uma técnica "ninja": quem disse que token precisa
corresponder a UMA palavra? Usando bi- ou tri-gramas, observei aumento
considerável na precisão da categorização de textos curtos.
Ah, um detalhe importantíssimo: para mensurar o desempenho dos modelos
estatísticos, é comum usar uma "matriz da confusão" (
https://en.wikipedia.org/wiki/Confusion_matrix).
Por fim, existem coisas prontas para análise de texto usando Hadoop/Mahout:
https://cwiki.apache.org/MAHOUT/twenty-newsgroups.html
ABS()
2013/4/16 Alceu Rodrigues de Freitas Junior <glasswalk3r em yahoo.com.br>
> 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 <glasswalk3r em yahoo.com.br
>> <mailto:glasswalk3r em yahoo.com.**br <glasswalk3r em yahoo.com.br>>>
>>
>>
>> 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>
>> <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/>
>> <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
>>
>> <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: SaoPaulo-pm em pm.org
>> <mailto:SaoPaulo-pm em pm.org>
>> L<http://mail.pm.org/mailman/_**_listinfo/saopaulo-pm<http://mail.pm.org/mailman/__listinfo/saopaulo-pm>
>>
>> <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 em pm.org <mailto:
>> SaoPaulo-pm em pm.org>
>> L<http://mail.pm.org/mailman/_**_listinfo/saopaulo-pm<http://mail.pm.org/mailman/__listinfo/saopaulo-pm>
>>
>> <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: SaoPaulo-pm em 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 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/20130416/a1bfaf6a/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list