Aula 01 - Introdução a expressões regulares

1- O que são expressões regulares?


Em ciência da computação, uma expressão regular (ou os estrangeirismos regex ou regexp, abreviação do inglês regular expression) provê uma forma concisa e flexível de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres. Expressões regulares são escritas numa linguagem formal que pode ser interpretada por um processador de expressão regular, um programa que serve um gerador de analisador sintático ou examina o texto e identifica as partes que casam com a especificação dada.

2- Um pouco de história


A origem das expressões regulares está na teoria dos autômatos e na teoria das linguagens formais, e ambas fazem parte da teoria da computação. Esses campos estudam modelos de computação (autômatas) e formas de descrição e classificação de linguagens formais. Na década de 1950, o matemático Stephen Cole Kleene descreveu tais modelos usando sua notação matemática chamada de "conjuntos regulares", formando a álgebra de Kleene. A linguagem SNOBOL foi uma implementação pioneira de casamento de padrões, mas não era idêntica às expressões regulares. Ken Thompson construiu a notação de Kleene no editor de texto QED como uma forma de casamento de padrões em arquivos de texto. Posteriormente, ele adicionou essa funcionalidade no editor de texto Unix ed, que resultou no uso de expressões regulares na popular ferramenta de busca grep. Desde então, diversas variações da adaptação original de Thompson foram usadas em Unix e derivados, incluindo expr, AWK, Emacs, vi e lex.

As expressões regulares de Perl e Tcl foram derivadas da biblioteca escrita por Henry Spencer, e no Perl a funcionalidade foi expandida posteriormente. Philip Hazel desenvolveu a PCRE (Perl Compatible Regular Expressions), uma biblioteca usada por diversas ferramentas modernas como PHP e o servidor Apache. Parte do desenvolvimento do Perl 6 foi melhorar a integração das expressões regulares de Perl, e aumentar seu escopo e funcionalidade para permitir a definição de gramáticas de expressão de analisadores sintáticos. O resultado foi uma mini-linguagem, as regras do Perl 6, usada para definir a gramática do Perl 6 assim como fornecer uma ferramenta para programadores da linguagem. Tais regras mantiveram as funcionalidades de expressões regulares do Perl 5.x, mas também permitiram uma definição BNF de um analisador sintático descendente recursivo.

O uso de expressões regulares em normas de informação estruturada para a modelagem de documentos e bancos de dados começou na década de 1960, e expandiu na década de 1980 quando normas como a ISO SGML foram consolidadas.

3- Porquê o Processamento de Linguagem Natural utiliza REGEX?

A localização conteúdo em um corpus é uma tarefa de grande valor no processamento de linguagem natural. Em geral isso acontece por força bruta caso você deseje criar um algoritmo que realize essa tarefa. Porém, localização de conteúdo é tão comum que a criação de uma ferramenta que permita a busca de padrões ajudaria muito o desenvolvimento de aplicações, por esse motivo foi adotado o REGEX.

O REGEX pode ser utilizado em qualquer parte de um pipeline de PLN, no entanto, o mais comum é utilizar essa ferramenta no pré-processamento do texto. Os cientistas de dados costumam "limpar" a base de dados de possíveis caracteres ou palavras indesejadas no corpus. 

É claro que para cada caso é necessário identificar o objetivo e aplicar o processamento adequado. Por exemplo, em alguns casos é comum a extração da pontuação do texto, já em outros a remoção da pontuação não permitirá a tokenização em frases e isso pode prejudicar a análise.

Aula 01 - Introdução a expressões regulares Aula 01 - Introdução a expressões regulares Reviewed by Vinicius dos Santos on 04:54:00 Rating: 5

Nenhum comentário

Escreve ai sua opinião!