Extração de Informação - Sistemas de Informação

Download Report

Transcript Extração de Informação - Sistemas de Informação

Slide 1

Simpósio de Sistemas de
Informação – FTC
27 a 29 de out. de 2011

Extração de Informação em Bases
Textuais utilizando Expressões
Regulares
Prof. Pablo Freire Matos
Informática - Instituto Federal Baiano (IFBAIANO)
[email protected]


Slide 2

Roteiro


Vamos compreender as palavras-chave do título:

EI em Bases Textuais com ER

2


Slide 3

Roteiro

EI em Bases Textuais com ER

3


Slide 4

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

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

Recuperação de
Informação

EI em Bases Textuais com ER

4


Slide 5

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 ER

5


Slide 6

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

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

Base de Dados

Descoberta de
Conhecimento

EI em Bases Textuais com ER

6


Slide 7

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Descoberta de Conhecimento
B

C

A

A = Proteína X
B = Priapismo
C = Anemia Falciforme
EI em Bases Textuais com ER

7


Slide 8

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Descoberta de Conhecimento
Efeito
Positivo

Proteína

A = Proteína X
B = Priapismo
C = Anemia Falciforme

Quant.
Paciente

a

b

10

a

b

20

a

e

40

a

b

15
Efeito
Negativo

Doença

Quant.
Paciente

b

c

10

b

c

30

b

f

20

EI em Bases Textuais com ER

8


Slide 9

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

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

EI em Bases Textuais com ER

9


Slide 10

Roteiro

EI em Bases Textuais com ER

10


Slide 11

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

O que são Bases Textuais?
Formato TXT

EI em Bases Textuais com ER

11


Slide 12

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

O que são Bases Textuais?
Formato PDF

EI em Bases Textuais com ER

12


Slide 13

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

O que são Bases Textuais?
Formato HTML

EI em Bases Textuais com ER

13


Slide 14

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

O que são Bases Textuais?
Formato XML

EI em Bases Textuais com ER

14


Slide 15

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

O que são Bases Textuais?

Formatos
Textuais

EI em Bases Textuais com ER

15


Slide 16

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 ER

16


Slide 17

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 ER

17


Slide 18

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

O que são Bases Textuais?


Informação e conhecimento importantes
podem ser perdidos

EI em Bases Textuais com ER

18


Slide 19

Roteiro

EI em Bases Textuais com ER

19


Slide 20

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

O que são Expressões Regulares?


Definição Jargas (2009)




“É 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

20


Slide 21

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 ER

21


Slide 22

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 ER

22


Slide 23

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Editor de Texto (1/3)
Notepad++

EI em Bases Textuais com ER

23


Slide 24

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Editor de Texto (2/3)
Word 2007

EI em Bases Textuais com ER

24


Slide 25

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Editor de Texto (3/3)
Antes

Depois

EI em Bases Textuais com ER

25


Slide 26

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Navegador de Internet (1/2)

JavaScript

EI em Bases Textuais com ER

26


Slide 27

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Navegador de Internet (2/2)

HTML 5

EI em Bases Textuais com ER

27


Slide 28

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”

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

SQL com Expressão Regular
mysql> SELECT *
–> FROM aluno
–> WHERE nome REGEXP “santos$”;
EI em Bases Textuais com ER

28


Slide 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();
Matcher m = p.matcher();

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());
Saída:
}
Java

java
EI em Bases Textuais com ER

29


Slide 30

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();
Matcher m = p.matcher();

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());
Saída:
}
Java

java
EI em Bases Textuais com ER

30


Slide 31

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());
}

Saída:
Encontrado: "Java" de 0 à 4.
Encontrado: "java" de 12 à 16.
EI em Bases Textuais com ER

31


Slide 32

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Linguagem de Programação
API Java

EI em Bases Textuais com ER

32


Slide 33

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());
Saída:
System.out.println(m.matches());
true
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

false
true
true

33


Slide 34

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 ER

34


Slide 35

Conhecendo as
Expressões Regulares (ERs)


Slide 36

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Ambiente de Teste
Piazinho

EI em Bases Textuais com ER

36


Slide 37

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
Metacaractere

Nome

Metacaractere

Nome

.

Ponto

^

Circunflexo

[]

Lista

$

Cifrão

[^]

Lista negada

\b

Borda

?

Opcional

\

Literal

*

Asterisco

|

Ou

+

Mais

()

Grupo

{}

Chaves

\1

Retrovisor

EI em Bases Textuais com ER

37


Slide 38

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Representante
Ponto: “.”


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

pato, rato, gato, ...
não, nao, nÃo, ...
fim, Fim, ...
13:30, 13.30, 13 30, 13-30, ...
comprido, cumprido, ...
EI em Bases Textuais com ER

38


Slide 39

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Representante
Lista: [...]






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

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



