Extração de Informação em Bases Textuais utilizando Expressões Regulares Prof. Pablo Freire...

Post on 07-Apr-2016

221 views 0 download

Transcript of Extração de Informação em Bases Textuais utilizando Expressões Regulares Prof. Pablo Freire...

Extração de Informação em Bases Textuais utilizando

Expressões Regulares

Prof. Pablo Freire MatosInformática - Instituto Federal Baiano (IFBAIANO)

pablofmatos@yahoo.com.br

Simpósio de Sistemas de Informação – FTC

27 a 29 de out. de 2011

Roteiro

EI em Bases Textuais com ER

Vamos compreender as palavras-chave do título:

2

Roteiro

EI em Bases Textuais com ER3

O que é Extração de Informação?

EI em Bases Textuais com ER

Recuperação de Informação

4

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

RI x EI Recuperação da Informação (RI)

Extração da Informação (EI)

EI em Bases Textuais com ER5

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que é Extração de Informação?

EI em Bases Textuais com ER

Informação Não Estruturada

Descoberta de Conhecimento

Informação Estruturada

Base de Dados

6

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Descoberta de Conhecimento

EI em Bases Textuais com ER

A

B

C

A = Proteína XB = PriapismoC = Anemia Falciforme

?

7

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Descoberta de ConhecimentoProteína Efeito

PositivoQuant.

Pacientea b 10

a b 20

a e 40

a b 15

EI em Bases Textuais com ER

Efeito Negativo Doença Quant.

Pacienteb c 10

b c 30

b f 20

A = Proteína XB = PriapismoC = Anemia Falciforme

8

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que é Extração de Informação?

EI em Bases Textuais com ER

Mineração de Dados

Mineração de Textos

9

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Roteiro

EI em Bases Textuais com ER10

O que são Bases Textuais?

EI em Bases Textuais com ER

Formato TXT

11

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Bases Textuais?

EI em Bases Textuais com ER

Formato PDF

12

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Bases Textuais?

EI em Bases Textuais com ER

Formato HTML

13

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Bases Textuais?

EI em Bases Textuais com ER

Formato XML

14

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Bases Textuais?

EI em Bases Textuais com ER

Formatos Textuais

15

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Bases Textuais?Cenário Atual:

Grande quantidade de informação

Informação estas que encontram-se em: e-mail, blogs, wikis, artigos,... + de 80% das informações estão em formato textual

Gantz et al. (2007)

EI em Bases Textuais com ER16

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Bases Textuais? Capacidade humana de analisar e compreender

estes dados é limitada

EI em Bases Textuais com ER17

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Bases Textuais?

EI em Bases Textuais com ER

Informação e conhecimento importantes podem ser perdidos

18

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Roteiro

EI em Bases Textuais com ER19

O que são Expressões Regulares? Definição

“É um método formal de especificar um padrão de texto”

Outra Definição: “Uma composição de símbolos, caracteres com funções

especiais, que, agrupados entre si e com caracteres literais, formam uma sequência, uma expressão.

Essa expressão é interpretada como uma regra, que indicará sucesso se uma entrada de dados qualquer “casar” com essa regra, ou seja, obedecer exatamente a todas as suas condições.”

EI em Bases Textuais com ER

Jargas (2009)

20

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Expressões Regulares? Outras Definições:

“Uma maneira de procurar um texto que você não lembra exatamente como é, mas tem uma ideia das variações possíveis”

“Uma maneira de procurar um trecho em posições específicas como no começo ou no fim de uma linha, ou palavra”

“Uma maneira de um programador especificar padrões complexos que podem ser procurados e casados em uma cadeia de caracteres”

“Uma construção que utiliza pequenas ferramentas feita para obter determinada sequência de caracteres de um texto”

EI em Bases Textuais com ER21

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Expressões Regulares? Recurso poderoso utilizado por muitos

aplicativos

Por exemplo...

EI em Bases Textuais com ER22

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Editor de Texto (1/3)

EI em Bases Textuais com ER

Notepad++

23

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Editor de Texto (2/3)

EI em Bases Textuais com ER

Word 2007

24

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Editor de Texto (3/3)

EI em Bases Textuais com ER

Antes

Depois

25

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Navegador de Internet (1/2)

EI em Bases Textuais com ER

JavaScript

26

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Navegador de Internet (2/2)

EI em Bases Textuais com ER

HTML 5

27

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Banco de Dados Recuperar todos os alunos cujos nomes

