1 / 72

Ferramentas de RI

Ferramentas de RI. Arthur Freitas Ramos (afr) Davi Duarte Pinheiro (ddp) Hugo Neiva de Melo (hnm2) Tullio José de Souza Lucena (tjsl). Motivação. Bases e sistemas de RI são trabalhosas de definir, criar e implementar Algumas etapas deste processo necessitam ser realizadas por pessoas

paige
Download Presentation

Ferramentas de RI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ferramentas de RI Arthur Freitas Ramos (afr) Davi Duarte Pinheiro (ddp) Hugo Neiva de Melo (hnm2) Tullio José de Souza Lucena (tjsl)

  2. Motivação • Bases e sistemas de RI são trabalhosas de definir, criar e implementar • Algumas etapas deste processo necessitam ser realizadas por pessoas • Diversas ferramentas foram criadas para abstrair várias etapas deste processo

  3. Ferramentas de RI • Xapian • Lucene • Sphinx (acrescentado por Flávia) • Wumpus • GATE

  4. http://xapian.org/ • É uma ferramenta de busca Open Source • Biblioteca escrita em C++ • Compatível com Perl, Python, PHP, Java, C#, Ruby e Lua • Permite integrar em uma aplicação técnicas avançadas de indexação e busca

  5. Características • Portabilidade • Modelo probabilístico • Feedback de relevância • Stemming e sinônimos

  6. Características • Suporta documentos grandes • > 2 GB • Permite busca e atualização simultâneas • Indexa grande quantidade de documentos • html, php, pdf, openOffice, Word, Excel • Indexa dados de qualquer SQL • Oracle, MySQL, SQLite, etc.

  7. Modelo probabilístico • Utiliza como esquema o “Best Match (BM)” 25 • Constantes podem ser alteradas • Possui mecanismos para impedir que arquivos muito pequenos ganhem pesos muito altos

  8. Colapsos • Permite eliminar documentos repetidos • Realizado durante o processo de “match” • “Collapse key” • Restrição de número de “matches” por fonte

  9. PostingSource • Alimenta dados para o matcher do Xapian • Pode ser usado nas seguintes formas • Filtro • Aumento dos pesos • Forma alternativa de ranqueamento

  10. Indexação • Todas as palavras indexadas são letras minúsculas • As palavras são indexadas com informação de posição • Stemmings indexados sem posição • Prefixo ‘Z’

  11. Buscas • AND, OR, NOT, XOR • Expressões com parênteses • ‘+’ e ‘-’ • NEAR • ADJ

  12. Buscas • Busca de frases • Busca com campo probabilístico • Nomes próprios • Região de buscas • Sinônimos e Wildcards

  13. Ordenação • Relevância • Valor • Chave gerada

  14. Preparação dos textos • Usa o algoritmo de Stemming “Snowball” • Suporte a várias linguagens • Inglês, português, alemão, espanhol, francês, etc.

  15. Suporte a sinônimos • Suporte a thesaurus • Criação manual • Integração com o sistema de buscas • Sem suporte a dicionário de palavras compostas

  16. Outras funcionalidades • Faceting • Correção de escrita • Serialização de consultas e documentos

  17. Lucene

  18. O que é o Lucene? “O Apache Lucene é uma tecnologia adequada para quase todas as aplicações que necessitam de buscas em textos, especialmente as multiplataformas.” • http://lucene.apache.org

  19. Disponibilidade • Gratuita • Open Source • Apache License, versão 2.0 • Escrita em Java • Implementações em outras linguagens • C++, .Net, Python, etc.

  20. Características • Rápida indexação (95 GB / h) • Pouca memória RAM requerida ( 1 MB) • Atualização e buscas feitas simultaneamente • Fácil distribuição

  21. Funcionalidades • Ranqueamento das buscas • Buscas flexíveis • Buscas por campos • Ordenação

  22. Ranqueamento das buscas • Faz uma filtragem nos documentos • Classifica por relevância • Frequência dos termos • Termos específicos de um documento

  23. Buscas flexíveis • Frases • “WEB Mining” • WildCards • Min* • Intervalos • [2010-2012] • Expressões booleanas • WEB OR Mining

  24. Buscas por campos • Buscas feitas por campos específicos do documento • Exemplo Class: “WEB Mining” AND Teacher: “Flavia”

  25. Ordenação • Ordenação por campos do documento • Preço, tamanho, assunto, etc. • Por padrão, os documentos são ordenados por relevância

  26. Arquitetura • Documentos • Índices • Indexação • Buscas

  27. Documentos • Documentos representam qualquer texto • Texto Word, metadados de músicas, Website, etc. • Faz uma representação similar a um documento XML

  28. Índices • Calcula a frequência de cada termo no documento • Cada termo mapeia os documentos em que aparece • Faz a tabela de TF-IDF

  29. Indexação • Operação feita ao adicionar um novo documento • Os documentos são analisados para achar os seus termos • Possui um analisador robusto para textos em inglês • Dá suporte à criação de novos analisadores • Possui algumas implementações para o stemming

  30. Buscas • Realiza o parsing do texto do usuário • Utiliza o mesmo analisador da indexação • Procura os documentos com os termos • Filtra os resultados por relevância • Ordena os documentos • Retorna a lista ao usuário

  31. http://sphinxsearch.com/ • Sphinxé uma ferramenta de busca por texto open source escrita em C++ que funciona em Linux, Windows, MacOS, Solaris, FreeBSD, e alguns outros sistemas • Sphinx permite que você faça indexação e buscas de arquivos armazenados em servidores SQL e NoSQL • Permite adicionar a uma aplicação técnicas de indexação e busca

  32. Performance e Escalabilidade • Sphinx organiza em índices cerca de 60mb/seg de dados em cada servidor dedicado para indexação • Realiza buscas testes através de milhões de documentos com cerca de 500 queries/seg para garantir velocidade de entrega de resultados • Possui cerca de 25 bilhões de documentos indexados em seus servidores e recebe hoje mais de 300 milhões de search queries/dia

  33. O que apresenta? • Índices não textuais – número arbitrários (ID do produto, nome da empresa, etc.) que são armazenados no índice para facilitação de recuperação de documentos • Suporte a busca com termos complexos – operadores booleanos, frases, termos sinônimos, substrings • Ranking por relevância

  34. O que apresenta? • Processamento de texto suporta stopwords, stemming, tokenizing • Pode ser utilizado apenas como uma ferramenta de armazenamento • Exemplos de uso: Craigslist.org , Tradebit.com , vBulletin.com

  35. http://www.wumpus-search.org/ • Engenho de busca Open Source • Implementado em C++ • Disponível para Linux

  36. Wumpus • Escalável • Indexa centenas de GB de documentos • Engenho de busca e serviço de indexação de arquivos • Suporte a vários usuários • Acesso local (terminal) e remoto (interface web)

  37. Wumpus local

  38. Wumpus remoto

  39. Wumpus • Indexa documentos em vários formatos • Txt, doc, ppt, pdf, xml, etc. • Permite buscas com vários parâmetros de filtro • Permite configurar o número de documentos retornados • Definição de macros • Suporte a TREC

  40. Wumpus remoto busca

  41. Base de dados • Base de índices invertidos • Modelo probabilístico • Permite uso do modelo espaço vetorial • Usa o Best Match (Okapi BM) 25 • Permite modificação dos parâmetros de configuração e pesos

  42. Consultas • Busca por termos ou frases • Busca utilizando a linguagem GCL (GeneralizedConcordanceLists) • Suporta vários operadores • AND, OR, etc. • Stemming (Porter)

  43. GCL • Linguagem principal • Consultas mais complexas • Pode ser usada junto com termos e frases • Usada para definir os parâmetros do BM25 • Define outros atributos opcionais

  44. Consultas • Prefixos • Definição de atributos relevantes • Menor substring • Evita repetição de resultados • Stemming e prefixos podem ser aplicados a termos, individualmente

  45. Relevância dos documentos • Suporte a várias métricas • Best Match 25, espaço vetorial, qap • Suporte a feedback de relevância • Okapi e KLD • Lento

  46. Divergência de Kullback-Leibler • Também chamada de ganho de informação • Cria um modelo de linguagem para query e documento • A “distância” entre estes modelos é utilizada para ranquear os documentos

  47. The Handyman • Ferramenta de suporte ao Wumpus • Permite extrair e alterar diversas informações sobre a base • Evita uso do Wumpus para modificar a base • Algumas funcionalidades não existem • Cria um vocabulário para uma base específica

  48. http://gate.ac.uk/ • Open Source • Bastante robusta em atividades de processamento de textos • O “Lucene” da extração de informação • O “Eclipse” do processamento de linguagem natural

  49. GATE • Tem um escopo muito grande • Processamento de texto • Análise de sentimentos • Mineração da web • Anotações semânticas • Extração de informação • Processamento de linguagem

  50. Funcionalidades • Ferramentas de processamento de texto • Ferramentas de recuperação de informação • Sistema de extração de informação (ANNIE) • Anotação semântica • Análise de sentimentos

More Related