não, nao, nÃo, n9o, nxo, n@o, ...
não, nao (Obs: não casa com naão)
pato, gato, rato
12:45, 12.45, 12 45
, ,



Observação


O ponto dentro da lista NÃO é um metacaractere e sim um caractere
normal
EI em Bases Textuais com ER

39


Slide 40

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Representante
Lista: [...]


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
= [0-9]
[0123456789]
= [a-z]
[abcdefghijklmnop...z]
= [A-Z]
[ABCDEFGHIJKLMNOP...Z]


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


EI em Bases Textuais com ER

40


Slide 41

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Representante
Lista: [...]




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


[:-@]

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

EI em Bases Textuais com ER

41


Slide 42

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Tabela ASCII

American Standard Code for Information Interchange

EI em Bases Textuais com ER

42


Slide 43

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Representante
Lista negada: [^...]


Funciona com a lógica inversa da lista normal

Tudo que encontra-se na lista não será casado
[^0-9]
casa com qualquer símbolo que NÃO seja número
[:;,.!?][^ ]
casa com qualquer pontuação que não esteja
seguida por um espaço em branco


EI em Bases Textuais com ER

43


Slide 44

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Quantificador
Opcional: ?
Indica nenhuma ou uma ocorrência do padrão anterior
pato, gato, rato, patos, gatos, ratos
[pgr]atos?
casa, casar, casa!
casa[r!]?


Asterisco: *
Indica nenhuma ou muitas ocorrências do padrão anterior
to*c
tc, toc, tooc, toooc, toooooc, ...
t[oc]*
t, to, tc, toc, tooc, tocc, toccooocc, ...




O que casará [ar]*a na palavra arara ? Jargas (2009)
1.
2.
3.
4.

a
ara
arara
n.d.a

[ar] zero vezes, seguido de a
[ar] duas vezes, seguido de a
[ar] quatro vezes, seguido de a
Sempre é tentado casar o maior número de vezes
EI em Bases Textuais com ER

44


Slide 45

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Quantificador
Mais: +
Indica uma ou mais ocorrências do padrão anterior
to+c
toc, tooc, toooc, toooooc, ...
t[oc]+
to, tc, toc, tooc, tocc, toccooocc, ...


EI em Bases Textuais com ER

45


Slide 46

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Quantificador
Chaves: {...}




Permite que seja especificada um limite mínimo ou
máximo de repetições para o padrão anterior
Possibilidades
{n,m}
{n,}
{n}
{0,}
{1,}



de n até m
pelo menos n
exatamente n
o mesmo que o “*”
o mesmo que o “+”

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

toc, tooc, toooc
tooc, toooc, tooooc, ...
tooc, toooc, tooooc, tco, toc, tcooocoo ...
EI em Bases Textuais com ER

46


Slide 47

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 linha
toc$
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
^$
...$
^.{15,30}$

linha em branco
últimos três caracteres da linha
linhas que contenham entre 15 e 30 caracteres
EI em Bases Textuais com ER

47


Slide 48

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo Âncora
Borda: \b


Indica a borda de uma palavra (início ou fim)

ana
\bana
ana\b
\bana\b


ana, anamaria, analucia, mariana, luciana
ana, anamaria, analucia
ana, mariana, luciana
ana

Por palavra, deve-se entender sequências de letras, números e o
caractere “_”

EI em Bases Textuais com ER

48


Slide 49

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Outros Metacaracteres
Literal: \


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
http:// | https://

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

EI em Bases Textuais com ER

49


Slide 50

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Outros Metacaracteres
Grupo: (...)


Possibilita o agrupamento de caracteres que serão tratados
atomicamente
(oi!)+

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

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

.3.4.5, .7.2.4, ...

(www\.)?simsis.net

www.simsis.net, simsis.net

(super|hiper)mercado

supermercado, hipermercado

(su|hi)permercado

supermercado, hipermercado

((su|hi)per)?mercado

supermercado, hipermercado, mercado

(mini|(su|hi)per)?mercado
supermercado, hipermercado, mercado, minimercado
EI em Bases Textuais com ER

50


Slide 51

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Outros Metacaracteres
Retrovisor: \1 ... \9


Retrovisor \1 é uma referência ao texto casado do primeiro
grupo
(quero)-\1

quero-quero ...

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

quero-quero, bate-bate, ...

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

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

(lenta)(mente) é \2 \1 lentamente é mente lenta

Ver exemplo prático no slide 24
EI em Bases Textuais com ER

51


Slide 52

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres tipo barra-letra
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 '_'.
EI em Bases Textuais com ER

52


Slide 53

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


Slide 54

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 [\d]{2}/[\d]{2}/[\d]{4}



CPF



IP



E-mail

[\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})?

EI em Bases Textuais com ER

54


Slide 55

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres (1/2)
Representantes
Metacaractere
.

[...]

[^...]

Nome

Função

Ponto