terminem com “santos”

EI em Bases Textuais com ER

mysql> SELECT * –> FROM aluno –> WHERE nome LIKE “%santos”;

SQL

mysql> SELECT * –> FROM aluno –> WHERE nome REGEXP “santos$”;

SQL com Expressão Regular

?

28

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Linguagem de Programação pacote java.util.regex

Pattern p = Pattern.compile(<regular expression>); Matcher m = p.matcher(<input source>);

Exemplo 1:Pattern p = Pattern.compile("[jJ]ava");Matcher m = p.matcher("Java é mais java!");// enquanto o Matcher encontrar o padrão na String fornecida while (m.find()) { System.out.println(m.group()); }

EI em Bases Textuais com ER

Saída:Javajava

29

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Linguagem de Programação pacote java.util.regex

Pattern p = Pattern.compile(<regular expression>); Matcher m = p.matcher(<input source>);

Exemplo 2:Pattern p = Pattern.compile("Java", Pattern.CASE_INSENSITIVE);Matcher m = p.matcher("Java é mais java!");// enquanto o Matcher encontrar o padrão na String fornecida while (m.find()) { System.out.println(m.group()); }

EI em Bases Textuais com ER

Saída:Javajava

30

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Linguagem de Programação Exemplo 3:

Pattern p = Pattern.compile("Java", Pattern.CASE_INSENSITIVE);Matcher m = p.matcher("Java é mais java!");// enquanto o Matcher encontrar o padrão na String fornecida while (m.find()) {

System.out.printf("Encontrado: \"%s\" de %d à %d.\n", m.group(), m.start(), m.end());}

EI em Bases Textuais com ER

Saída:Encontrado: "Java" de 0 à 4. Encontrado: "java" de 12 à 16.

31

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Linguagem de Programação

EI em Bases Textuais com ER

API Java

32

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Linguagem de Programação Diferença dos métodos find() e matches()

Matches() inclui implicitamente o ^ no início e $ no final do padrão

Pattern p = Pattern.compile("\\d\\d\\d"); Matcher m = p.matcher("a123b"); System.out.println(m.find()); System.out.println(m.matches());

p = Pattern.compile("^\\d\\d\\d$"); m = p.matcher("123"); System.out.println(m.find()); System.out.println(m.matches());

EI em Bases Textuais com ER

Saída:truefalsetruetrue

33

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

O que são Expressões Regulares? Recurso poderoso utilizado por muitos

aplicativos: Editores de Texto Navegadores de Internet Linguagens de Programação Banco de Dados

... várias outras tarefas que envolvem manipulação de dados

EI em Bases Textuais com ER34

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Conhecendo as Expressões

Regulares (ERs)

Ambiente de Teste

EI em Bases Textuais com ER36

Piazinho

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres Correspondem as ferramentas básicas de uma expressão regular São combinados para representar o padrão de busca desejado Símbolos especiais

EI em Bases Textuais com ER

Metacaractere Nome. Ponto[] Lista[^] Lista negada? Opcional* Asterisco+ Mais{} Chaves

Metacaractere Nome^ Circunflexo$ Cifrão\b Borda\ Literal| Ou() Grupo\1 Retrovisor

37

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo RepresentantePonto: “.”

Curinga que casa com uma única letra, número, caractere especial (@,#,$,%,...) , TAB, o próprio ponto, ...

Exemplos.ato n.o .im 13.30 c.mprido

EI em Bases Textuais com ER

pato, rato, gato, ...não, nao, nÃo, ...fim, Fim, ...13:30, 13.30, 13 30, 13-30, ...comprido, cumprido, ...

38

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo RepresentanteLista: [...]

Mais específica que o ponto, a lista determina quais caracteres ou símbolos podem ser casados

Só pode ser casado um caractere por vez dentro de cada lista

Exemplosn.o n[aã]o [pgr]ato 12[:. ]45 <[BIP]>

Observação O ponto dentro da lista NÃO é um metacaractere e sim um caractere

normal

EI em Bases Textuais com ER

não, nao, nÃo, n9o, nxo, n@o, ...não, nao (Obs: não casa com naão)pato, gato, rato12:45, 12.45, 12 45<B>, <I>, <P>

39

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo RepresentanteLista: [...] Listas com intervalos

Como representar uma ER para casar com qualquer letra minúscula?[abcdefghijklmnop...z]??? MUITO LONGA!

Para facilitar a representação de sequências, pode-se usar intervalos[0123456789] [abcdefghijklmnop...z] [ABCDEFGHIJKLMNOP...Z]

Mais de um intervalo pode ser utilizado em uma lista[0-57-9] [d-fA-C5-7]

EI em Bases Textuais com ER

= [0-9]= [a-z]= [A-Z]

= [012345789]= [defABC567]

40

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo RepresentanteLista: [...] Observações

Como representar o “-” dentro de uma lista se ele é especial? Deve-se sempre colocá-lo no final da lista

[a-f-] = [abcdef-][0-9-] = [0123456789-]

Como representar o “]” dentro de uma lista se ele é especial? Deve-se sempre colocá-lo no início da lista

