PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
1
PCS 2059
PCS 2059
PCS 2059
PCS 2059 ––––Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
Professores:
Professores:
Professores:
Professores:
Jaime Simão Sichman
Monitor:
Monitor:
Monitor:
Monitor:
Allan Lima
2o. Semestre de 2013
Processando Textos com o Uso de
Processando Textos com o Uso de
Processando Textos com o Uso de
Processando Textos com o Uso de
Ontologias no GATE
Ontologias no GATE
Ontologias no GATE
PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
2
Roteiro
Roteiro
Roteiro
Roteiro
1. Ferramenta GATE
2. Conceitos básicos
3. Anotando textos manualmente
4. Anotando textos automaticamente
PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
3
Ferramenta GATE
Ferramenta GATE
Ferramenta GATE
Ferramenta GATE
• GATE Developer
– General Architecture for Text Engineering
– Um ambiente de desenvolvimento integrado para o
processamento de textos
– Projeto iniciado em 1995 pela Universidade de
Sheffield – UK
PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
4
Conceitos
Conceitos
Conceitos
Conceitos BBBBáááásicos
sicos
sicos
sicos
• Applications
– Aplicações criadas para o processamento de textos
– São compostas através da combinação de
“Processing Resources”
• Processing Resources
– Unidades básicas de processamento de texto
– Cada Processing Resource resolve um
sub-problema
– Exemplos:
PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
5
Conceitos
Conceitos
Conceitos
Conceitos BBBBáááásicos
sicos
sicos
sicos
• Language Resources
– Textos, Ontologias e outras formas de documentos
usados como entrada pelos “Processing
Resources”
• Data Stores
– Bases de dados indexadas
• Plug-ins
PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
Processando Textos com o
Processando Textos com o
Processando Textos com o
Processando Textos com o Gate
Gate
Gate
Gate
• Objetivo
– Compreender como a anotação de documentos pode
ser usada em sistemas de recuperação de informação.
• Demonstração
– Anotar manualmente documentos
– Criar uma aplicação para anotar automaticamente
documentos usando as anotações manuais prévias
– Criar regras para anotação de documentos usando
Demo
Demo
Demo
Demo –––– Ano
Ano
Ano
Anoçççção
ão
ão
ão por
por
por
por Instâncias
Instâncias
Instâncias
Instâncias
PCS 2059 Inteligência Artificial 2o.Sem. / 2012 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13 7
Documentos
de Exemplo
Ontologia
GATE
Documentos
Documentos
Anotados
Demo
Demo
Demo
Demo –––– Anota
Anota
Anota
Anotaçççção
ão
ão
ão por
por
por
por Regras
Regras
Regras
Regras
PCS 2059 Inteligência Artificial 2o.Sem. / 2012 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
Regras de
Anotação
GATE
Documentos
Documentos
Anotados
Demo
Demo
Demo
Demo –––– Busca
Busca
Busca
Busca Semântica
Semântica
Semântica
Semântica
PCS 2059 Inteligência Artificial 2o.Sem. / 2012 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13 9
Documentos
Anotados
Consultas
PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
Configurando
Configurando
Configurando
Configurando o GATE
o GATE
o GATE
o GATE
• Plug-ins necessários
– Gazetteer_Ontology_Based
– Ontology_Tools
– Ontology
– Tools
• Habilitando os plugins
PCS 2059 Inteligência Artificial 2o.Sem. / 2013 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
Importando
Importando
Importando
Importando Documentos
Documentos
Documentos
Documentos
• É preciso criar um “Corpus”
– Um conjunto de documentos
• Como?
– Clicar com o botão direito em “Language
Resources”
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
Populando
Populando
Populando
Populando o Corpus
o Corpus
o Corpus
o Corpus
• Como?
– Clicar com botão direito no Corpus
– Populate
– Selecionar o diretório onde os documentos então e
clicar em OK
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
15
Importando
Importando
Importando
Importando uma
uma
uma
uma Ontologia
Ontologia
Ontologia
Ontologia do
do
do Proteg
do
Proteg
Protegèèèè
Proteg
• Clicar com o botão direito em “Language
Resources”
• Ir em “New” -> “OWLIM Ontology”
• Na caixa de diálogo que ?????
• A propriedade “rdfXmlURL” é o arquivo xml com
a ontologia
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor:
Allan D. S. Lima
Versão: 2.0 Data: 31/10/13
17
• Clicar duas vezes no documento a ser anotado
• Quando a janela com o conteúdo do documento
abrir, clicar no botão “OAT” para que a ontologia
seja exibida
• Clicar na aba “options” e marcar a opção
“Selected Text As Property Value”
Anotando
Anotando
Anotando
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
19
Anotando
Anotando
Anotando
Anotando Manualmente
Manualmente
Manualmente
Manualmente Documentos
Documentos
Documentos
Documentos
• Secionar o trecho a ser anotado e aguardar
até que a ferramenta abra a janela de
anotação
• Escrever o nome da classe ou instancia que
a anotação representa
• Marcar a opção “Create Instance”, caso
necessário
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
21
Criando
Criando
Criando
Criando um
um
um
um ““““datatore
datatore
datatore””””
datatore
• Clicar com o botão direito em “Datastores” e
clicar em “Create Datastore”
• Selecionar o tipo Lucene “Based Serachable
DataStore”
• Selecionar uma pasta vazia onde os índices
serão criados
• Clicar em “OK”
• Clicar com o botão direito no “Corpus”
• Clicar em “Save to Datastore”
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
23
Anotando
Anotando
Anotando
Anotando Automaticamente
Automaticamente
Automaticamente
Automaticamente Documentos
Documentos
Documentos
Documentos
• Requisitos
– Onto Root Gazetteer
• Tokeniser
• Pos Tagger
• Morphological Analyzer
– Corpus Pipeline
• Este pipeline vai rodar o gazetteer sobre todos os documentos
em um corpus
• Carregar o sistema de exemplo ANNIE, que vai
automaticamente criar a maioria desses
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
25
Criando
Criando
Criando
Criando o Onto Root Gazetteer
o Onto Root Gazetteer
o Onto Root Gazetteer
o Onto Root Gazetteer
• Clicar com o botão direito em “Processing
Resources”
• Clicar em “Onto Root Gazetteer”
• Selecionar
– Ontologia a ser usada
– Tokeniser
– Pos Tagger
– Morphological Analyzer
Realizando
Realizando
Realizando
Realizando Anota
Anota
Anotaçççções
Anota
ões
ões com
ões
com
com Regras
com
Regras
Regras
Regras----JAPE
JAPE
JAPE
JAPE
• Requisitos
– Tokenizer
– Arquivos de Regras
• tem de ser editado manualmente
• Consulte o arquivo samples.jape para entender melhor como
criar suas próprias regras
– JAPE Transducer
– Document Reset
• Opcional, usado apenas se as anotações feitas
anteriormente no documento precisem ser removidas
PCS 2059 Inteligência Artificial 2o.Sem. / 2012 Prof: Jaime S. Sichman Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
31
Criando
Criando
Criando
Criando e
e
e Executando
e
Executando
Executando
Executando o Corpus Pipeline
o Corpus Pipeline
o Corpus Pipeline
o Corpus Pipeline
• Clicar com o botão direito em “Applications”
• Colocar o mouse sobre “Create New
Application”
• Clicar em “Corpus Pipeline”
• Preencher o nome do Corpus e clicar em “OK”
• Clicar duas vezes no nome do Pipeline criado
• Adicionar ao pipeline
– Document Reset (opcional)
– Tokenizer
– JAPE Transducer
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
33
Verificando
Verificando
Verificando
Verificando os
os
os
os Resultados
Resultados
Resultados
Resultados Obtidos
Obtidos
Obtidos
Obtidos
• Abrir no GATE qualquer um dos arquivos
processados
• Clicar em “Annotation Sets”
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13
35
Verificando
Verificando
Verificando
Verificando os
os
os
os Resultados
Resultados
Resultados
Resultados Obtidos
Obtidos
Obtidos
Obtidos
• Salvar o Corpus em um dataset
– Isto atualizará os índices dos arquivos nos dataset
com as novas anotações
• Clicar duas vezes no nome do dataset
• Clicar na aba Lucene Datastore Searcher
• Preencher o campo superior a direita com uma
consulta
PCS 2059 PCS 2059 PCS 2059 PCS 2059 Inteligência Artificial Inteligência Artificial Inteligência Artificial Inteligência Artificial 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 2o.Sem. / 2013 Prof Prof Prof Prof:::: Jaime S. Jaime S. Jaime S.
Jaime S. SichmanSichmanSichmanSichman
Autor: Allan D. S. Lima Versão: 2.0 Data: 31/10/13