580 likes | 658 Views
Extra ção de Informação. Equipe: Domingos Sávio Raoni Franco Roberto Costa Ronaldo Marques Revisada por Flavia Barros. Jul/2007. Roteiro. Motivação História Processo de Extração Wrappers Aplicações Referências. Problemas. Internet Crescimento exponencial
E N D
Extração de Informação Equipe: Domingos Sávio Raoni Franco Roberto Costa Ronaldo Marques Revisada por Flavia Barros Jul/2007
Roteiro Motivação História Processo de Extração Wrappers Aplicações Referências
Problemas Internet Crescimento exponencial Maior parte da informação está em forma de texto livre Documentos não estruturados ou semi-estruturados Migração de dados entre diferentes interfaces
Algumas questões Como localizar informação relevante? Como extrair a informação relevante? Como gerar BDs ou bases de conhecimento automaticamente? Extração de Informação pode ajudar... Trata o problema da extração de dados relevantes a partir de uma coleção de documentos [Mus99] Blah blah blah trecho relevante blah blah blah
Extração de Informação (EI) Template Item1: Item2: Item3: Item4: Item5: Sistema p/ EI BC BD • Os dados a serem extraídos são previamente definidos em um template (formulário) • Os dados extraídos podem • ser diretamente apresentados na tela • ser usados para preencher um BD ou uma BC
Extração de Informação • A base estruturada resultante pode ser usada para: • Procurar ou analisar dados utilizando linguagens de queries de BDs • Mineração de Dados • Geração de sumários • possivelmente em outra língua • Construção de índices para a coleção de documentos fonte
Extração de Informação • Domínio específico • 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 não são considerados
Processo de Extração • Técnica pode ser aplicada a diferentes tipos de textos: • Artigos de Jornais • Web pages • Artigos Científicos • Mensagens de Newsgroup • Classified ads • Anotações Médicas
História da EI Início (fim da década de 80) MUC-Message Understanding Conference Processamento de Linguagem Natural Década de 90… Internet Wrappers (extratores)
EI versus outras áreas relacionadas 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 • respresentação alvo deve acomodar a complexidade da língua • necessita reconhecer aspectos estilísticos • EI • somente uma parte do texto é relevante • representação alvo rígida • estilo e cor do texto é irrelevante
Por que EI é difícil? • Língua Natural é difícil de tratar automaticamnete • é muito 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. …
Por que EI é difícil? • Língua natural é ambígua • mesma sentença podendo ter significados diferentes • Sam, Frodo’s partner, a CMU student, … • Língua natural é 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: <56nigp$mrs@bilbo.reference.com> 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 kimander@memphisonline.com Subject: US-TN-SOFTWARE PROGRAMMER Date: 17 Nov 1996 17:37:29 GMT Organization: Reference.Com Posting Service Message-ID: <56nigp$mrs@bilbo.reference.com> 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 kimander@memphisonline.com 19
Extracted Job Template computer_science_job id: 56nigp$mrs@bilbo.reference.com 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 20
Amazon Book Description …. </td></tr> </table> <b class="sans">The Age of Spiritual Machines : When Computers Exceed Human Intelligence</b><br> <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> <p> <br> …. </td></tr> </table> <b class="sans">The Age of Spiritual Machines : When Computers Exceed Human Intelligence</b><br> <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> <p> <br>… 21
Extracted Book Template Title: The Age of Spiritual Machines : When Computers Exceed Human Intelligence Author: Ray Kurzweil List-Price: $14.95 Price: $11.96 : : 22
Tipos de texto • Estruturado • Formato pre-definido e rígido • Não-Estruturado • 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> <B>Congo</B> <I>242</I><BR> <B>Egypt</B> <I>20</I><BR> • Uno 97, 4p., Ar, Dir, VE, Som, Prata • Gol 16V, ano 94, Ar, 2 portas, Al. • Corsa 92, c/ 2 portas, Alarme, Rodas Estudantes caras-pintadas protestaram, ontem, no Centro de São Paulo exigindo o impeachment do prefeito Celso Pitta, acusado de corrupção por sua ex-mulher. <B>Spain</B> <I>34</I><BR> <B>Belize</B> <I>501</I><BR> <HR></BODY></HTML> Tipos de texto • Estruturado • Não-Estruturado • Semi-estruturado
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 • 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 • Vantagem • 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 • Aprender sistemas de EI a partir de um conjunto de treinamento • Vantagens • 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
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)
Wrappers - Casamento de Padrões 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
Wrappers - Classificação de textos • Desvantagem • Classificação local independente para cada fragmento (desvantagem) • Textos semi-estruturados
outros empresa outros nome Classificador cargo endereco endereco telefone telefone Classificação de Textos • Classificam fragmentos do documento para determinar que campo do formulário eles devem preencher
Wrappers - Modelos de Markov Escondidos (HMM) • Um HMM é um autômato finito probabilístico que consiste em: • (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. • Processo de classificação • Retorna a seqüência de estados ocultos com maior probabilidade de ter emitido cada seqüência de símbolos de entrada.
Wrappers - Modelos de Markov Escondidos (HMM) • Vantagem • 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),
y1 y2 y3 y4 b31 b32 b33 a33 b34 3 a31 a23 a11 a13 a23 a22 1 a12 2 b11 a21 b12 b14 b24 b13 b22 b21 b23 y1 y2 y3 y4 y1 y2 y3 y4 Desenvolvimento Teórico • Um “modelo” HMM é definido por: • O número de estados não-visíveis. • A matriz de transição de estados. • O número de observações ou estados visíveis. • A matriz de probabilidade de emissão de estados visíveis.
Lago L1 123 Deseja-se identificar este pato!! Lago L2 Exemplo Ilustrativo 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 PX L1, L2, L2, L2, L1, L2, L1, L1, L2, L1
2 transições vão para L1 2 transições vão para L2 4 transições que saem de L1 Exemplo Ilustrativo P1 L1, L2, L2, L1, L1, L1, L2, L2, L2, 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.
1 transição vai para L1 4 transições vão para L2 5 transições que saem de L2 Exemplo Ilustrativo P1 L1, L2, L2, L1, L1, L1, L2, L2, L2, 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.
1 transição vai para L1 4 transições vão para L2 5 transições que saem de L2 Exemplo Ilustrativo P1 L1, L2, L2, L1, L1, L1, L2, L2, L2, 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.
A1 Chegada A2 Chegada Saída L1 L2 Saída L1 L2 L1 0.5 0.5 L1 0.4 0.6 L2 0.2 0.8 L2 0.2 0.7 A3 Chegada Saída L1 L2 L1 0.4 0.6 L2 0.5 0.5 Exemplo Ilustrativo
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
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
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 Comparando as probabilidades, conclui-se que o mais provável é que o pato desconhecido seja o Pato 3!
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