[]] casa somente com o ][]6-9] casa com ], 6, 7, 8, 9[]-] casa com ] ou -

Intervalos respeitam a ordem da tabela ASCII [:-@]

EI em Bases Textuais com ER

casa com :, ;, <, =, >, ?, e @

41

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Tabela ASCII

EI em Bases Textuais com ER

American Standard Code for Information Interchange

42

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo RepresentanteLista negada: [^...]

Funciona com a lógica inversa da lista normal

Tudo que encontra-se na lista não será casado[^0-9] [:;,.!?][^ ]

EI em Bases Textuais com ER

casa com qualquer símbolo que NÃO seja númerocasa com qualquer pontuação que não estejaseguida por um espaço em branco

43

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo QuantificadorOpcional: ?

Indica nenhuma ou uma ocorrência do padrão anterior[pgr]atos? casa[r!]?

Asterisco: * Indica nenhuma ou muitas ocorrências do padrão anteriorto*c t[oc]*

O que casará [ar]*a na palavra arara ? 1. a [ar] zero vezes, seguido de a2. ara [ar] duas vezes, seguido de a3. arara [ar] quatro vezes, seguido de a4. n.d.a

Sempre é tentado casar o maior número de vezesEI em Bases Textuais com ER

pato, gato, rato, patos, gatos, ratoscasa, casar, casa!

tc, toc, tooc, toooc, toooooc, ...t, to, tc, toc, tooc, tocc, toccooocc, ...

Jargas (2009)

44

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo QuantificadorMais: +

Indica uma ou mais ocorrências do padrão anteriorto+c t[oc]+

EI em Bases Textuais com ER

toc, tooc, toooc, toooooc, ...to, tc, toc, tooc, tocc, toccooocc, ...

45

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo QuantificadorChaves: {...} Permite que seja especificada um limite mínimo ou

máximo de repetições para o padrão anterior Possibilidades

{n,m} de n até m{n,} pelo menos n{n} exatamente n{0,} o mesmo que o “*”{1,} o mesmo que o “+”

Exemplosto{1,3}c to{2,}c t[oc]{2,}

EI em Bases Textuais com ER

toc, tooc, toooctooc, toooc, tooooc, ...tooc, toooc, tooooc, tco, toc, tcooocoo ...

46

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo Âncora Circunflexo: ^

Indica que o padrão a seguir deve ser considerado a partir do início da linha^[a-z] linhas que começam com letras minúsculas^[0-9] linhas que começam por números^[^0-9] linhas que NÃO começam por números'

Cifrão: $ Indica que o padrão anterior deve ser considerado no fim da linhatoc$ linhas que terminam com a palavra toc[0-9]$ linhas que terminam com número[:-@]$ linhas que terminam com os caracteres :, ;, <, =, >, ?, e @)

Combinações úteis^$ linha em branco...$ últimos três caracteres da linha^.{15,30}$ linhas que contenham entre 15 e 30 caracteres

EI em Bases Textuais com ER47

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo ÂncoraBorda: \b

Indica a borda de uma palavra (início ou fim)ana ana, anamaria, analucia, mariana, luciana\bana ana, anamaria, analuciaana\b ana, mariana, luciana\bana\b ana Por palavra, deve-se entender sequências de letras, números e o

caractere “_”

EI em Bases Textuais com ER48

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Outros MetacaracteresLiteral: \

Deve ser utilizado antes de qualquer metacaractere para torná-lo um caractere normal sem qualquer efeito especial para a expressão regular

Ou alternativo: | Indica um padrão com várias alternativas

A lista funciona como um tipo de operador “OU” somente para uma letra

Hello | Ola casa com a palavra Hello ou com Olahttp:// | https:// casa com http:// ou https://

