EMAPS.Voyant

O que são expressões regulares?

Expressões regulares são fórmulas que utilizamos para representar de maneira flexível "padrões" de sequências de caracteres, na maciça maioria das vezes em funções de busca e recuperação.  Por exemplo, suponha que estejamos interessados em recuperar todas as ocorrências das palavras word e words no texto que temos usado como exemplo neste caderno, o que está no arquivo https://library.villanova.edu/application/files/9815/8739/5480/VoyantToolsParadiseLostTutorial.pdf. Vamos para isto utilizar a ferramenta "Contexts" e as facilidades oferecidas em seu campo de busca.

Sem usar expressões regulares, muitas vezes nos restaria apenas fazer duas buscas: uma pela palavra word e outra pela palavra words, ficando por nossa conta integrar os resultados de uma com os da outra.

Usando um recurso muito popular das expressões regulares, podemos montar uma "fórmula" que define nosso interesse por uma (word) ou (|) outra (words). Veja o resultado nesta URL (que você já sabe interpretar se lhe damos a dica de que "%7" em uma URL representa o símbolo "|"):

https://voyant-tools.org/tool/Contexts/?view=Contexts&query=word%7Cwords&corpus=fb27886554e534456cdc8add248f06d0

Outro recurso muito usado em expressões regulares é o chamado "operador de Kleene", representado por um asterisco (*). Se o colocamos em uma cadeia de caracteres, como em "word*", por exemplo, ele substitui a presença de uma cadeia qualquer  de caracteres, com qualquer número de caracteres ("zero" inclusive). Ou seja, a expressão "word*" representa as palavras "word", "words" e também "wordy", "wordle", além de -- infelizmente para nós -- "wordfghhfghfh" e "word456lkjdfg098xvckcv=". Porém, como estamos trabalhando com um texto editado, podemos esperar que uma revisão de texto não tenha deixado "lixo" no texto e que "word*" retorne apenas expressões bem formadas na língua inglesa.

E de fato vai! Faça a busca e veja que aparece uma palavra inesperada na lista de concordância apresentada pela ferramenta "Contexts."

As expressões que o Voyant pode tratar em suas buscas

No módulo de ajuda do Voyant, há uma explicação sobre as expressões que o ambiente processa em buscas textuais. Trata-se de um conjunto reduzido delas (saiba mais aqui), algumas vezes com um uso particular de símbolos. Mas a ideia é a mesma: expressar "padrões" através de expressões formalmente compostas de acordo com uma sintaxe específica.

A tradução (inclusive do termo "love" por "amor") é a seguinte:

amor: corresponde ao termo exato amor
amor*: corresponde a termos que começam com o prefixo amor e depois um curinga como um termo (amoreco, amoroso, amortecer, amoral, etc.)
^amor*: combina termos que começam com amor como termos separados (amoreco, amoroso, amortecer, amoral, etc.) [1]
*ove: corresponde a termos que terminam com o sufixo ove como um termo
^*ove: corresponde a termos que terminam com o sufixo ove como termos separados (amor, acima, etc.) [1]
amor, ódio: combina correspondências com cada um dos termos separados por vírgulas como termos separados
amor\|ódio: combina termos separados por barras verticais como um único termo [2]
"ama José": ama José como uma frase exata (a ordem das palavras é importante)
"ama José" ~ 0: corresponde tanto a 'ama José' quanto a 'José ama' (a ordem das palavras não importa, mas 0 palavras entre elas)
"ama José" ~ 5: combina a ocorrência de 'ama' e 'José' dentro de um intervalo de 5 palavras (por exemplo, corresponde a 'ama a prima de José')
^amor*,amor\|ódio, "amo ela" ~ 5: combina todas as formas sintáticas acima


[1] O efeito de usar esta expressão vê-se bem na ferramenta TERMS; ela apresenta resultados para cada um dos termos que correspondem a este padrão. A expressão amor* apresenta a contagem total para todos.

[2] Aqui, a expressão amor\|ódio apresenta a contagem total para todos.

nach oben