Extração de Informação Domingos Sávio Raoni Franco Roberto Costa Ronaldo Marques Roteiro Motivação História Processo de Extração Wrappers Aplicações Referências Motivação Internet – Crescimento exponencial de informações; Maior parte da informação está na base de textos. Motivação Documentos não estruturados ou semiestruturados; Migração de dados entre diferentes interfaces. Motivação Como pesquisar? Como resumir? Como gerar bases de conhecimento? O que é relevante? História Início (fim da década de 80) MUC-Message Understanding Conference Ontem Internet Processamento de Linguagem Natural Wrappers Hoje Mash-up Processo de Extração Trata o problema da extração de dados relevantes a partir de uma coleção de documentos [Mus99] Os dados a serem extraídos são previamente definidos em um template (formulário) Template Sistema p/ EI Item1: Item2: Item3: Item4: Item5: BD BC Processo de Extração Transformar infomações não-estruturadas em um corpus de documentos ou páginas web dentro de uma base de dados. Aplicado em diferentes tipos de textos: Artigos de Jornais Web pages Artigos Científicos Mensagens de Newsgroup Classified ads Notas Médicas EI Tradicional Extrair informações relevantes de um trecho de texto Domínio específico Blah blah blah relevante blah blah blah ex: Domínio de Businness O significado do que é “relevante” é pré-definido ex: ciclo de vida de companhias: Ações: juntar, separar, comprar Companhias envolvidas e seus papéis Capital envolvido Dados obscuros e objetivos do escritor são irrelevantes Utilidade da EI A base estruturada resultante pode ser usada para: Procurar ou analisar, utilizando queries padrões de banco de dados Mineração de Dados Geração de sumários (possivelmente em outra linguagem) Construção de índices para a coleção de documentos fonte. Exemplo: Ataque Terrorista Exemplo: Ataque Terrorista Exemplo: Ataque Terrorista EI comparada com outros campos relacionados EI vs. Recuperação de Informação EI vs. Compreensão Completa do Texto EI vs. Recuperação de Informação RI: Dada uma consulta do usuário, um sistema de RI seleciona um subconjunto de documentos relevantes de um conjunto maior Depois o usuário procura as informações que ele necessita no subconjunto selecionado EI extrai informações relevantes de documentos RI e EI são tecnologias complementares EI vs. Recuperação de Informação Recuperação de Informação: Entrega documentos para o usuário Extração de Informação: Entrega fatos para o usuário/aplicacões EI vs. Compreensão Completa do Texto • CCT – entendimento do texto inteiro • CCT – respresentação alvo deve acomodar a complexidade da língua • CCT – necessita reconhecer aspectos estilísticos • EI – somente uma parte do texto é relevante • EI – representação alvo rígida • EI – estilo e cor do texto é irrelevante Por que EI é difícil? Linguagem Natural é difícil Languagem é flexível – várias formas para expressar uma única informação Frodo Baggins succeeds Bilbo Baggins as chairperson of Bank of America. Bank of America named Frodo Baggins as its new chair-person after Bilbo Baggins. Bilbo Baggins was succeeded by Frodo Baggins as chair-person of Bank of America. … precisa de mais alguma versão? Por que EI é difícil? Linguagem é ambígua – mesma sentença podendo ter significados diferentes Sam, Frodo’s partner, a CMU student, … Linguagem é dinâmica New words are constantly introduced into the language: ecotourist, lol Established words gain new senses: to google, to message Sample Job Posting Subject: US-TN-SOFTWARE PROGRAMMER Date: 17 Nov 1996 17:37:29 GMT Organization: Reference.Com Posting Service Message-ID: <[email protected]> SOFTWARE PROGRAMMER Position available for Software Programmer experienced in generating software for PC-Based Voice Mail systems. Experienced in C Programming. Must be familiar with communicating with and controlling voice cards; preferable Dialogic, however, experience with others such as Rhetorix and Natural Microsystems is okay. Prefer 5 years or more experience with PC Based Voice Mail, but will consider as little as 2 years. Need to find a Senior level person who can come on board and pick up code with very little training. Present Operating System is DOS. May go to OS-2 or UNIX in future. Please reply to: Kim Anderson AdNET (901) 458-2888 fax [email protected] 20 Extracted Job Template computer_science_job id: [email protected] title: SOFTWARE PROGRAMMER salary: company: recruiter: state: TN city: country: US language: C platform: PC \ DOS \ OS-2 \ UNIX application: area: Voice Mail req_years_experience: 2 desired_years_experience: 5 req_degree: desired_degree: post_date: 17 Nov 1996 21 Amazon Book Description …. </td></tr> </table> <b class="sans">The Age of Spiritual Machines : When Computers Exceed Human Intelligence</b> <font face=verdana,arial,helvetica size=-1> by <a href="/exec/obidos/search-handle-url/index=books&field-author= Kurzweil%2C%20Ray/002-6235079-4593641"> Ray Kurzweil</a><br> </font> <br> <a href="http://images.amazon.com/images/P/0140282025.01.LZZZZZZZ.jpg"> <img src="http://images.amazon.com/images/P/0140282025.01.MZZZZZZZ.gif" width=90 height=140 align=left border=0></a> <font face=verdana,arial,helvetica size=-1> <span class="small"> <span class="small"> <b>List Price:</b> <span class=listprice>$14.95</span><br> <b>Our Price: <font color=#990000>$11.96</font></b><br> <b>You Save:</b> <font color=#990000><b>$2.99 </b> (20%)</font><br> </span> 22 <p> <br>… <br> Extracted Book Template Title: The Age of Spiritual Machines : When Computers Exceed Human Intelligence Author: Ray Kurzweil List-Price: $14.95 Price: $11.96 : : 23 Tipos de texto Estruturado Não-Estruturado Formato pre-definido e rígido Livre Sentenças em alguma linguagem natural Semi-estruturado Formatação não segue regras rígidas Algum grau de estruturação campos ausentes variações na ordem dos dados <HTML><TITLE>Some Country Codes</TITLE><BODY> • Uno 97, 4p., <I>242</I><BR> Ar, Dir, VE, Som, Prata <B>Congo</B> Estudantes caras-pintadas protestaram, ontem, no • Gol 16V,Paulo ano<I>20</I><BR> 94, Ar, 2 portas, Al. <B>Egypt</B> Centro de São exigindo o impeachment do prefeito Celso92, Pitta, de corrupção <B>Spain</B> • Corsa c/<I>34</I><BR> 2 acusado portas, Alarme, Rodas por sua ex-mulher. <B>Belize</B> <I>501</I><BR> <HR></BODY></HTML> Tipos de Sistemas para EI Baseados em PLN Extrair informações de textos em linguagem natural (livre) Padrões lingüísticos Wrappers Principalmente para textos estruturados e semi-estruturados Formatação do texto, marcadores, freqüência estatística das palavras Construção Manual X Aprendizagem Construção manual de Wrappers Baseada em engenharia do conhecimento Vantagem Construção manual de regras de extração Padrões de extração são descobertos por especialistas após examinarem o corpus de treinamento Boa performance dos Sistemas Desvantagens Processo de desenvolvimento trabalhoso Escalabilidade Especialista pode não estar disponível Construção Automática de Wrappers Aprendizagem de máquina Vantagens Aprender sistemas de EI a partir de um conjunto de treinamento Mais fácil marcar um corpus do que criar regras de extração Menor esforço do especialista Escalabilidade Desvantagens Esforço de marcação do corpus de treinamento Natural Language Processing Capazes de lidar com as irregularidades das línguas naturais Técnicas. Part-of-speech (POS) tagging Mark each word as a noun, verb, preposition, etc. Syntactic parsing Identify phrases: NP, VP, PP Semantic word categories KILL: kill, murder, assassinate, strangle, suffocate Wrappers - Técnicas de Extração Definem como o sistema realiza o processo de extração da informação Técnicas Autômatos Finitos Casamento de Padrões Classificação de Textos Modelos de Markov Escondidos Wrappers – Autômatos Finitos Regras de extração na forma de autômatos finitos Definidos por: (1) estados que “aceitam” os símbolos do texto que preenchem algum campo do formulário de saída, (2) os estados que apenas consomem os símbolos irrelevantes encontrados no texto, e (3) os símbolos que provocam as transições de estado Textos estruturados e semi-estruturados Delimitadores, ordem dos elementos Wrappers – Autômatos finitos Exemplo <LI> <A HREF="…"> Mani Chandy </A>, <I>Professor of Computer Science</I> and <I>Executive Officer for Computer Science</I> … <LI> Fred Thompson, <I>Professor Emeritus of Applied Philosophy and Computer Science</I> ? / next_token ?/å b U ?/ å s<U,U> / å s<b,U> / “U=” + next_token s<b,N> / “N=” + next_token N _ U etc. s<U,N> / “N=” + next_token s<N,N> / å _ N ?/ å ? / next_token Key • ? : wildcard • U : state to extract URL • U : state to skip over tokens until we reach N • N : state to extract Name • N : state to skip over tokens until we reach A • s<X,Y> : separator rule for the separator of states X and Y • etc. Wrappers - Casamento de Padrões Aprendem regras na forma de expressões regulares. Expressões regulares que “casam” com o texto para extrair as informações Textos livres, estruturados e semi-estruturados Delimitadores, padrões regulares (Ex. data, CEP) Padrão :: * (Digit) ‘ BR’ * ‘$’ (Number) Formulário:: Aluguel {Quartos $1} {Preço $2} Capitol Hill – 1 br twnhme. fplc D/W W/D. Undrgrnd pkg incl $675. 3 BR, upper flr of turn of ctry HOME. incl gar, grt N. Hill loc $995. (206) 999-9999 <br> <i> <font size=-2>(This ad last ran on 08/03/97.) </font> </i> <hr> Wrappers - Classificação de textos Dividem o texto de entrada em fragmentos candidatos a preencher algum campo do formulário de saída. Classificam os fragmentos com base em suas características posição número de palavras presença de palavras específicas letras capitalizadas Desvantagem Classificação local independente para cada fragmento (desvantagem) Textos semi-estruturados Classificação de Textos Classificam fragmentos do documento para determinar que campo do formulário eles devem preencher Classificador outros empresa outros nome cargo endereco endereco telefone telefone Wrappers - Modelos de Markov Escondidos (HMM) Um HMM é um autômato finito probabilístico que consiste em: Processo de classificação O algoritmo Viterbi Retorna a seqüência de estados ocultos com maior probabilidade de ter emitido cada seqüência de símbolos de entrada. Vantagem (1) Um conjunto de estados ocultos S; (2) Uma probabilidade de transição Pr[s’/s] entre os estados ocultos s E S e s’ E S; (3) Um conjunto de símbolos T emitidos pelos estados ocultos; (4) Uma distribuição de probabilidade Pr[t/s] de emissão de cada símbolo t E T para cada estado escondido s E S. Realizar uma classificação ótima para a seqüência completa de entrada. Desvantagem Não é capaz de fazer uso de múltiplas características dos Tokens (por exemplo, formatação, tamanho e posição), Desenvolvimento Teórico Um “modelo” HMM é definido por: a33 O número de estados não-visíveis. A matriz de transição de estados. a O número de observações ou a11 estados visíveis. y1 y2 y3 y4 b31 b32 b33 b34 3 a23 31 a13 a12 a23 a22 1 A matriz de probabilidade 2 de emissão de estados visíveis. b11 a21 b12 b13 b14 b21 b22 b23b24 y1 y2 y3 y4 y1 y2 y3 y4 Exemplo Ilustrativo Lago L1 Lago L2 1 2 3 P1 L1, L2, L2, L1, L1, L1, L2, L2, L2, L2 P2 L2, L1, L2, L1, L1, L2, L1, L1, L2, L2 P3 L1, L1, L1, L2, L1, L2, L1, L2, L2, L2 Deseja-se identificar este pato!! PX L1, L2, L2, L2, L1, L2, L1, L1, L2, L1 Exemplo Ilustrativo P1 L1, L2, L2, L1, L1, L1, L2, L2, L2, L2 2 transições vão para L1 4 transições que saem de L1 2 transições vão para L2 A1 Saída Chegada L1 L2 L1 0.5 0.5 L2 Assume-se que a probabilidade de se visitar um lago depende de que lago foi visitado no dia anterior, caracterizando uma Cadeia de Markov. Exemplo Ilustrativo P1 L1, L2, L2, L1, L1, L1, L2, L2, L2, L2 1 transição vai para L1 5 transições que saem de L2 4 transições vão para L2 A Chegada 1 Saída L1 L2 L1 L2 0.5 0.5 Assume-se que a probabilidade de se visitar um lago depende de que lago foi visitado no dia anterior, caracterizando uma Cadeia de Markov. Exemplo Ilustrativo P1 L1, L2, L2, L1, L1, L1, L2, L2, L2, L2 1 transição vai para L1 5 transições que saem de L2 4 transições vão para L2 A Chegada 1 Saída L1 L2 L1 0.5 0.5 L2 0.2 0.8 Assume-se que a probabilidade de se visitar um lago depende de que lago foi visitado no dia anterior, caracterizando uma Cadeia de Markov. Exemplo Ilustrativo A1 Chegada L2 Saída Saída L1 A2 L1 0.5 0.5 L2 0.2 0.8 A3 Chegada Saída L1 L2 L1 0.4 0.6 L2 0.5 0.5 Chegada L1 L2 L1 0.4 0.6 L2 0.2 0.7 Exemplo Ilustrativo Conclusões: Probabilidade de PX ter sido gerado pelo Pato 1: PX L1, L2, L2, L2, L1, L2, L1, L1, L2, L1 0.5 x 0.8 x 0.8 x 0.2 x 0.5 x 0.2 x 0.5 x 0.5 x 0.2 = 0.00032 A1 Chegada Saída L1 L2 L1 0.5 0.5 L2 0.2 0.8 Exemplo Ilustrativo Conclusões: Probabilidade de PX ter sido gerado pelo Pato 2: PX L1, L2, L2, L2, L1, L2, L1, L1, L2, L1 0.6 x 0.75 x 0.75 x 0.25 x 0.6 x 0.25 x 0.4 x 0.6 x 0.25 = 0.000759375 A2 Chegada Saída L1 L2 L1 0.4 0.6 L2 0.25 0.75 Exemplo Ilustrativo Conclusões: Probabilidade de PX ter sido gerado pelo Pato 3: PX L1, L2, L2, L2, L1, L2, L1, L1, L2, L1 0.5 x 0.5 x 0.5 x 0.6 x 0.5 x 0.6 x 0.4 x 0.5 x 0.6 = 0.0027 A3 Chegada Saída L1 L2 L1 0.4 0.6 L2 0.5 0.5 Comparando as probabilidades, conclui-se que o mais provável é que o pato desconhecido seja o Pato 3! Aplicações Extração de Informação em Documentos Conteúdo Análise Estrutural Análise Semântica Empresa portuguesa responsável por 3,4% do PIB de Portugal. Aplicações Extração de Informação em Documentos Análise do Código Fonte de Aplicações Uso de Padrões Qualidade do Código Empresa de Curitiba, oferece sistemas de análise do código fonte em diversas linguagens. Aplicações Extração de Informação na WEB Filtragem de Fóruns Controle do Conteúdo Assunto dos Diálogos Empresa de São Paulo com mais de 20 anos de mercado. Oferece soluções para e-learning. Aplicações Extração de Informação na WEB Monitoramento da WEB Busca por Hackers Busca por Terroristas Empresa mundialmente reconhecida, presente no Brasil há 10 anos, oferecendo soluções nas áreas de segurança web e redes. Aplicações Extração de Informação na WEB Monitoramento de opiniões espontâneas da WEB Análises qualitativas e quantitativas dos dados recolhidos Informação estruturada de cada post, a partir de cada serviço cadastrado. Empresa brasileira com 3 anos de mercado. Aplicações Extração de Informações Estratégicas Business Intelligence Análise de Mercado Melhoria de Processos Empresa brasileira que oferece soluções na área de BI. Aplicações Extração de Informações Estratégicas Análises Biológicas de Dados Regiões Codificantes (DNA) Regiões Ativas (Proteínas) National Center for Biotechnology Information, criado em 1988, localizado nos Estados Unidos. É a principal fonte de informações sobre Genômica na Internet. Aplicações Extração de Informações Estratégicas Análises de Arquivos de LOG Logs de Erro Logs de Acesso Empresa mundialmente reconhecida, com mais de 25 anos, oferece soluções para a análise de logs de erro e acesso a bancos de dados. Aplicações de RI Extração de Informações Estratégicas Análises de Imagens Geologia Climatologia Astrologia Empresa brasileira com 10 anos de mercado, oferece soluções para análise e classificação de imagens. Referências Uma Abordagem de Aprendizagem Híbrida para Extração de Informação em Textos Semi-Estruturados. Eduardo F.A. Silva, Flávia A. Barros & Ricardo B. C. Prudêncio http://gate.ac.uk/ie/index.html Negócios Integrados - http://www.ni.com.br/ PT Sistemas de informação - http://www.ptsi.pt/PTSI ATSolutions - http://www.atsolutions.com.br/ Techne - http://www.techne.com.br/ Datacraft - http://www.datacraft.com.br/ NBCI - http://www.ncbi.nlm.nih.gov/ Semiotic Systems - http://www.semiotic.com.br/ E.life - http://www.elife.com.br/