EI em Bases Textuais com ER49

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Outros MetacaracteresGrupo: (...) Possibilita o agrupamento de caracteres que serão tratados

atomicamente

(oi!)+

(\.[0-9]){3}

(www\.)?simsis.net

(super|hiper)mercado

(su|hi)permercado

((su|hi)per)?mercado

(mini|(su|hi)per)?mercado

EI em Bases Textuais com ER

oi!, oi!oi!, oi!oi!oi!, ...

.3.4.5, .7.2.4, ...

www.simsis.net, simsis.net

supermercado, hipermercado

supermercado, hipermercado

supermercado, hipermercado, mercado

supermercado, hipermercado, mercado, minimercado

50

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Outros MetacaracteresRetrovisor: \1 ... \9 Retrovisor \1 é uma referência ao texto casado do primeiro

grupo

(quero)-\1

([A-Za-z]+)-\1

([A-Za-z]+)-?\1

(lenta)(mente) é \2 \1

Ver exemplo prático no slide 24

EI em Bases Textuais com ER

quero-quero ...

quero-quero, bate-bate, ...

quero-quero, bate-bate, lili, dudu, ...

lentamente é mente lenta

51

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres tipo barra-letra

EI em Bases Textuais com ER

Metacaractere Função

\d Dígito

\D Não Dígito

\w Palavra

\W Não-palavra

\s Branco\S Não-branco

\w casa letras, dígitos, ou '_'.

52

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaractere Moderno(?:ER) É como um grupo normal, só que não é guardado nem

incluído na contagem de grupos, ou seja, não é acessível com retrovisores

^(Pablo)\s(?:F\.)\s(Matos)

EI em Bases Textuais com ER

Pablo F. Matos

53

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Exercícios Validação de:

Data no formato dd/mm/aaaa

CPF

IP

E-mail

EI em Bases Textuais com ER54

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

[\d]{2}/[\d]{2}/[\d]{4}

[\d]{3}\.[\d]{3}\.[\d]{3}-[\d]{2}

[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}\.[\d]{1,3}

[\w\d._-]{3,}@[\w]{2,}\.[\w]{3,4}(\.[\w]{2})?

Metacaracteres (1/2)

EI em Bases Textuais com ER

Metacaractere Nome Função

. PontoUm caractere qualquer

[...] ListaLista de caracteres permitidos

[^...] Lista negada

Lista de caracteres proibidos

Representantes

Metacaractere Nome Função? Opcional Zero ou um

* Asterisco Zero, um ou mais

+ Mais Um ou mais{n,m} Chaves De n até m

Quantificadores

55

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Metacaracteres (2/2)

EI em Bases Textuais com ER

Metacaractere Nome Função

^ Circunflexo Início da linha

$ Cifrão Fim da linha

\b BordaInício ou fim da palavra

Âncoras

Metacaractere Nome Função

\. LiteralTorna literal o ponto

| Ou Ou um ou outro

(...) Grupo Delimita um grupo

\1...\9 RetrovisorTexto casado nos grupos 1...9

Outros

56

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Prática Acessar:

http://gbd.dc.ufscar.br/~pablofmatos/simSIS2011/

Programas: ftc-Etiquetador: Etiquetador morfossintático em Java ftc-ER:Testador de Expressão Regular em Java

Bases Textuais: Texto Texto Etiquetado

Ambiente de Teste: Piazinho (Testador de Expressão Regular no browser)

EI em Bases Textuais com ER57

Como Extrair Informação das Bases Textuais? Etiquetador Part-Of-Speech (POS)

O objetivo é atribuir automaticamente etiquetas (tags) de acordo com a classe gramatical de cada palavra

EI em Bases Textuais com ER

Palavras que podem ser tanto verbo como substantivo:Ex: programs, process

Dificuldade

58

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

EI em Bases Textuais com ER

Exemplo de Sentença Etiquetada

Como Extrair Informação das Bases Textuais?

Etiquetador POS da Stanford: 86,91% - novas palavras

Padrão Tag: Penn Treebank

Exemplo de Sentença

padrão JJ_NN

TagSet (2011)Marcus et al. (1993)

59

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Como Extrair Informação das Bases Textuais?

EI em Bases Textuais com ER

Arquivo TXT Não Etiquetado

60

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Como Extrair Informação das Bases Textuais?

EI em Bases Textuais com ER

Arquivo TXT Etiquetado

61

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Exemplo 1

62

Extrair Informação Padrão (JJ_JJ)