Um
caractere
qualquer

Lista

Lista de
caracteres
permitidos

Lista
negada

Lista de
caracteres
proibidos

Quantificadores
Metacaractere

Nome

Função

?

Opcional

Zero ou um

*

Asterisco

Zero, um ou
mais

+

Mais

Um ou mais

{n,m}

Chaves

De n até m

EI em Bases Textuais com ER

55


Slide 56

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Metacaracteres (2/2)
Âncoras
Metacaractere

Nome

Função

^

Circunflexo

Início da
linha

$

Cifrão

Fim da
linha

\b

Borda

Início ou
fim da
palavra

Outros
Metacaractere

Nome

Função

\.

Literal

Torna literal
o ponto

|

Ou

Ou um ou
outro

(...)

Grupo

Delimita um
grupo

\1...\9

Texto
Retrovisor casado nos
grupos 1...9

EI em Bases Textuais com ER

56


Slide 57

Prática


Acessar:




Programas:





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

Bases Textuais:





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

Texto
Texto Etiquetado

Ambiente de Teste:


Piazinho (Testador de Expressão Regular no browser)
EI em Bases Textuais com ER

57


Slide 58

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

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

Dificuldade

Palavras que podem ser tanto verbo como substantivo:
Ex: programs, process
EI em Bases Textuais com ER

58


Slide 59

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Como Extrair Informação das Bases Textuais?
Exemplo de Sentença

Exemplo de Sentença Etiquetada

padrão JJ_NN
Etiquetador POS da Stanford:


86,91% - novas palavras

Padrão Tag:


Penn Treebank

TagSet (2011)
Marcus et al. (1993)
EI em Bases Textuais com ER

59


Slide 60

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Como Extrair Informação das Bases Textuais?
Arquivo TXT Não Etiquetado

EI em Bases Textuais com ER

60


Slide 61

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Como Extrair Informação das Bases Textuais?
Arquivo TXT Etiquetado

EI em Bases Textuais com ER

61


Slide 62

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Conhecendo as ERs

Prática

Exemplo 1


Extrair Informação


Padrão (JJ_JJ)



Grupo (JJ_JJ)

EI em Bases Textuais com ER

62


Slide 63

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Exemplo 1

Conhecendo as ERs

Prática

Resposta
26 sentenças

Compare o resultado com o programa ftc-ER
EI em Bases Textuais com ER

63


Slide 64

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Padrão 1.0


Prática

Resposta

Extrair Informação


Conhecendo as ERs

6 sentenças

Padrão (JJ_JJ_NN_NN_(NN)?)

EI em Bases Textuais com ER

64


Slide 65

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Padrão 1.1


Conhecendo as ERs

Prática

Resposta
13 sentenças

Extrair Informação


Padrão (~JJ)_(JJ_NN_NN_(NN)?)



Grupo (JJ_NN_NN_(NN)?)

EI em Bases Textuais com ER

65


Slide 66

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Padrão 1.2


Conhecendo as ERs

Prática

Resposta
17 sentenças

Extrair Informação


Padrão (JJ_JJ_NN)_(~NN)



Grupo (JJ_JJ_NN)

EI em Bases Textuais com ER

66


Slide 67

Extração de Informação

Bases Textuais

Expressões Regulares (ERs)

Padrão 2.0 - Otimizado


Extrair Informação




Conhecendo as ERs

Prática

Resposta
7 sentenças

Padrão (~JJ)_(JJ_NN_IN)_(JJ_NN)_(~NN)

Grupo (JJ_NN)

EI em Bases Textuais com ER

67


Slide 68

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 ER

68


Slide 69

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: .
Acesso em: 10 out. 2011.



JARGAS, A. M. Expressões regulares: guia de consulta rápida. 2001.
Disponível em: . 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 ER

69


Slide 70

Referências (2/2)


ORACLE. Java platform API specification: standard edition 6. 2011.
Disponível em: . Acesso
em: 03 de out. 2011.



THE STANFORD NATURAL LANGUAGE PROCESSING GROUP.
Stanford log-linear part-of-speech tagger. 2011. Disponível em:
. Acesso em: 05 out. 2011.



TAGSET.
Penn
Treebank
Tagset.
2011.
Disponível
em:
. Acesso em: 05 out.
2011.

EI em Bases Textuais com ER

70


Slide 71

Penn Treebank Tagset (1/2)
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
EI em Bases Textuais com ER

71


Slide 72

Penn Treebank Tagset (2/2)
Tag

Meaning

RB

Adverb
Most 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
EI em Bases Textuais com ER

72


Slide 73

Simpósio de Sistemas de
Informação – FTC
27 a 29 de out. de 2011

Extração de Informação em Bases
Textuais utilizando Expressões
Regulares
Prof. Pablo Freire Matos
Informática - Instituto Federal Baiano (IFBAIANO)
[email protected]