Extração de Informações Carlos Alberi dos Santos Melo Ivan Gesteira Costa Filho 1 WEB Crescente números de textos digitalizados: intranets, bibliotecas digitais, CD-Rom, ... 2 Extração de Informações • Trata o problema de extração de dados a partir de uma coleção de documentos. • Apenas informações relevantes 3 IR x IE • IR (Information Retrieval) – recuperação de páginas (documentos) – ex. nosso projeto • IE (Information Extraction) – recuperar dados dentro de documentos – deadlines, locais e assuntos em páginas de “call for papers” 4 Contexto Documentos Classificação Extração de Informação Dados 5 Histórico • • • • Linguistic String Project (60) FRUMP - newswire (79) DARPA - Grupos de Pesquisa (80) MUC - Message Understanding Conference (80) 6 Tipos de Texto • Estruturados – Ex. tabelas, listas, XML, ... • Não estruturados – Ex. Fichas médicas, artigos, reportagens, ... • Semi-estruturados – Ex. Referencias bibliográficas, anuncios, ... 7 Texto Estruturados <html><title> Some Country Codes </title> <body><b>Some Country Codes</b><p> <b>Congo</b><i>242</i><BR> <b>Egypt</b><i>20</i><BR> <b>Brazil</b><i>55</i><BR> </body></html> Some Country Codes Congo 242 Egypt 20 Brazil 55 8 Texto Não Estruturados C. Vicent Protho, diretor executivo do deste fabricante de chips, foi nomeado ao posto adicional de presidente , sucedendo John W. Smith, que renunciou o cargo em vista de outros interesses. • Evento – Pessoa Entrando: C. Vicent Protho – Pessoa Saindo: John W. Smith – Cargo: Presidente 9 Texto Semi-estruturados VDO/TRC/ALG - Casa Pau Amarelo c/ 3 qts, 2sls, copa, coz, 3wcs, muro alto. Terreno medindo 936m2, area construída 248.69m2. R$50 mil. Fones: 436.1648 10 XML • Tags SGML • Semântica no texto. • Arquivo DTD Será XML amplamente usado na WEB? 11 XML Documento XML <!doctype CodigoTelefonico SYSTEM ”http:/www.di.ufpe.br/ias/codtel.dtt> <pais>Congo</pais><codigo>242</codigo> <pais>Egypt</pais><codigo>20</codigo> <pais>Brazil</pais><codigo>55</codigo> Documento <!element CodigoTelefonico (Pais, Codigo)> <!element Pais (#PCDATA)> DTT <!element Codigo (#PCDATA)> 12 Técnicas de IE PLN •Textos não-estruturados •Técnicas simplificadas de PLN Wrappers •Textos estruturados •Aplicações Web •Ex. html, wml, xml, .. 13 PLN Tokenização Análise Léxica /Morfológica Análise Sintática /Semântica Construção de Regras de Extração Análise de Discurso Preenchimento de Templates 14 PLN - Tokenização Tokenização Análise Léxica /Morfológica Análise Sintática /Semântica •Segmentação das Palavras •Divisão em segmentos (estruturas) •Pre-processamento Construção de Análise de – ignorarRegras partesdedo texto Extração Discurso Preenchimento de Templates 15 PLN - Análise Léxica Tokenização Análise Léxica /Morfológica Análise Sintática /Semântica Construção de Análise de •Classificação Morfológica (artigo, verbo, Regras de Extração Discurso substantivo). •Reconhecimento de nomes próprios, empresas, datas, ... Preenchimento •Etiquetagem automática de Templates 16 PLN - Análise Sintática Tokenização Análise Léxica /Morfológica Análise Sintática /Semântica Construção •Construção arvore de sintática Análise de Regras de Extração Discurso •Grupos Nominais •Grupos Verbais •Análise sintática parcial Preenchimento de Templates 17 PLN - Construção de Padrões •Dicionário de padrões de Extração •Específico ao Domínio Tokenização •Automática X Manual •eficiência, portabilidade, treinamento, alterações Análise Léxica ad hoc Análise Sintática /Morfológica /Semântica Construção de Regras de Extração Análise de Discurso Preenchimento de Templates 18 PLN - Construção de Padrões Exemplo: Regras: •O parlamento foi bombardeado pela Guerrilha. •A guerrilha bombardeou o parlamento ALVO - foi bombardeado pela - GRUPO grupo-nominal(ALV,cabeca(alvo-fisico)) grupo-nominal(GRP,cabeca(GRP)) grupo- verbal(VG,tipo(passivo),cabeca(bombardeado) sujeito(ALV,VG) objeto(GRP,VG) -> EventoBonbardeamento(alvo(AVL),agente(GRUPO)) 19 PLN - Análise de Discurso Tokenização •Relações entre sentenças do texto. •Correferência •Ligações entre palavras. Análise Léxica /Morfológica Análise Sintática /Semântica Construção de Regras de Extração Análise de Discurso Preenchimento de Templates 20 PLN - Preenchimento dos Templates Tokenização Análise Léxica /Morfológica Análise Sintática /Semântica •Preenches os dados em templates especificados pela aplicação. Construção de Análise de •Objetos ou tabelas Regras de Extração Discurso Preenchimento de Templates 21 Avaliação do Sistema • Corpus Etiquetado • Cobertura X Precisão • F-Measure FMeasure = (2 * Cobertura * Precisão) (Cobertura + Precisão) • Taxa Mínima de 90% 22 Problemas - PLN • Adequação de Teorias • Custo de Etiquetagem – Técnicas automáticas • Custo de Produção – Seis especialistas mês 23 PLN X Homem • Tipster – 38 paginas de regras – Artigos de 10 paginas Homem X Máquina 60% a 80% 50% 20 horas 30 minutos 24 Wrappers • Ferramenta usada para extrair dados de textos estruturados ou com algum tipo de estrutura • Usada para permitir acesso integrado a base de dados heterogêneas • Não usa conhecimento lingüístico • Identifica padrões no documento 25 Tarefas & Construção • 3 Tarefas – Recuperar/ler documento – Extrair informações – Estruturar os dados (ex. BD) • Construção – Depende do problema a ser resolvido • Abordagem – Manual – Semi-automática – automática 26 Construção Manual • Regras escritas manualmente em uma linguagem de programação 27 Construção Manual • Prós – Maior precisão – Técnica simples • Contra – Tempo e esforço de desenvolvimento – Habilidade para definição das regras – Mudança no código caso a estrutura dos documentos seja alterada 28 COIN (Context Interchange) • Utiliza wrappers para permitir acesso integrado a fontes de dados heterogêneas • A intenção é construir wrappers com interfaces genéricas • Proporcionar facilidade de reuso de código 29 Arquitetura consulta Resultados Interpretador Projetista/Otimizador Executor Casamento de padrões Interpretador Acesso à rede Especificações Documentos Web 30 ProdExt • Extração de dados sobre produção técnica. – Ex. Autor, Título, Local, Data, ... • Textos semi-estruturados • Arquitetura Híbrida 31 ProdExt - PLN • Análise Léxica – Identificação de nomes de lugares, datas, veículos, nomes próprios (desejável) • Dicionários – Veiculo de publicação, editora 32 ProdExt - Wrappers • Regras com peso – Autor, Título, Veiculo de Produção, ... • Ex. Regra para Título Se cadeia tem sinal de hifem ou dois pontos: ENTÃO incrementa a chance de ser Título( 0.25) e incrementa a chance de ser Veículo( 0.2) e incrementa a chance de ser Local( 0.1) e incrementa a chance de ser Editora( 0.015) 33 Construção semi-automática • Uso de uma ferramenta no desenvolvimento • Especificado de maneira interativa e com uso de exemplos • O usuário delimita trechos que interessam 34 Construção semi-automática • Com base nos trechos selecionados, a ferramenta define um padrão sintático • O resultado é um conjunto de dados estruturados de acordo com o modelo criado pela ferramenta 35 Construção semi-automática • Prós: – Torna mais rápido e fácil o desenvolvimento • Contras: – Caso a estrutura do documento seja modificado o wrapper tem que ser refeito 36 NoDoSe • Ferramenta para estruturar e extrair dados de forma semi-automática • Tanto o processo de estruturação quanto o de extração ocorre interativamente 37 O processo • Especificar como os dados devem ser modelados: – A estrutura é constituída de um conjunto de nós – Cada nó é descrito por uma lista de atributos onde cada atributo tem a forma: <nome, valor> • Decompor o documento em regiões: – As regiões são mapeadas em nós • Definir o formato de saída: – Relatórios, BD etc. 38 Construção Automática • Utiliza indução para encontrar padrões a partir de um conjunto de exemplos • O processo de aprendizagem pode gerar várias hipóteses para um mesmo dado • A solução é ajustar o algoritmo de aprendizagem para obedecer alguns critérios 39 Construção Automática • Três aspectos a considerar em relação ao processo de aprendizagem: – Aprendizagem o corre de maneira incremental ou o corpus é definido antecipadamente – Em que linguagem(ou formalismo) será descrito o corpus e as hipóteses – O algoritmo terá abordagem top-down ou bottom-up 40 Construção Automática • Prós: – Não requer nenhum esforço humano • Contras: – As regras dependem do dos exemplos de treinamento – Caso a estrutura dos documentos seja alterada torna-se necessário selecionar um novo corpus e repetir o processo de aprendizagem 41 ShopBot • Agente de compras para comércio eletrônico • Realiza consultas em lojas on-line e extrai e resume informações de interesse • Duas fases de atuação: – Aprendizado • Analisa páginas utilizando técnicas de aprendizagem – Comparação • Encontra o melhor preço de um produto específico 42 Análise • Procura-se padrões no código do documento HTML • Cria uma seqüência de registros separadas por tags visualmente perceptíveis como: – <HR>, <P>, <BR>, <LI> • Gera uma assinatura para cada registro através da remoção de tags HTML. 43 Análise • Página de entrada: <html> <title>CD’s</title> <body> <B>Preços</B><P> <B>Pixies</B> <I>23,00</I><br> <B>The Cure</B> <I>22,00</I><br> <B>Suede</B> <I>22,00</I><br> </body> < /html> 44 Análise • Assinatura: <html> <title>texto</title> <body> <B>texto</B><P> <B>texto</B> <I>texto</I><br> <B>texto</B> <I>texto</I><br> <B>texto</B> <I>texto</I><br> </body> </html> • A primeira e a última linha representam, cada uma, apenas 1/5 das assinaturas, enquanto as outras, idênticas, representam 3/5 • O shopBot descarta então, a primeira e a última linha 45 Avaliação de Wrappers • O modo de avaliação não é padrão • Podem ser usados: – Tempo de processamento em relação ao volumes de dados; – Taxa de erros; – Custo e eficácia no processo de aprendizagem; – F-measure, etc. 46 Bibliográfia • Rodrigues Nunes C.C. ProdExt: Um Wrapper para Extração de Produção Técnica e Científica de Páginas Eletrônicas. Dissertação de Mestrado, UFPE, 2000. • Cowie J., Lehnert W.. Information extraction. Comunications of the ACM, 39(1):80-91, January 1996. • Maruyama H., Tamura K., Uramoto N. XML and Java.Addison-Wesle, 1998 47