Grupo (JJ_JJ)

EI em Bases Textuais com ER

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Exemplo 1

EI em Bases Textuais com ER63

Compare o resultado com o programa ftc-ER

Resposta

26 sentença

s

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Padrão 1.0

64

Extrair Informação Padrão (JJ_JJ_NN_NN_(NN)?)

EI em Bases Textuais com ER

Resposta

6 sentenç

as

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Padrão 1.1

65

Extrair Informação Padrão (~JJ)_(JJ_NN_NN_(NN)?)

Grupo (JJ_NN_NN_(NN)?)

EI em Bases Textuais com ER

Resposta

13 sentença

s

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Padrão 1.2

66

Extrair Informação Padrão (JJ_JJ_NN)_(~NN)

Grupo (JJ_JJ_NN)

EI em Bases Textuais com ER

Resposta

17 sentença

s

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Padrão 2.0 - Otimizado

67

Extrair Informação Padrão (~JJ)_(JJ_NN_IN)_(JJ_NN)_(~NN)

Grupo (JJ_NN)

EI em Bases Textuais com ER

Resposta

7 sentença

s

Extração de Informação Bases Textuais Expressões Regulares (ERs) Conhecendo as ERs Prática

Outros Ambientes de Teste Regex-Coach:http://weitz.de/regex-coach/

RegexBuddy:http://www.regexbuddy.com/

Visual REGEXP:http://laurent.riesterer.free.fr/regexp/

FireFox:https://addons.mozilla.org/en-US/firefox/addon/regular-expressions-tester/

EI em Bases Textuais com ER68

Referências (1/2) FRIEDL, J. E. F. Mastering Regular Expressions. 3 ed. USA: O'Reilly

Media, 2006. 544 p.

GANTZ, J. F. et al. The expanding digital universe: a forecast of worldwide information growth through 2010. IDC Whitepaper, 2007.

JARGAS, A. M. Expressões Regulares: Uma Abordagem Divertida. 3 ed. São Paulo: Novatec, 2009. 208 p. Disponível em: <http://aurelio.net/er/>. Acesso em: 10 out. 2011.

JARGAS, A. M. Expressões regulares: guia de consulta rápida. 2001. Disponível em: <http://aurelio.net/regex/guia/>. Acesso em: 10 out. 2011.

MARCUS, M. P.; MARCINKIEWICZ, M. A.; SANTORINI, B. Building a large annotated corpus of English: the penn treebank. Computational Linguistics, v. 19, n. 2, p. 313-330, 1993.

EI em Bases Textuais com ER69

Referências (2/2) ORACLE. Java platform API specification: standard edition 6. 2011.

Disponível em: <http://download.oracle.com/javase/6/docs/api/>. Acesso em: 03 de out. 2011.

THE STANFORD NATURAL LANGUAGE PROCESSING GROUP. Stanford log-linear part-of-speech tagger. 2011. Disponível em: <http://nlp.stanford.edu/software/tagger.shtml>. Acesso em: 05 out. 2011.

TAGSET. Penn Treebank Tagset. 2011. Disponível em: <http://www.computing.dcu.ie/~acahill/tagset.html>. Acesso em: 05 out. 2011.

EI em Bases Textuais com ER70

Penn Treebank Tagset (1/2)

EI em Bases Textuais com ER

Tag Meaning

CC Coordinating conjunction e.g. and,but,or... CD Cardinal Number DT Determiner

EX Existential there

IN Preposition or subordinating conjunction

JJ Adjective

JJR Adjective, comparative

JJS Adjective, superlative

NN Noun, singular or mass

NNP Proper Noun, singular

NNPS Proper Noun, plural

NNS Noun, plural

71

Penn Treebank Tagset (2/2)

EI em Bases Textuais com ER

Tag Meaning

RB AdverbMost words that end in -ly as well as degree words like quite, too and very

TO To VB Verb, base form subsumes imperatives, infinitives and

subjunctives VBD Verb, past tense

includes the conditional form of the verb to be VBG Verb, gerund or present participle

VBN Verb, past participle

VBP Verb, non-3rd person singular present

VBZ Verb, 3rd person singular present

72

Extração de Informação em Bases Textuais utilizando

Expressões Regulares

Prof. Pablo Freire MatosInformática - Instituto Federal Baiano (IFBAIANO)

pablofmatos@yahoo.com.br

Simpósio de Sistemas de Informação – FTC

27 a 29 de out. de 2011