Mostrando postagens com marcador expressoes regulares. Mostrar todas as postagens
Mostrando postagens com marcador expressoes regulares. Mostrar todas as postagens
Olá a todos,

Poucos conhecem esta classe escondida em Python, mas que tem me ajudado bastante na construção de pequenos parsers e analisadores léxicos em alguns projetos que estou trabalhando. Estou falando do módulo "re", responsável pelo uso de expressões regulares em códigos Python cuja uma das classes  não documentadas oficialmente, o Scanner  pode nos auxiliar nestas tarefas.

A classe Scanner ainda não documentada oficialmente por estar ainda em experimentação pode ser bastante útil no processo de tokenização de textos, uma fase de pré-processamento importante em mineração de textos.

O seu uso é bastante simples, basta passar como parâmetro uma lista de expressões regulares e suas respectivas funções callback. Quando uma string é "casada", a mesma é convertida em um respectivo token por meio da chamada da função callback associada e assim adicionada à uma lista de tokens a serem retornados. Se o scanner atinge um ponto em que não há um token a ser "casado",  o mesmo retorna a lista de tokens identificados até aquele ponto e o restante do texto em string que não foi casado.

Vamos a um exemplo prático!  Um dos cenários para o seu uso é os tweets espalhados pelo microblog social Twitter.  Se quisessémos construir um simples analisador léxico para separar links, hashtags, usernames e texto poderíarmos fazer de diversas maneiras. Entretanto com a classe re.Scanner esta atividade torna-se bem mais eficiente e rápida visto que ela já abstrai ao desenvolvedor a necessidade de implementar um analisador que varre as strings à busca de expressões regulares definidas pelo desenvolvedor.

Então se montarmos nosso scanner para extrair dados do twitter conforme a figura abaixo:

Exemplo de Extrator de Tweets

E executá-lo, veremos como resultado:

Resultado do Scanner

Podemos observar pela figura acima que após executar nosso pequeno parser, conseguimos extrair com sucesso os tokens relacionados a Retweets, nomes de usuários, palavras, HashTags e até URl's . Para quem trabalha com processamento de linguagem natural (NLP) isto pode ser uma útil ferramenta para a fase de pré-processamento em mineração de textos.

Com isso concluo a apresentação da classe Scanner escondida na biblioteca padrão que vem ao Python.
Quem não entender muito o que vem nessas strings que começam com  r'', visite meu post sobre expressões regulares, pode ser útil para quem está começando!

Espero ter ajudado pessoal,

Atenciosamente,

Marcel Caraciolo

Referências:

Fotos do III PUG-PE : Minha Palestra

Aproveitando este post rápido para divulgar  algumas fotos da minha palestra no III Encontro do Grupo de Usuários Python de Pernambuco (PUG-PE).

Pena que ficou longe!! Íncrivel foi a quantidade de pessoas no laboratório!! =D






Aguardando o upload de mais fotos do evento!!

Atenciosamente,

Marcel

Palestra sobre Expressões Regulares e Python no III PUG-PE

Olá pessoal,

Gostaria de divulgar o material da minha palestra que dei no último sábado no III Encontro do Grupo de Usuários de Python de Pernambuco (PUG-PE).

Neste encontro, tive a oportunidade de falar sobre minhas experiências e mostrar um guia com exemplos de como utilizar expressões regulares com a linguagem de programação Python.

Para quem não conhece Expressões Regulares, ela é uma linguagem formal oriunda da teoria da computação e teoria dos autômatos que ajuda no tratamento e parseamento de arquivos, especialmente quando se trata de dados em grande volume. Pesquisar, validar  e filtrar elementos podem se tornar um trabalho exaustivo se manuseado manualmente. Técnicas e Algoritmos como Expressões Regulares ajudam a facilitar a extração de conteúdo de forma bem eficiente.

Como a linguagem Python suporta nativamente expressões regulares, acaba-se sendo uma linguagem atrativa para introdução e manuseio de expressões regulares, devido à sua simplicidade e legibilidade na produção de código.

Essa ferramenta é extremamente útil para tratamento de arquivos texto, quando você tem padrões os quais você quer extrair ou filtrar de um texto. Recomendo a todos o uso desta ferramenta! 


Abaixo seguem os slides e o código Python utilizado na apresentação.







Atenciosamente,

Marcel Caraciolo
top