Contém tarefas realizadas para o curso CSCI572 da University of Southern California.
Idiomas: Python 3.7
I/P: conjunto de consultas e seus 10 principais resultados do Google correspondentes
O/P: Coeficiente de Spearman para cada consulta comparando os resultados do Google e do Bing
Idiomas: Java 11
Bibliotecas: crawler4j
I/P: nome de domínio do site para rastreamento
O/P: lista de URLs buscados junto com suas estatísticas
Idiomas: Java 11
Bibliotecas: Apache Hadoop
Sistemas: Google Cloud, Microsoft Azure I/P: Lista de URLs a serem indexadas
O/P: Arquivos de índice para Unigramas e Bigrams para as URLs
Idiomas: Java 11, Python 3.7, HTML, CSS, PHP, JavaScript, JQuery
Bibliotecas: Apache Lucene, Apache Solr, Apache Tika, NetworkX, jsoup, SpellCorrector de PeterNorvig
Funcionalidades:
1. Cálculo de classificação de página:
Usei jsoup em Java para analisar todos os links das páginas rastreadas para criar o arquivo EdgeList.
Utilizei NetworkX em Python para criar um gráfico direcionado a partir do EdgeList e calcular valores de Page Rank para todos os URLs.
2. Configuração de Lucene e Solr:
Criou um núcleo Solr para rastrear arquivos HTML e produzir índice invertido com eficiência.
Selecione Command no Solr recupera páginas da web para a consulta fornecida. Ele usa internamente o espaço vetorial do Lucene e a representação do modelo booleano e classifica os resultados com TF-IDF.
Forneceu funcionalidade adicional para classificar os resultados da página da web com os valores de classificação da página calculados anteriormente.
3. Página do mecanismo de pesquisa Iditom:
Desenvolvi um código PHP para atuar como Cliente para obtenção da Consulta dos usuários. O usuário pode optar por usar o algoritmo de classificação padrão do Lucene ou o algoritmo de classificação de página para classificar os resultados obtidos. Usando a API do cliente para Solr, os resultados da página da web são recuperados para a consulta.
É fornecida uma interface da web semelhante ao Google.
4. Verificação ortográfica e preenchimento automático:
Criou um arquivo de texto de vocabulário após analisar e pré-processar palavras das páginas da web rastreadas usando Apache Tika.
Utilizou o algoritmo SpellCorrector de Peter-Norvig e alimentou esse vocabulário para calcular as probabilidades de Editar Distância 1 e 2.
Adicionada a funcionalidade de verificação ortográfica ao mecanismo de pesquisa Iditom, imitando o Google (mostrando resultados para __ , pesquisa em vez de __ ).
Usou os resultados de preenchimento automático padrão do Solr, que usa a pesquisa Fuzzy Factory para sugestões de palavras.
Veja o vídeo do mecanismo de pesquisa aqui - https://youtu.be/lYZ_SdsIX3A