Building a Domain-Specific Search Engine That Explores Football
Total Page:16
File Type:pdf, Size:1020Kb
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Building a Domain-Specific Search Engine that Explores Football-Related Search Patterns João Paulo Madureira Damas Mestrado Integrado em Engenharia Informática e Computação Supervisor: Sérgio Nunes Co-Supervisor: José Devezas July 13, 2020 Building a Domain-Specific Search Engine that Explores Football-Related Search Patterns João Paulo Madureira Damas Mestrado Integrado em Engenharia Informática e Computação Approved in oral examination by the committee: Chair: Prof. Maria Cristina de Carvalho Alves Ribeiro, PhD External Examiner: Prof. Bruno Emanuel da Graça Martins, PhD Supervisor: Prof. Sérgio Sobral Nunes, PhD July 13, 2020 Abstract Storing and finding information is not a recent problem. Information Retrieval (IR) appeared as a research area that sought techniques to better serve user information needs. Nowadays, search engines are the main focus of IR and a key component in accessing online information. In this work, we targeted the search engine of a Portuguese sports-related website, zerozero.pt, which presented an opportunity for search result quality improvement. We started by conducting a Query Log Analysis process to understand how users interacted with the system. For it, we made use of a search log with two weeks worth of interactions during March 2020. Following steps from literature, we preprocessed the dataset to eliminate bot activity, observing how little their presence was felt. We then split analysis into three recurrent perspec- tives (term, query and session level). Furthermore, we introduced a rarer viewpoint with click level analysis, proposing a set of existing metrics that could be replicated by future researchers for benchmarking, as well as a query satisfaction metric of our own, derived from the TF-IDF metric. Results showed how some typical Web search patterns remained present, such as short queries and sessions. Inspection of specific periods demonstrated how the COVID-19 pandemic negatively af- fected search volume, while also changing the behavior of remaining users, as well as how football games introduced localized spikes that spanned little outside the event’s timeframe. Click anal- ysis revealed how the current system failed in answering longer queries and how quickly shorter queries lead to ambiguous result access patterns when they weren’t previous popular searches. We then proposed a Federated Search solution, where each collection would represent an entity type searchable within the system, using Apache Solr for querying each resource and a Python Flask server to merge results. Additionally, we extended previous work on individual search term weighing that used past search terms for documents as a relevance substitute. These weights were calculated from a term’s frequency. We instead used them as a complement, in an attempt at better predicting results for future, similar searches. To incorporate term weights, we experimented with four strategies, resultant of combining two binary variables: integration with default relevance (linear scaling or linear combination) and search term frequency (raw value or log-smoothed). To evaluate our solution, we extracted two query sets from search logs: one with frequently submitted queries, and another with ambiguous result access patterns, according to entropy. We resorted to click-through information as a relevance proxy. By acknowledging its threats, we tried to mitigate them by evaluating under distinct IR metrics, including MRR, MAP, NDCG and Success. Moreover, we also measured Spearman rank correlation coefficients to test similarities between produced rankings and ideal orderings according to user access patterns. Results showed consistency across metrics in both query sets. Previous search terms were key to obtaining higher metric values, with those that used pure search term frequency performing best. As for integration with default relevance, there was a slight advantage for linear scaling. Compared to the zerozero baseline, our best strategies were able to match results on frequent queries and improve answering quality on ambiguous queries (up to ~6p.p better performance on most metrics), where we had previously identified issues. Keywords: information retrieval, query log analysis, search terms indexing, domain-specific search, apache solr, website search i ii Resumo Armazenar e encontrar informação não são problemas recentes. Recuperação de Informação (RI) surgiu como uma área de investigação que procurou técnicas para melhor servir as necessidades de informação dos utilizadores. Atualmente, os motores de busca são o grande foco da RI e uma parte fulcral no acesso a informação online. Neste trabalho, abordamos o motor de busca de um website português de desporto, zerozero.pt. Este apresentava uma oportunidade para a melhoria da qualidade dos resultados das suas pesquisas. Começamos por conduzir um processo de Análise de Registos de Interrogações para perceber como é que os utilizadores interagiam com o sistema. Para tal, fizemos uso de um ficheiro com registos de interações ao longo de 2 semanas durante Março 2020. Seguindo os passos da literatura revista, pré-processamos os dados para eliminar atividade de origem não humana, observando que a sua presença era pouco sentida. De seguida, partimos a análise em 3 perspetivas comuns (termo, interrogação e sessão). Para além disso, introduzimos um ponto de vista mais raro com a análise de cliques, propondo um conjunto de métricas existentes, facilmente replicáveis por futuros investigadores para comparação, bem como uma métrica de satisfação de uma interrogação nossa, derivada da métrica TF-IDF. Os resultados obtidos mostraram como alguns padrões típicos de pesquisa Web permaneceram presentes, tal como pesquisas e sessões curtas. A inspeção de períodos específicos demonstraram como a pandemia COVID-19 afetou negativamente o volume de pesquisas, para além de mudar o comportamento dos restantes utilizadores, bem como jogos de futebol introduziram picos de pesquisa localizados que não se prolongaram para além o período em torno do mesmo. A análise de cliques revelou como o sistema atual falhava em responder a interrogações mais longas e como as mais curtas, rapidamente, levavam a padrões de acesso a resultados ambíguos, exceto quando se tratavam de interrogações previamente populares. Após esta análise, propusemos uma solução de Pesquisa Federada, onde cada coleção repre- sentava um tipo de entidade pesquisável no sistema, usando Solr para interrogar cada recurso, e um servidor Python Flask para combinar resultados. Além disso, extendemos trabalho prévio na indexação pesada de termos de pesquisa individuais que usava pesquisas passadas para um doc- umento como um equivalente para a sua revelância. Estes pesos eram calculados com base na frequência dos termos usados. Em vez disso, nós usamo-los como um complemento, numa tenta- tiva de melhor prever resultados futuros para pesquisas semelhantes. Por forma a incorporar estes termos pesados, experimentamos 4 estratégias, resultantes da combinação de 2 variáveis binárias: integração com a relevância por omissão (combinação linear ou escalamento) e frequência do termo de pesquisa (valor puro ou suavizado via logaritmo). Para avaliar a solução, extraímos dois conjuntos de interrogações dos registos recolhidos: um com interrogações frequentes, e outro com padrões ambíguos de acesso a resultados, de acordo com entropia. Recorremos a cliques como uma aproximação a relevância. Reconhecendo os re- spetivos perigos, tentamos mitigá-los, avaliando sob diferentes métricas de RI, incluindo MRR, MAP, NDCG e Success. Para além disso, também medimos o coeficiente de correlação de Spearman para testar similaridades entre as ordenações produzidas e outras ideais de acordo com iii iv padrões de acesso a resultados dos utilizadores. Os resultados obtidos mostraram consistência nos valores entre métricas para ambos os conjuntos. Termos de pesquisa passados foram chave na obtenção de valores mais elevados nas métricas, com as estratégias que usaram a frequência pura do termo a obterem melhor performance. Quanto a integração com relevância por omissão, houve uma pequena vantagem para o escalamento. Comparativamente ao sistema atual, as nossas melhor estratégias foram capazes de igualar resultados em interrogações frequentes e melhorar a qualidade das respostas nas mais ambíguas (até mais ~6p.p em algumas métricas), onde tínhamos, previamente, identificado problemas. Palavras-chave: recuperação de informação, análise de registos de interrogações, indexação de termos de pesquisa, pesquisa em domínio específico, apache solr, pesquisa em website Acknowledgements The last 5 years have truly been some experience. When I first arrived at FEUP, in September 2015, I was a lost 18 year old kid that somewhat liked computers and, therefore, ended up studying Informatics, just because. Now, at the end, I feel that I have grown, both as a person and as a professional, something that could have not been achieved without the experiences shared with other people who I must thank. Thank you to both my supervisors, who guided me in this last chapter: professor Sérgio Nunes, for his valuable experience and constantly trying to push me further, and José Devezas, who, even though already had a lot of work with the last stages of his own PhD dissertation, still took on the challenge and found the time to provide new, challenging perspectives and ideas. Thank you to all the friends I have made in these years: for being there in the best and worst of