Transcript Extração de Informação - Sistemas de Informação
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:
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:
em: 03 de out. 2011.
THE STANFORD NATURAL LANGUAGE PROCESSING GROUP.
Stanford log-linear part-of-speech tagger. 2011. Disponível em:
TAGSET.
Penn
Treebank
Tagset.
2011.
Disponível
em:
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]