dicionários e recuperação tolerante
TRANSCRIPT
![Page 1: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/1.jpg)
Ordenação e Recuperação de Dados
Prof. Alexandre Duarte - http://alexandre.ci.ufpb.br
Centro de Informática – Universidade Federal da Paraíba
Aula 3: Dicionários e RecuperaçãoTolerante
1
![Page 2: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/2.jpg)
Agenda
❶ Revisão
❷ Dicionários
❸ Consultas com coringas
❹ Correção ortográfica e distância de edição
2
![Page 3: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/3.jpg)
Agenda
❶ Revisão
❷ Dicionários
❸ Consultas com coringas
❹ Correção ortográfica e distância de edição
3
![Page 4: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/4.jpg)
4
Problemas com a tokenization
Quais são os delimitadores ?
Espaços ?
Apóstrofos?
Hifens?
As vezes eles delimitam. As vezes não.
Muitas linguagens não tem espaços em braco (e.g., Chinês)
Algumas linguagens (Alemão, Holandês e Sueco, por exemplo) não tem espaços em substantivos compostos (Lebensversicherungsgesellschaftsangestellter)
4
![Page 5: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/5.jpg)
5
Problemas com classes de equivalências
Um termo é uma classe de equivalência de termos.
Como definimos classes de equivalência?
Números (3/20/91 vs. 20/3/91)
Maiúsculas e minúsculas
Análise morfológica
Problemas com classes de equivalência em diferentes idiomas
Finlandês: um único verbo pode ter até 12.000 formas diferentes
Como lidar com acentos, tremas, etc.
5
![Page 6: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/6.jpg)
6
Skip pointers
6
![Page 7: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/7.jpg)
7
Índices posicionais
7
Lista de postings em um índice não posicional: cada posting é apenas um identificador de documento
Lista de postings em um índice posicional: cada posting é um identificador de documento e uma lista de posições
Consulta de exemplo: “to1 be2 or3 not4 to5 be6” TO, 993427:
‹ 1: ‹7, 18, 33, 72, 86, 231›;2: ‹1, 17, 74, 222, 255›;4: ‹8, 16, 190, 429, 433›;5: ‹363, 367›;7: ‹13, 23, 191›; . . . ›
BE, 178239:‹ 1: ‹17, 25›;4: ‹17, 191, 291, 430, 434›;5: ‹14, 19, 101›; . . . › Documento 4!
![Page 8: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/8.jpg)
8
Índices posicionais
Com um índice posicional podemos responder consultas porfrases
Com um índice posicional podemos responder consultas porproximidade
8
![Page 9: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/9.jpg)
9
A seguir
Recuperação tolerante: O que fazer se não há nenhum documento que satisfaça totalmente a consulta
Consultas com coringas
Correção ortográfica
9
![Page 10: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/10.jpg)
Agenda
❶ Revisão
❷ Dicionários
❸ Consultas com coringas
❹ Correção ortográfica e distância de edição
10
![Page 11: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/11.jpg)
11
Índice invertido
11
![Page 12: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/12.jpg)
12
Índice invertido
12
![Page 13: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/13.jpg)
13
Dicionários
Dicionário: a estrutura de dados utilizada para armazenar o vocabulário de termos
13
![Page 14: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/14.jpg)
14
Dicionário como um array de entradas de tamanho fixo
Para cada termo, preciso armazenar os seguintes itens:
Frequência de documentos
Apontador para a lista de postings
Assuma por enquanto que podemos armazenar esta informação em uma entrada de tamanho fixo
Assuma que armazenamos estas entradas em um array
14
![Page 15: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/15.jpg)
15
Dicionário como um array de
entradas de tamanho fixo
Espaço necessário: 20 bytes 4 bytes 4 bytes
Como localizar o termo qi neste array em tempo de consulta? Ou seja: que estrutura de dados nós utilizamos para localizar em que entrada qi está armazenado?
15
![Page 16: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/16.jpg)
16
Estruturas de dados para localização de termos
Duas classes principais de estruturas de dados: hashes e árvores
Alguns sistemas utilizam hashes outros utilizam árvores.
Critério para escolher entre usar hash ou usar árvore:
Há um número fixo de termos ou a coleção vai continuar a crescer ?
Quais são as frequências relativas de acesso para cada um dos termos?
Qual a estimativa para a quantidade de termos no sistema?
16
![Page 17: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/17.jpg)
17
Hashes
Cada termo do vocabulário é mapeado (hashed) em um número inteiro.
Tentar evitar colisões
No momento da consulta fazer o seguinte: mapear o termo da consulta, resolver eventuais colisões, localizar a entrada no array
Pros: Acesso com hash é mais rápido que acesso em árvore.
Acesso em tempo constante.
Cons
Impossível encontrar variações simples (resume vs. résumé)
Impossível fazer busca por prefixo (todos os termos começando com automat)
É preciso remapear todos os termos periodicamente se o vocabulário continuar a crescer
17
![Page 18: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/18.jpg)
18
Árvores
Resolvem o problema da busca por prefixos (encontrar todos os temos que começam com automat).
Modelo mais simples: árvore binária
Consulta é ligeiramente mais lenta que utilizando hash : O(logM), onde M é o tamanho do vocabulário.
O(logM) só vale para árvores balanceadas.
Re-balancear uma árvore é uma operação cara.
Árvores B diminuem um pouco o problema de re-balanceamento.
Definição de uma árvore B: cada nó interno tem um número de filhos no intervalo [a, b] onde a, b são números inteiros positivos apropriados e.g., [2, 4].
18
![Page 19: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/19.jpg)
19
Árvore binária
19
![Page 20: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/20.jpg)
20
Árvore B
20
![Page 21: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/21.jpg)
Agenda
❶ Revisão
❷ Dicionários
❸ Consultas com coringas
❹ Correção ortográfica e distância de edição
21
![Page 22: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/22.jpg)
22
Consultas com coringas
mon*: encontrar todos os documentos contendo algum termo começando com mon
Fácil se utilizamos um dicionário com Árvore B: recuperar todos os termos t no intervalo: mon ≤ t < moo
*mon: encontrar todos os documentos contendo algum termo terminando com mon
Manter uma árvore adicional com os termos em ordem inversa
Então recuperar todos os termos t no intervalo: nom ≤ t < non
Resultado: Um conjunto de termos que atendem uma consulta com coringa
Basta então recuperar os documentos que contem algum desses termos
22
![Page 23: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/23.jpg)
23
Como lidar com * no meio de um termo
Exemplo: m*nchen
Poderíamos procurar por m* e *nchen na Árvore B e depois achar a interseção dos dois conjuntos.
Muito caro
Alternativas:
Índice com permuterm
Rotacionar o token para o * sempre ficar no final
Multiplica por 4 o tamanho do índice
Índices com k-grams
Enumera todas as sequências de k caracteres no termo
Ocupa menos espaço que um índice permuterm
Requer uma etapa de filtragem posterior de falsos positivos
Não entraremos em detalhes sobre estas técnicas23
![Page 24: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/24.jpg)
Agenda
❶ Revisão
❷ Dicionários
❸ Consultas com coringas
❹ Correção ortográfica e distância de edição
24
![Page 25: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/25.jpg)
25
Correção ortográfica
Dois usos principais
Corrigir documentos durante indexação
Corrigir consultas do usuário
Dois métodos diferentes para correção ortográfica
Correção ortográfica de palavras isoladas
Checa cada palavra individualmente
Não vai corrigir erros que resultem em palavras escritas corretamente, e.g., an asteroid that fell form the sky
Correção ortográfica sensível ao contexto
Checa as palavras ao redor
Pode corrigir o form/from na frase acima
25
![Page 26: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/26.jpg)
26
Corrigindo documentos
Não estamos interessados em correção ortográfica de documentos de forma interativa (e.g., MS Word) neste curso.
Em Recuperação da Informação, correção ortográfica é utilizada principalmente para documentos escaneadosutilizando OCR (OCR = optical character recognition)
A filosofia geral da Recuperação da Informação é: não altere os documentos.
26
![Page 27: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/27.jpg)
27
Corrigindo consultas
Primeiro: correção ortográfica de palavras isoladas
Premissa 1: Exista uma lista de “palavras corretas” na qual pode ser encontrada a correção para a palavra errada.
Premissa 2: Temos uma forma de calcular a distancia entre uma palavra incorreta e uma palavra correta.
Uma algoritmo simples de correção ortográfica: retorne a palavra “correta” que tenha a menor distância para a palavra errada..
Exemple: infromação → informação
Para esta lista de palavras corretas podemos utilizar o próprio vocabulário que contem todas as palavras que ocorrem na coleção de documentos
Por que isso não seria recomendado?
27
![Page 28: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/28.jpg)
28
Alternativas a utilizar o vocabulário de termos
Um dicionário padrão (Michaelis, Aurélio, etc)
Um dicionário específico para sistemas de recuperação da informação
28
![Page 29: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/29.jpg)
29
Distância de edição
A distância de edição entre dois strings s1 e s2 é o menor número de operação básicas que transforma s1 em s2.
Distância de Levenshtein: As operações básicas admissíveis são inserir, remover e substituir um caractere
Distância de Levenshtein dog-do: 1
Distância de Levenshtein cat-cart: 1
Distância de Levenshtein cat-cut: 1
Distância de Levenshtein cat-act: 2
29
![Page 30: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/30.jpg)
30
Algoritmo da distância de Levenshtein
30
![Page 31: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/31.jpg)
31
Exemplo: Distância de Levenshtein
31
![Page 32: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/32.jpg)
32
Significado de cada célula de uma matriz de Levenshtein
32
Custo de chegar aqui a partir do vizinho superior esquerdo (copia ou substituição)
Custo de chegar aqui a partir de meu vizinho de cima (remoção)
Custo de chegar aqui a partir do meu vizinho da esquerda (inserção)
O Valor mínimo destes três possíveis movimentos; a forma mais barata de chegar aqui
![Page 33: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/33.jpg)
33
Usando a distância de edição para correção ortográfica
Dada uma consulta, primeiro enumere todas a sequencias de caracteres que tenham uma dada distância de edição de cada termo incorreto
Encontre a interseção dessa lista com a lista de termos corretos
Sugira termos na interseção para o usuário.
33
![Page 34: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/34.jpg)
34
Exercício
❶ Encontre a matriz de distância de Levenshtein para OSLO –SNOW
❷ Quais são as operações de edição de Levenshtein que transformam cat into catcat?
34
![Page 35: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/35.jpg)
3535
![Page 36: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/36.jpg)
3636
![Page 37: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/37.jpg)
3737
![Page 38: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/38.jpg)
3838
![Page 39: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/39.jpg)
3939
![Page 40: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/40.jpg)
4040
![Page 41: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/41.jpg)
4141
![Page 42: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/42.jpg)
4242
![Page 43: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/43.jpg)
4343
![Page 44: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/44.jpg)
4444
![Page 45: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/45.jpg)
4545
![Page 46: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/46.jpg)
4646
![Page 47: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/47.jpg)
4747
![Page 48: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/48.jpg)
4848
![Page 49: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/49.jpg)
4949
![Page 50: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/50.jpg)
5050
![Page 51: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/51.jpg)
5151
![Page 52: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/52.jpg)
5252
![Page 53: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/53.jpg)
5353
![Page 54: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/54.jpg)
5454
![Page 55: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/55.jpg)
5555
![Page 56: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/56.jpg)
5656
![Page 57: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/57.jpg)
5757
![Page 58: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/58.jpg)
5858
![Page 59: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/59.jpg)
5959
![Page 60: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/60.jpg)
6060
![Page 61: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/61.jpg)
6161
![Page 62: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/62.jpg)
6262
![Page 63: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/63.jpg)
6363
![Page 64: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/64.jpg)
6464
![Page 65: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/65.jpg)
6565
![Page 66: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/66.jpg)
6666
![Page 67: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/67.jpg)
6767
![Page 68: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/68.jpg)
6868
![Page 69: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/69.jpg)
69
Como entender quais operações de edição transformam OSLO em SNOW?
69
![Page 70: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/70.jpg)
7070
![Page 71: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/71.jpg)
7171
![Page 72: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/72.jpg)
7272
![Page 73: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/73.jpg)
7373
![Page 74: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/74.jpg)
7474
![Page 75: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/75.jpg)
7575
![Page 76: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/76.jpg)
7676
![Page 77: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/77.jpg)
7777
![Page 78: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/78.jpg)
7878
![Page 79: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/79.jpg)
7979
![Page 80: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/80.jpg)
80
Correção ortográfica sensível ao contexto Nosso exemplo foi: an asteroid that fell form the sky Como corrigir? Uma dica: Correção ortográfica baseada em hits
Recupere os termos “corretos” próximos a cada termo da consulta flew form munich: flea para flew, from para form e munch para
munich Agora tente todas as possíveis frases resultantes variando uma
palavra por vez Tentar “flea form munich” Tentar “flew from munich” Tentar “flew form munch” A consulta correta “flew from munich” terá o maior número de
resultados (hits).
80
![Page 81: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/81.jpg)
81
Correção ortográfica sensível ao contexto
A abordagem baseada em hits que acabamos de citar não é muito eficiente.
Altenativas mais eficientes se baseiam em coleções de consultas e não de documentos
81
![Page 82: Dicionários e Recuperação Tolerante](https://reader034.vdocuments.pub/reader034/viewer/2022042522/55ab2e191a28abc7208b457a/html5/thumbnails/82.jpg)
82
Questões gerais sobre correção ortográfica
Interface do usuário
automática vs. sugestão de correção
Did you mean só funciona para uma sugestão.
Como lidar com múltiplas possibilidades de correção?
Tradeoff: simplicidade vs. poder
Custo
Correção ortográfica é um processo potencialmente custoso.
Evitar realizar a cada consulta?
Talvez apenas para consultas que resultem em poucos documentos.
Chute: A correção ortográfica das principais ferramentas de busca é eficiente o suficiente para poder ser executada a cada consulta.
82