730 likes | 906 Views
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO. Sistemas de Recuperação da Informação. Prof. Ulrich Schiel. Sistemas de Recuperação da Informação. ROTEIRO. 1. INTRODUÇÃO 2. TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO
E N D
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO Sistemas de Recuperação da Informação Prof. Ulrich Schiel
Sistemas de Recuperação da Informação ROTEIRO 1. INTRODUÇÃO 2. TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO 2.1. Estruturas de arquivos 2.2. Indexação 2.3. Consultas
Sistemas de Recuperação da Informação 3. INDEXAÇÃO DE INFORMAÇÃO 3.1 Filtragem 3.2 Análise léxica 3.3 Stoplist 3.4 Stemming ou truncagem 3.5 Construção de thesaurus 3.6 Indexação ARMAZENAMENTO DE INFORMAÇÃO 4.1.Arquivos invertidos 4.2. Arquivos de assinatura 4.3. Retângulos ótimos
Sistemas de Recuperação da Informação 5. CONSULTAS 5.1 modelo booleano 5.2 modelo vetorial 5.3 .modelo probabilístico 5.4 .modelos alternativos DOCUMENTOS MULTIMÍDIA EXTRAÇÃO DA INFORMAÇÃO MINERAÇÃO DE TEXTOS 9. BIBLIOTECAS DIGITAIS E A WEB
Sistemas de Recuperação da Informação BIBLIOGRAFIA LIVROS TEXTO R. Baeza-Yates e B. Ribeiro-Neto “Modern Information Retrieval”, Addison-Wesley, 1999 M.-F. Moens “Information Extraction: Algorithms and Prospects in a Retrieval Context” Springer Verlag, 2006. S. Weiss, N. Indurkhya, T. Zhang e F. Damerau “Text Mining: Predictive Methods for Analyzing Unstructured Information” Springer Verlag, 2005
Sistemas de Recuperação da Informação OUTROS C.D. Manning, P.Raghavan and H.Schütze, Introduction to Information Retrieval, Cambridge University Press. 2007. Download em: "http://www-csli.stanford.edu/~schuetze/information-retrieval-book.html W. B. Frakes, R. Baeza-Yates “Information Retrieval: Data Structures and Algorithms”, Prentice Hall, 1992 W. Y.Arms, “Digital Libraries”, MIT Press, 2000
OBJETOS OPERAÇÃO TAMANHO SRI documento recuperação (probabilística) browsing grande SGBD registro recuperação (determinística) grande SBC regra inferência pequena INTRODUÇÃO INTRODUÇÃO Dados estruturados X dados (semi-)estruturados
INTRODUÇÃO Uma consulta Uma base de documentos coleção Documentos relevantes (R) Documentos recuperados (A) Documentos relevantes recuperados (Ra) • Cobertura = #Ra/#R • Precisão = #Ra/#A
INTRODUÇÃO • Alfabeto • Palavras • Termos • Conceitos • Documentos Objetos dos SRI
INTRODUÇÃO Alfabeto A,B,C,.. a,b,c,.. acentuação romano hebraico Aleph Beith árabe Samaku = “smk” (سمك) , (peixe) بٌ ك ت ا ب ⇐ آَِ un b ā t i k /kitābun/ ‘um livro’
INTRODUÇÃO Alfabeto A,B,C,.. a,b,c,.. acentuação romano hebraico Aleph Beith árabe Samaku = “smk” (سمك) , (peixe) grego Α α (alfa), Β β (beta), Γ γ (gamma), Δ δ (delta)
INTRODUÇÃO Alfabeto 日 本 語. Japonês nihongo 华 语/ 華 語 Hànyǔ, Chinês (monosilábica) 中 文, Huáyǔ
INTRODUÇÃO • É uma seqüência de caracteres terminada • Por um branco ou um sinal (. , ; : ‘ “ -) Palavras neill oneill o’neill o’ neill o neill ? aren’t arent are n’t aren t are not? Mr. O’Neill thinks that the boys’ stories about Chile’s capital aren’t amusing. mantê la mantê-la manter ela Dever-se-ia mantê-la. Guarda-chuva Guarda chuva Guarda-chuva
INTRODUÇÃO Palavras • É uma seqüência de caracteres terminada • por um branco ou um sinal B12 OS/2 MP3 W3C Quais caracteres? • letras ! • só letras ? • começando por letra? 3D 3FN • outros símbolos? C++ INGRES* • excluir números, tabelas, figuras, etc. • considerar gowords
INTRODUÇÃO Palavras Maiúsculas e minúsculas? Palavra e palavra Geomedia GeoMedia GEOMEDIA acentuação acentuação ~ acentuacao pelo ~ pêlo ? siglas Object Constraint Language OCL = Organisation Communiste Libertaire
INTRODUÇÃO Termos Guarda-chuva Cada palavra é um termo bancos de dados 1, 2 ou 3 termos? Termos compostos bancos dados ? termos banco de dados distribuído Pesquisa sobre o anarquismo Recherches sur l’anarchism Anarchismusforschung
INTRODUÇÃO Conceitos Sinonímia Efetuar ~ fazer ~ cumprir ~ executar ~ realizar Synset = classe de equivalência de sinônimos Termo representativo = 1 elemento do Synset
INTRODUÇÃO Conceitos Grosso: volumoso (livro grosso) áspero (mãos grossas) pastoso (caldo grosso) grosseiro (mal-educado) Homonímia Banco: instituição financeira (negócios e finanças) objeto para sentar (mobília) conjugação do verbo bancar () repositório (Informática)
INTRODUÇÃO Termo+Significado+Contexto Conceito
INTRODUÇÃO Thesaurus Termo hipernímia sinonímia Termo relacionado Termo Termo Termo meronímia hiponímia Termo Termo
INTRODUÇÃO Thesaurus Veículo Frota hipernímia meronímia motorista trânsito rodovia dirigir relacionado Termo sinonímia Automóvel Carro meronímia hiponímia Motor Fiat Uno
INTRODUÇÃO Documentos • O que é um documento? • Um arquivo eletrônico • Um hipertexto • Uma enciclopédia • Um e-mail com anexos • Um artigo em Anais • Os anais
INTRODUÇÃO Documentos • doc, pdf, doc, txt • Romano, Chinês, árabe • Português, ... • Qual o formato? • Qual o alfabeto? • Qual o idioma?
INTRODUÇÃO Processo da Recuperação da informação
INTRODUÇÃO Processo da recuperação da informação palavras Docu- mento texto extração radicais palavras stoplist radicais associação Banco de Dados usuário radicais consulta extração palavras radicais lista ordenada operadores Booleanos Lista de documentos ranking
TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO Indexação Estruturas de arquivos Recuperação
TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO Estruturas de arquivos • Texto puro • Pesquisa em texto • Arquivo de índices • Arquivos invertidos • hashing • Retângulos ótimos OPÇÕES: • Arquivos assinatura • Árvores Patrícia (sufixos) • Também para tabelas, etc. • Grafos (redes semânticas, ontologias,.)
TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO Consultas e recuperação • Modelos baseados em teoria dos conjuntos • Booleano e Booleano extendido • Conjuntos Fuzzy • Modelos algébricos • Vetorial básico e generalizado • Contextual • Redes Neurais • Modelos probabilísticos • básico • Redes Bayesianas
TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO Consultas e recuperação • Modelos sobre textos estruturados • Consideram a estrutura do documento (itálico, negrito, figuras, proximidades) • Listas disjuntas (Capítulos, seções, parágrafos) • proximidades • Modelos de Browsing • Browsing plano • Browsing com diretórios • Hipertextos
INDEXAÇÃO DA INFORMAÇÃO Filtragem Análise léxica Stoplist Truncagem (stemming) Construção do thesaurus Indexação
INDEXAÇÃO DA INFORMAÇÃO Filtragem • Conversão para um formato padrão • Remover macros do editor • Remover símbolos especiais • Hipertextos • doc, rtf, pdf, ps, tex, ... • html • xml & etc (rdf, dc, xmlschema, owl,..).
INDEXAÇÃO DA INFORMAÇÃO EXEMPLO ‘Semi-estruturado’ Rtf: {\rtf1\ansi\ansicpg1252\uc1\} {\*\generator Microsoft Word 10.0.2627;}{\info{\title Semi-}{\author Ulrich Schiel} {\operator Ulrich Schiel} Semi}{\insrsid3955129\charrsid8669994 -}{\insrsid8669994\charrsid8669994 e}{ \insrsid3955129 struturado \par }}
INDEXAÇÃO DA INFORMAÇÃO EXEMPLO ‘Semi-estruturado’ html: <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, page Section1 .......;} div.Section1 {page:Section1;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ ....... </style> <![endif]--> </head> <div class=Section1> <p class=MsoNormal><b>Semi</b>-estruturado</p> </div> </body> </html> <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> <head> <title>Semi-estruturado</title> <!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>150</w:Zoom> <w:GrammarState>Clean</w:GrammarState> <w:HyphenationZone>21</w:HyphenationZone> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--> <style>
INDEXAÇÃO DA INFORMAÇÃO EXEMPLO ‘Semi-estruturado’ Em pdf
INDEXAÇÃO DA INFORMAÇÃO Filtragem – análise léxica • Conversão para um formato padrão • Remover macros do editor • Remover não-palavras • Remover maiúsculas/minúsculas • Remover acentuação
INDEXAÇÃO DA INFORMAÇÃO Stopwords • Critérios: • Classificação gramatical (artigos, determinantes, pronomes, numerais, advérbios, preposições) • Palavras mais frequentes Stopwords Palavras mais frequentes
INDEXAÇÃO DA INFORMAÇÃO Stopwords • Problemas • Termos compostos • Frases: • Siglas • Especiais • “banco de dados” “banco” “dados” • “ser ou não ser” “ser” • OCL Object Constraint Language • B12, 3D, 007 B12, tridimensional, James Bond • Solução • Dicionários de termos compostos, frases, siglas e de ‘gowords’
INDEXAÇÃO DA INFORMAÇÃO Stopwords • Como remover stopwords de forma eficiente? • Após a análise léxica • Junto com a análise léxica
INDEXAÇÃO DA INFORMAÇÃO Stopwords • Algoritmo de filtragem: • Considere uma lista SW&CW contendo stopwords e palavras compostas • 1. Ler, sequencialmente, o documento de entrada até delimitar uma palavra p.(considerar regras básicas de construção de palavras e exceções (gowords)) • se (p ocorre em SW&CW) OU (é o início de um termo composto em SW&CW) • sep é o início de um termo composto em SW&CWentão avançar no documento para verificar se é o compostose for o composto • então gravar o termo composto na saída, voltar para 1.senão manter a primeira palavra e voltar para 1. • senão desconsiderar esta palavra e voltar para 1. • senão gravar a palavra identificada na saída e voltar para 1.
INDEXAÇÃO DA INFORMAÇÃO Filtragem - Exercício • Baseado no texto a seguir, construir: • regras de identificação de palavras • uma tabela de gowords • uma tabela de stopwords • uma tabela de palavras compostas Acompanhar o algoritmo de filtragem e mostrar o resultado
INDEXAÇÃO DA INFORMAÇÃO Filtragem - Exercício Term-frequency (tf) é uma medida que utiliza o número de ocorrências do termo tj no documento di. Porém quando termos com alta freqüência aparecem na maioria dos documentos da coleção eles não fornecem informação útil para diferenciar documentos. A medida inverse document frequency (idf) favorece termos que aparecem em poucos documentos da coleção. Tal medida varia inversamente ao número x de documentos que contem o termo tj em uma coleção de documentos e é definida como log (n/x). Baseado nessas duas medidas de freqüência pode-se definir a medida tfidf, combinando-as, como mostra a tabela a seguir:
INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • OPÇÕES: • Truncar os termos • Expandir a consulta • Processo de remover variantes morfológicas aumentando a abrangência de um termo • Variantes de escrita, erros normalização • variações de número e gênero, conjugações de verbos lemmatization/normalização • Definição de radicais Stemming
INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) OPÇÕES: • Substituir • *s * • *aria * • *eiro * • *mento * Regras genéricas Processos individuais (com dicionários, análise gramatical, etc.) • Substituir • casa, verbo casar • casa, substantivo casa • casamento casa (??) • (ing) theses thesis (??)
INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • Normalização (lemmatization) • Verbos conjugados infinitivo • substantivos para o singular masculino • Variantes, erros dicionário, análise sintática “Se tu casas comigo nossas casas serão vendidas e teremos uma cama de casal”.c “você casarcasa ser vender ter cama casal”.
Termo Radical engenharia engenho engenheiro engenh engenh engenh INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • Algoritmos de Truncagem (stemming) • Tabela explícita • Algoritmo de Porter
Termo Radical engenharia engenho engenheiro engenh engenh engenh INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • Algoritmos de Truncagem (stemming) • Tabela explícita
INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • Algoritmos de Truncagem (stemming) • Variedade de sucessores “Se tu casas comigo, nossas casas serão vendidas e teremos uma cama de casal” v(c) = 2 v(ca) = 2 v(cas) = 1 v(casa) = 2
INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • Truncagem (stemming) • Remover sufixos baseado em regras pré-estabelecidas • Calcular a medida m do radicalsegundo • Seja C uma sequência de consoantes da palavra • Seja V uma sequência de vogais da palavra, • Então m é determinado por • [C][(VC)m[V] • Exemplos • m=0 la, cha • m=1 lar, casa • m=2chave • m=3 largar, Brasil
INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • Truncagem (stemming) • Remover sufixos baseado em regras pré-estabelecidas • Exemplos • casas casas • padaria pad • padeiro pad • casamento casa • casar casa • Substituir • (m>1) *s * • (m>0) *aria * • (m>0) *eiro * • (m>1) *mento * • (m>1) *ar *a
INDEXAÇÃO DA INFORMAÇÃO Stemming (normalização/truncagem) • Truncagem (stemming) • Remover sufixos baseado em regras pré-estabelecidas “vocêcasarcasa ser vender ter cama casal”. “vocêcasacasa ser vender ter cama casa”.