• Nenhum resultado encontrado

http://tede.mackenzie.br/jspui/bitstream/tede/3494/5/Bruno%20Mendon%C3%A7a%20Paris

N/A
N/A
Protected

Academic year: 2021

Share "http://tede.mackenzie.br/jspui/bitstream/tede/3494/5/Bruno%20Mendon%C3%A7a%20Paris"

Copied!
80
0
0

Texto

(1)UNIVERSIDADE PRESBITERIANA MACKENZIE ´ ˜ EM PROGRAMA DE POS-GRADUAC ¸ AO ´ ˜ ENGENHARIA ELETRICA E COMPUTAC ¸ AO. Bruno Mendon¸ca Paris. Learning to Rank: Combina¸c˜ ao de algoritmos aplicando stacking e an´ alise dos resultados. S˜ao Paulo 2017.

(2) UNIVERSIDADE PRESBITERIANA MACKENZIE ´ ˜ EM PROGRAMA DE POS-GRADUAC ¸ AO ´ ˜ ENGENHARIA ELETRICA E COMPUTAC ¸ AO. Bruno Mendon¸ca Paris. Learning to Rank: Combina¸c˜ ao de algoritmos aplicando stacking e an´ alise dos resultados. Disserta¸ca˜o de Mestrado apresentada ao Programa de P´os-Gradua¸ca˜o em Engenharia El´etrica e Computa¸ca˜o da Universidade Presbiteriana Mackenzie como requisito para a obten¸c˜ao do t´ıtulo de Mestre na a´rea de Engenharia de Computa¸ca˜o.. Orientador: Prof. Dr. Nizam Omar. S˜ao Paulo 2017.

(3) P232 Paris, Bruno Mendonça Learning to Rank: combinaçăo de algoritmos aplicando stacking e análise dos resultados / Bruno Mendonça Paris. 80 f.: il. ; 30 cm Dissertação (Engenharia Elétrica e Computação) - Universidade Presbiteriana Mackenzie, São Paulo, 2017. Orientador: Nizam Omar Bibliografia: f. 63-69 1. Recuperação de informação 2. Ranking 3. Learning to Rank 4. Stacking. CDD 006.6. Bibliotecário Responsável: Maria Gabriela Brandi Teixeira – CRB 8/ 6339.

(4)

(5) AGRADECIMENTOS Agrade¸co especialmente ao meu orientador prof. Dr. Nizam Omar por ajudar a direcionar e guiar esse trabalho ao sucesso, com sua sabedoria da pesquisa cient´ıfica adquirida durante anos. A minha esposa e fam´ılia agrade¸co tamb´em pela compreens˜ao e apoio durante esses anos de constru¸c˜ao desse trabalho. Por fim, agrade¸co ao Dr. Thiago Salles pela ajuda na idealiza¸ca˜o do tema dessa pesquisa e conhecimento profundo nesse assunto.. i.

(6) RESUMO Com o crescimento da quantidade de informa¸ca˜o dispon´ıvel nos u ´ltimos anos, a qual ir´a continuar crescendo devido ao aumento de usu´arios, dispositivos e informa¸c˜oes compartilhadas pela internet, acessar a informa¸ca˜o desejada deve ser feita de uma maneira r´apida a fim de n˜ao se gastar muito tempo procurando o que se deseja. Uma busca em buscadores como Google, Yahoo, Bing espera-se que os primeiros resultados tragam a informa¸ca˜o desejada. Uma a´rea que tem o objetivo de trazer os documentos relevantes para o usu´ario ´e conhecida por Recupera¸c˜ao de Informa¸ca˜o e pode ser auxiliada por algoritmos Learning to Rank, que aplica aprendizagem de m´aquina para tentar trazer os documentos importantes aos usu´arios na melhor ordena¸ca˜o poss´ıvel. Esse trabalho visa verificar uma maneira de obter uma ordena¸ca˜o ainda melhor de documentos, empregando uma t´ecnica de combinar algoritmos conhecida por Stacking. Para isso ser´a utilizada a ferramenta RankLib, parte de um projeto conhecido por Lemur, desenvolvida na linguagem Java, que cont´em diversos algoritmos Learning to Rank, e o conjuntos de dados provenientes de uma base mantida pela Microsoft Research Group conhecida por LETOR. Palavras-chave: recupera¸c˜ao de informa¸c˜ao, ranking, Learning to Rank, stacking. i.

(7) ABSTRACT With the growth of the amount of information available in recent years, which will continue to grow due to the increase in users, devices and information shared over the internet, accessing the desired information should be done in a quick way so it is not spent too much time looking for what you want. A search in engines like Google, Yahoo, Bing is expected that the first results bring the desired information. An area that aims to bring relevant documents to the user is known as Information Retrieval and can be aided by Learning to Rank algorithms, which applies machine learning to try to bring important documents to users in the best possible ordering. This work aims to verify a way to get an even better ordering of documents, using a technique of combining algorithms known as Stacking. To do so, it will used the RankLib tool, part of Lemur Project, developed in the Java language that contains several Learning to Rank algorithms, and the datasets from a base maintained by Microsoft Research Group known as LETOR. key-words: information retrieval, ranking, Learning to Rank, stacking. i.

(8) Sum´ ario 1 Introdu¸c˜ ao. 1. 1.1. Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.2. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.3. Organiza¸c˜ao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2 Recupera¸c˜ ao de Informa¸c˜ ao 2.1. 2.2. 6. Modelos Cl´assicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.1.1. Modelo Booleano . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.1.2. Modelo Vetorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.1.3. Modelo Probabil´ıstico. . . . . . . . . . . . . . . . . . . . . . . . . . 14. O Conceito Relevˆancia para Recupera¸c˜ao de Informa¸ca˜o . . . . . . . . . . 15. 3 Avaliando Sistemas de Recupera¸c˜ ao de Informa¸c˜ ao. 18. 3.1. Precis˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18. 3.2. Cobertura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19. 3.3. Medida F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20. 3.4. Precis˜ao em n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20. 3.5. M´edia dos Valores da Precis˜ao M´edia . . . . . . . . . . . . . . . . . . . . . 21. 3.6. Mean Reciprocal Rank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22. 3.7. Normalized Discounted Cumulative Gain . . . . . . . . . . . . . . . . . . . 23. 3.8. Acur´acia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25. 4 T´ ecnicas de Ensemble. 26. 4.1. Bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27. 4.2. Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29. 4.3. Stacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30. 5 Learning to Rank. 32. 5.1. Defini¸ca˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33. 5.2. Features (Caracter´ısticas) . . . . . . . . . . . . . . . . . . . . . . . . . . . 36. 5.3. Pointwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.3.1. Regress˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39. 5.3.2. Classifica¸c˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41. 5.3.3. Regress˜ao Ordinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.

(9) 5.4. 5.5. Pairwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4.1. RankNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44. 5.4.2. RankBoost. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44. Listwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.5.1. ListNet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46. 5.5.2. LambdaMART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47. 6 Experimentos. 49. 6.1. Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49. 6.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55. 7 Conclus˜ ao 7.1. 62. Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62. Referˆ encias Bibliogr´ aficas. 69.

(10) Lista de Tabelas 1. Representa¸ca˜o do documento em forma de Vetor . . . . . . . . . . . . . . . 10. 2. Cole¸c˜oes de Teste para Algoritmos de Recupera¸ca˜o de Informa¸c˜ao . . . . . 18. 3. Documentos relevantes de acordo com a posi¸ca˜o . . . . . . . . . . . . . . . 21. 4. Valores da Precis˜ao em n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21. 5. Documentos e Informa¸co˜es para o c´alculo do MRR . . . . . . . . . . . . . 23. 6. Resultados base dos algoritmos Learning to Rank . . . . . . . . . . . . . . 55. 7. Resultados do Stacking para o conjunto de treinamento MQ2008 . . . . . . 56. 8. Resultados do Stacking para o conjunto de treinamento MQ2007 . . . . . . 57. 9. Resultados utilizando vota¸c˜ao para combinar os algoritmos . . . . . . . . . 58. 10. Melhores resultados do Stacking para o conjunto de treinamento MQ2008 . 59. 11. Melhores resultados do Stacking para o conjunto de treinamento MQ2007 . 60.

(11) Lista de Figuras 1. Aumento da quantidade de informa¸ca˜o dispon´ıvel (JAMES, 2014) . . . . .. 1. 2. Processo durante a Recupera¸c˜ao de Informa¸ca˜o (TAKAO, 2001) p.12 . . .. 7. 3. Comportamento do modelo Booleano (BARTH, 2013) p.250 . . . . . . . .. 9. 4. Remo¸c˜ao de Stop-Words (PASSARIN, 2005) p.22 . . . . . . . . . . . . . . 11. 5. Exemplo de Stemming (PASSARIN, 2005) p.23 . . . . . . . . . . . . . . . 11. 6. ˆ Angulo θ formado pela representa¸ca˜o vetorial do documento e da consulta (FERREIRA, 2011) p.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13. 7. Precis˜ao x Cobertura. 8. Processo para combinar predi¸c˜oes de Redes Neurais (OPITZ; MACLIN, 1999) p.171 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27. 9. Processo de amostragem do conjunto de treinamento para Bagging (OPITZ; MACLIN, 1999) p.173 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28. 10. Superf´ıcie de separa¸ca˜o de dados utilizando Bagging (ZHOU, 2012) p.50 . . 28. 11. Processo de amostragem do conjunto de treinamento para Boosting (OPITZ; MACLIN, 1999) p.173 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29. 12. Superf´ıcie de separa¸ca˜o de dados utilizando Boosting (ZHOU, 2012) p.30 . 30. 13. Stacking de modelos de aprendizagem . . . . . . . . . . . . . . . . . . . . . 31. 14. Processo utilizado na Recupera¸ca˜o de Informa¸ca˜o Tradicional (HANG, 2011) p.1854 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32. 15. Processo utilizado na RI utilizando Learning to Rank (LIU et al., 2009) p.239 34. 16. Abordagem Pointwise. 17. Fun¸ca˜o de perda quadr´atica (LIU, 2011) p.34. 18. Fun¸ca˜o de perda hinge para o algoritmo SVM (LIU, 2011) p.36 . . . . . . 42. 19. Abordagem Pairwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43. 20. Abordagem Listwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45. 21. Stacking de rankers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52. 22. Formato do arquivo de treinamento do algoritmo L2R . . . . . . . . . . . . 53. 23. Formato do arquivo de treinamento para o ranker de N´ıvel 2 . . . . . . . . 54. 24. Novo vetor de caracter´ısticas para o ranker de N´ıvel 2 . . . . . . . . . . . . 54. 25. Evolu¸c˜ao da medida NDCG ap´os stacking para a base de dados MQ2008 . 60. 26. Evolu¸c˜ao da medida NDCG ap´os stacking para a base de dados MQ2007 . 61. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 . . . . . . . . . . . . . . . . 40.

(12) 1. Introdu¸c˜ ao A quantidade de informa¸c˜ao dispon´ıvel pela WEB e ambientes privados de empresas. vˆem aumentando, seja em forma de documento textual, ´audio ou imagens, acontecendo o mesmo para o n´ umero de usu´arios de computadores, impusionados pelas diferentes tecnologias e aparelhos dispon´ıveis. Uma pesquisa realizada pela empresa DOMO, informa que a cada minuto 2.5 milh˜oes de pessoas compartilham conte´ udo, 277 mil tweets s˜ao enviados e 200 milh˜oes de e-mails s˜ao trocados, ilustrados na Figura 1 (JAMES, 2014). Somente em 2012, o Google recebeu em m´edia 2 milh˜oes de consultas por dia. Dois anos depois, esse valor que duplicou (JAMES, 2014). Em 2013, por exemplo, o Google processou 20 petabytes de informa¸ca˜o por dia (GUNELIUS, 2013).. Figura 1: Aumento da quantidade de informa¸ca˜o dispon´ıvel (JAMES, 2014). Em meio `a grande quantidade de informa¸co˜es dispon´ıveis, encontrar os documentos desejados n˜ao ´e uma tarefa f´acil, mas que pode ser ajudado se os documentos estiverem ranqueados de acordo com sua relevˆancia ou importˆancia perante a` consulta. Essa tarefa de ranking acontece em diversas aplica¸co˜es, como motores de busca na ´area de recupera¸c˜ao de informa¸ca˜o, em sistemas de recomenda¸ca˜o (sugest˜oes de produtos similares em sites de com´ercio eletrˆonico ou ainda sugest˜oes de filmes/seriados em aplicativos de streaming). Haja vista a quantidade de informa¸ca˜o existente e que somente tende a aumentar, de1.

(13) senvolver t´ecnicas que sejam capazes de encontrar a informa¸ca˜o desejada rapidamente ´e de extrema importˆancia e ´e alvo de estudo nesse trabalho. Para isso, existem os m´etodos cl´assicos (modelo booleano e vetorial), semelhan¸ca de documentos atrav´es de medidas como TFIDF ou BM25, Learning to Hash (WANG et al., 2016), t´ecnica atual para encontrar informa¸co˜es semelhantes em grandes bases de dados, como ´audios, imagens e v´ıdeos. Outro m´etodo e o qual ´e foco desse trabalho ´e conhecido como Learning to Rank, que utiliza os conceitos de aprendizagem de m´aquina ao problema de Recupera¸ca˜o de Informa¸ca˜o, a fim de obter uma lista de objetos ranqueados na melhor ordem poss´ıvel ´ essencial tamb´em compreender quais algoritmos existem, perante uma certa consulta. E sua hist´oria, entender as diferen¸cas e saber combin´a-los, a fim de poder criar um algoritmo que obtenha resultados melhores de acordo com as m´etricas do Cap´ıtulo 3. Por fim, n˜ao apenas utilizar algoritmos isoladamente, mas saber combin´a-los, t´ecnica conhecida por Ensemble, vem demonstrando bons resultados na capacidade de predi¸ca˜o de modelos de aprendizagem de m´aquina. Dentre os principais m´etodo, a serem apresentados no Cap´ıtulo 4, um chamou aten¸ca˜o durante uma competi¸ca˜o promovida pelo Netflix a fim de predizer uma lista de filmes que um usu´ario possivelmente iria gostar baseado em filmes vistos ou curtidos previamente. Esse m´etodo, conhecido por Stacking e que visa utilizar a predi¸ca˜o de diferentes algoritmos como entrada para outro algoritmo, foi utilizado pelos dois primeiros colocados Koren (2009) e Sill et al. (2009) da competi¸ca˜o, evidenciando sua aplicabilidade em situa¸co˜es reais e que pode acarretar bons resultados. Campos et al. (2017) ao combinar (utilizando stacking) diferentes algoritmos de classifica¸ca˜o de texto baseados em Random Forests tamb´em obteve melhores resultados (17%), considerando-se a medida F, do que cada algoritmo se observado individualmente.. 1.1. Justificativa. As informa¸co˜es apresentadas anteriormente evidenciam trˆes pontos importantes que motivam a pesquisa. Primeiramente, a quantidade de informa¸ca˜o atualmente dispon´ıvel evidencia que ´e necess´ario estudar e elaborar cada vez t´ecnicas melhores para encontrar o dado necess´ario.. 2.

(14) Se isso n˜ao for feito, ficar´a cada vez mais dif´ıcil encontrar a informa¸ca˜o por mais que ela exista. Al´em disso, pode-se apontar tamb´em a quantidade de informa¸ca˜o existente dentro das empresas. Os funcion´arios realizam buscas (enterprise search) nas empresas em que trabalham, seja no website interno ou externo, a fim de encontrar um texto em formato eletrˆonico desejado, o qual pode ser um e-mail, documento, banco de dados ou outra informa¸ca˜o (HAWKING, 2004). Assim como o Google ajuda a encontrar informa¸c˜oes pela Web, a existˆencia de buscadores internamente se faz necess´ario. Uma pesquisa realizada pela Feldman e Sherman (2011) aponta que o fato de n˜ao encontrar a informa¸c˜ao desejada pode acarretar o seguinte dentro de uma empresa: • Decis˜oes mal executadas devido a` informa¸ca˜o errada encontrada; • Duplica¸ca˜o de esfor¸cos devido a diferentes equipes n˜ao encontrarem a informa¸c˜ao desejada e estarem trabalhando para realizar a mesma tarefa; • Perda de vendas devido aos clientes n˜ao encontrarem a informa¸ca˜o desejada sobre o produto ou servi¸co oferecido; • Perda de produtividade devido aos funcion´arios n˜ao encontrarem rapidamente a informa¸ca˜o desejada na intranet e recorrerem a outros meios para encontr´a-la;. Outra ´area ainda que se beneficia da tecnologia por do Learning to Rank s˜ao os sites de Com´ercio Eletrˆonico e de Conte´ udo. Amatriain (2013) mostra a importˆancia do uso dessas t´ecnicas por parte da empresa Netflix a fim de sugerir conte´ udo personalizado ou ainda quando (WESTON; YEE; WEISS, 2013) mostra a sua aplicabilidade e bons resultados para recomendar v´ıdeos no Youtube. Saber recomendar produtos ou v´ıdeos corretamente far˜ao com que os usu´arios comprem mais ou fiquem mais tempo utilizando o servi¸co fornecido, ocasionando mais vendas ou que atraiam mais an´ uncios direcionados aos usu´arios. Tem-se ainda outra aplicabilidade da a´rea mostrada por Le et al. (2016) em que evidenciou o uso de Learning to Rank ao propor uma t´ecnica de encontrar partes do c´odigo ordenadas por relevˆancia que possam ser a causa raiz de uma certa falha em um software, podendo diminuir o tempo e energia gasta ao procurar o motivo em todo o 3.

(15) c´odigo. Dehghani et al. (2015) ainda mostra a efic´acia ao usar algoritmo de Learning to Rank para integrar diferentes fontes de conhecimento e poder indexar uma grande quantidade de documentos relacionados a` pol´ıtica para f´acil recupera¸ca˜o posteriormente. Em segundo lugar, o tema dessa pesquisa ´e aplicado na pr´atica por buscadores, tais como, Bing, Yahoo. Esse buscadores s˜ao acessados por milh˜oes de pessoas diariamente, o que confirma que as t´ecnicas que ser˜ao apresentadas em breve e que s˜ao utilizadas por esses buscadores funcionam se utilizadas corretamente. Logo, conhecer a teoria sobre Learning to Rank ´e de extrema importˆancia para saber aplicar os algoritmos corretamente. Em terceiro lugar, algoritmos de aprendizagem de m´aquina famosos de diversas ´areas utilizam m´etodos de Ensemble para obter melhor capacidade de predi¸ca˜o como ´e o caso do LambaMART, a ser apresentado na Subse¸c˜ao 5.5.2. Assim, para Learning to Rank n˜ao seria diferente e conhecer os resultados de combinar diferentes algoritmos, no caso utilizando stacking, pode ser importante para o caso de uso a ser aplicado. Portanto, esses t´opicos Learning to Rank e Stacking evidenciam a extrema relevˆancia dessa tema atual para o cotidiano de usu´arios comuns e que ser´a aprofundado nessa disserta¸ca˜o.. 1.2. Objetivo. O objetivo dessa pesquisa consiste em realizar um mapeamento do campo te´orico sobre a ´area de conhecimento de Learning to Rank e seus algoritmos. N˜ao obstante, deseja-se tamb´em verificar se a t´ecnica de Ensemble conhecida por Stacking, se aplicada a esses algoritmos, pode ocasionar uma melhoria na qualidade do ranking dos documentos retornados. Para isso ser˜ao analisadas duas medidas (NDCG e MAP) de cada algoritmo individualmente e, na sequˆencia, verificar se essas medidas obter˜ao uma melhoria atrav´es da combina¸c˜ao de modelos individuais (Ensemble). Essas m´etricas s˜ao utilizadas quando se deseja analisar a qualidade de um ranking obtido atrav´es de um algoritmo, desde quando existem documentos com relevˆancias diferentes at´e quando estes n˜ao possuem distin¸ca˜o, sendo considerados apenas relevantes a uma consulta ou n˜ao. Dessa maneira, ser´a poss´ıvel identificar futuros campos de pesquisa ou restri¸co˜es a respeito desse assunto.. 4.

(16) 1.3. Organiza¸ c˜ ao do trabalho. No Cap´ıtulo 2 ser´a abordado a fundo o tema de Recupera¸ca˜o de Informa¸ca˜o, conceitos primordiais e os primeiros tipos, por´em ainda usados, de sistemas de Recupera¸ca˜o de Informa¸ca˜o. Por fim, ´e detalhado tamb´em o conceito de relevˆancia, no que se diz respeito a saber o que ´e um documento relevante perante a uma consulta, ou seja, aquilo que deve ser priorizado. No Cap´ıtulo 3 ´e abordado as diferentes maneiras de se avaliar um algoritmo de Recupera¸ca˜o de Informa¸ca˜o, a fim de que seja poss´ıvel entender quando um algoritmo possui melhor performance que outro durante a sess˜ao de Experimentos. No Cap´ıtulo 4 ser˜ao abordados os diferentes m´etodos de combinar algoritmos (Ensemble), tais como bagging, boosting e stacking. Esse conhecimento ´e necess´ario pois no pr´oximo cap´ıtulo tem-se algoritmos que utilizam essas t´ecnicas e durante o Cap´ıtulo 5 ser˜ao realizados experimentos acerca do m´etodo stacking. No Cap´ıtulo 5 ´e abordado a fundo o tema de Learning to Rank, os trˆes diferentes tipos de algoritmos (Pointwise, Pairwise e Listwise) e tamb´em o conceito de features, que pode ser resumido com as caracter´ısticas que s˜ao importantes dentro de um texto a fim de que o algoritmo seja capaz de encontrar documentos relevantes perante a uma certa consulta e tamb´em a ranque´a-los da maneira correta ao apresentar o resultado. No Cap´ıtulo 6 ser˜ao realizados alguns experimentos a fim de alcan¸car o objetivo apresentado previamente. Para isso, foram utilizados dois conjuntos de dados famosos da a´rea de Learning to Rank, conhecido por LETOR. Esses conjuntos s˜ao disponibilizados para que a comunidade cient´ıfica possa testar diferentes algoritmos e comparar os resultados. Al´em do mais, cinco diferentes algoritmos de diferentes tipos (pointwise, pairwise e listwise) foram selecionados para que possam ser combinados utilizando stacking em que, para cada um dos testes a serem realizados, um diferente algoritmo ir´a receber os dados do resultado dos outros algoritmos. Assim, ser´a poss´ıvel descobrir se esse tipo de Ensemble ir´a ocasionar um algoritmo com melhor performance do que algoritmos analisados separadamente. Por fim, no Cap´ıtulo 7 s˜ao apresentados sugest˜oes para trabalhos futuros com base nos resultados alcan¸cados e uma conclus˜ao dessa disserta¸ca˜o. 5.

(17) 2. Recupera¸c˜ ao de Informa¸ c˜ ao Neste Cap´ıtulo ser˜ao apresentados conceitos formais de Recupera¸c˜ao da Informa¸ca˜o,. quando surgiu e como evoluiu desde ent˜ao, abordando os principais modelos cl´assicos existente a fim de permitir o usu´ario encontrar a informa¸ca˜o desejada. Segundo Baeza-Yates e Ribeiro-Neto (1999), o homem vem organizando informa¸c˜oes h´a muito tempo segundo a fim de poder encontr´a-las quando necess´ario. Criar ´ındices ´e uma t´ecnica antiga por´em ainda muito utilizada, podendo ser encontrada em livros ou em empresas para localizar clientes ou pacientes. As bibliotecas por exemplo utilizam um sistema muito similar, dado que um grande ´ındice existe com os nomes de livros e seus respectivos autores (BAEZA-YATES; RIBEIRO-NETO, 1999). O termo Recupera¸c˜ao da Informa¸ca˜o (RI) surgiu quando Mooers (1951) o definiu: .”Recupera¸c˜ao de Informa¸c˜ao ´e o nome do processo onde um poss´ıvel usu´ario de informa¸c˜ao pode converter a sua necessidade de informa¸c˜ao em uma lista real de cita¸c˜ oes de documentos armazenados que contenham informa¸c˜oes u ´teis a ele...”. J´a para Manning et al. (2008), e de uma maneira mais simples de compreender, Recupera¸ca˜o de Informa¸ca˜o significa encontrar material (usualmente documentos) que est˜ao em uma natureza n˜ao estruturada (normalmente texto) que satisfaz uma necessidade de informa¸ca˜o em grande cole¸co˜es (normalmente gravadas em computadores). Durante uma consulta a um Sistema de Recupera¸ca˜o de Informa¸c˜ao (SRI) a fim de encontrar um documento pertinente a um problema do usu´ario, pode-se dizer que os seguintes passos ocorrer˜ao:. • O usu´ario precisa de uma informa¸ca˜o e ir´a fazer uma pesquisa no sistema traduzindo sua necessidade ; • O sistema de Recupera¸ca˜o tem ciˆencia de todos documentos, uma vez que est˜ao armazenados utilizando alguma t´ecnica de representa¸ca˜o, tentando assim encontrar aqueles que s˜ao pertinentes a` pesquisa; • Os documentos relevantes ser˜ao retornados ordenados por relevˆancia, ou seja, aqueles que possuem maior similaridade com a consulta ser˜ao retornados primeiro;. 6.

(18) No SRI, o usu´ario ir´a entrar com um texto em linguagem natural, nem sempre bem escritos ou que claramente informe a necessidade da procura, e o sistema ir´a devolver os documentos relevantes. Ser capaz de receber consultas n˜ao estruturadas ou com erros e mesmo assim localizar os documentos relevantes ´e importante, pois demonstra que o sistema foi capaz de compreender um texto (a consulta) e localizar documentos relacionados em meio a um grande volume de dados (BAEZA-YATES; RIBEIRO-NETO, 1999). A ´area da Recupera¸ca˜o de Informa¸c˜ao tem como objetivo principal localizar documentos em alguma base de informa¸ca˜o, tendo como entrada uma consulta ou texto do usu´ario. Os documentos ser˜ao recuperados e retornados ao usu´ario na melhor ordem poss´ıvel a fim de que o mesmo facilmente encontre a informa¸ca˜o que est´a procurando, conforme ilustrado no processo da Figura 2.. Figura 2: Processo durante a Recupera¸c˜ao de Informa¸ca˜o (TAKAO, 2001) p.12. Os modelos, segundo Baeza-Yates e Ribeiro-Neto (1999), para RI s˜ao compostos por 4 partes D, Q, F, R(q,d): • D s˜ao as representa¸c˜oes dos documentos que existem no Sistema de Recupera¸c˜ao de Informa¸ca˜o; • Q s˜ao as consultas ou representa¸co˜es para aquilo que o usu´ario necessita; • F ´e um Sistema de modelagem das representa¸co˜es dos documentos, perguntas e relacionamentos; • R(q,d) ´e uma fun¸ca˜o de ordena¸ca˜o capaz de definir a ordem dos documentos com rela¸ca˜o `a consulta 7.

(19) A quantidade de informa¸c˜ao presente e dispon´ıvel `as pessoas est´a em constante crescimento, seja a informa¸c˜ao em formato visual, textual ou de a´udio. Ser capaz de recuperar a informa¸ca˜o desejada ser´a cada vez mais demandado e, por tal motivo, estudar e continuar melhorando as t´ecnicas e algoritmos da a´rea da Recupera¸c˜ao de Informa¸ca˜o ser´a sempre importante. Para Baeza-Yates e Ribeiro-Neto (1999), a tarefa do usu´ario em buscar a informa¸ca˜o desejada pode ser dividida em dois grandes grupos. O primeiro, conhecido por Navega¸c˜ao, consiste quando n˜ao se tem uma consulta espec´ıfica ao sistema, por´em ocorrer´a uma explora¸ca˜o da base de documentos, seja um diret´orio, sem nenhuma organiza¸ca˜o, ou quando se tem hierarquias que dividem os documentos. O segundo ´e conhecido por Recupera¸c˜ao e pode ser subdividido em Ad-Hoc e Filtragem. No tipo de sistema em que os documentos s˜ao est´aticos (quase est´aticos) e as queries (consultas) variam bastante ´e nomeado Recupera¸c˜ao Ad-Hoc. Ou seja, os usu´arios v˜ao interagir com o Sistema de Recupera¸ca˜o de Informa¸ca˜o, realizando consultas a fim de encontrar a informa¸c˜ao desejada, em que isso ´e o que acontece com os sistemas de busca da Web, por exemplo (KANAAN et al., 2004). J´a nos sistemas em que os documentos variam, em constante adi¸ca˜o ou remo¸c˜ao, e as queries (consultas) s˜ao est´aticas ´e o que se chama de Filtragem (TAKAO, 2001), cujo exemplo ´e o mercado de a¸c˜oes, devido `as grandes varia¸co˜es de dados durante o dia e as consultas fixas (KANAAN et al., 2004).. 2.1. Modelos Cl´ assicos. Nessa se¸ca˜o ser˜ao abordados alguns dos diversos modelos de Recupera¸ca˜o de Informa¸ca˜o existentes, aprofundando-se um pouco sobre trˆes deles e de uso mais difundido, Booleano, Vetorial e Probabil´ıstico, e uma breve cita¸ca˜o de outros modelos tamb´em considerados cl´assicos para referˆencia.. 2.1.1. Modelo Booleano. ´ um modelo simples e com objetivo bem definido, tornando-o de ampla utiliza¸ca˜o E pelos Sistemas de Recupera¸ca˜o de Informa¸ca˜o e baseado na Teoria dos Conjuntos e na ´ Algebra de Boole (KURAMOTO, 2002). 8.

(20) Os termos dos documentos a serem procurados est˜ao previamente indexados e as buscas s˜ao feitas por meio de textos as quais cont´em express˜oes l´ogicas (AND, OR, NOT ) (FERREIRA, 2011). A Figura 3 mostra esse caso, em que se a consulta fosse sobre o termo t1 e t2, a resposta seria a a´rea cinza, j´a se fosse apenas sobre o termo t2, seria a parte cinza e o lado direita da figura, enquanto que se fosse apenas sobre o termo t1, a resposta seria a parte cinza e o lado esquerdo da figura.. Figura 3: Comportamento do modelo Booleano (BARTH, 2013) p.250. Formalmente, segundo Takao (2001), a similaridade nesse modelo est´a relacionada ao documento conter a express˜ao l´ogica da consulta, sendo considerado assim relevante. Caso a express˜ao l´ogica da consulta n˜ao aconte¸ca no documento, este n˜ao ser´a considerado relevante. Logo, o resultado para uma dada consulta s˜ao os documentos cujo conte´ udo satisfazem essa express˜ao l´ogica (query) informada pelo usu´ario. Esses documentos recuperados s˜ao analisados simplesmente se satisfazem ou n˜ao a consulta do usu´ario, ocasionando que n˜ao exista uma prioridade de documentos entre eles, como se todos fossem igualmente relevantes. Pode-se dizer, conforme Takao (2001) que esse modelo tem como resposta 0 ou 1, exclusivo, para uma certa consulta. Assim, a similaridade entre um documento e uma certa consulta ´e 1, caso o documento seja relevante, ou seja, a express˜ao da consulta existe nesse documento. Ou ent˜ao a similaridade ´e 0, caso a express˜ao da consulta n˜ao exista.. 2.1.2. Modelo Vetorial. Esse modelo, encontrado inicialmente em Salton (1971), Salton e Lesk (1968) e Salton, Wong e Yang (1975) est´a relacionado a comparar documentos na forma vetorial com 9.

(21) as consultas que tamb´em est˜ao na forma vetorial, em um espa¸co n-dimensional, sendo n a quantidade de palavras existentes e n˜ao filtradas, podendo assim verificar quais documentos s˜ao mais semelhantes a` consulta, atrav´es da distˆancia do cosseno, a ser visto em breve, e assim retornar apenas esses documentos para avalia¸c˜ao do usu´ario (FERREIRA, 2011). A transforma¸ca˜o do texto em sua forma vetorial ´e essencial para esse Modelo, a fim de que documentos na forma textual possam ser analisados, estruturados em vetores e pass´ıveis de futuras buscas e compara¸c˜oes entre si. O vetor resultante dessa transforma¸c˜ao, representado na Tabela 1, possui diversas colunas (letra a), as quais s˜ao as palavras contidas no documento e cujo valor (letra p) de cada coluna ´e o peso ou importˆancia daquela palavra perante ao documento (BARION; LAGO, 2015).. •. a1. a2. .... an. d. p1. p2. .... pn. Tabela 1: Representa¸c˜ao do documento em forma de Vetor. Essa transforma¸ca˜o de um documento (texto) para vetor acontece usualmente em 4 etapas (BARION; LAGO, 2015):. • An´alise L´exica: Ser˜ao identificadas as palavras do texto que poder˜ao fazer parte do vetor. Os delimitadores utilizados nessa fase s˜ao os espa¸cos, quebras de linha ou tabula¸co˜es. A princ´ıpio cada palavra, incluindo preposi¸co˜es, conjun¸co˜es, ser´a separada e considerada para a pr´oxima etapa (BARION; LAGO, 2015). • Remo¸ca˜o de Stopwords: nessa fase ocorre a remo¸ca˜o de palavras que n˜ao apresentam relevˆancia para o vetor uma vez que n˜ao s˜ao representativas perante o documento, permitindo assim que o vetor contenha apenas palavras que agreguem valor e realmente representem o documento. Essas palavras removidas normalmente s˜ao os artigos, preposi¸c˜oes, interjei¸co˜es e conjun¸co˜es. Existem ainda outras palavras que tamb´em s˜ao removidas por aparecerem muito frequentemente em documentos. Logo, nessa fase normalmente os documentos s˜ao comparados com um dicion´ario a fim de encontrar as palavras que devem ser removidas. A remo¸c˜ao dos stopwords ajuda a. 10.

(22) diminuir o espa¸co de armazenamento melhorando assim o desempenho dos algoritmos de Minera¸ca˜o de Textos (BARION; LAGO, 2015). Na Figura 4 ´e ilustrado o processo de remo¸ca˜o de stopwords.. Figura 4: Remo¸ca˜o de Stop-Words (PASSARIN, 2005) p.22. • Stemming: As palavras do textos ser˜ao reduzidas por uma transforma¸c˜ao l´exica com o objetivo de encontrar o radical da palavra, em que ser˜ao removidos sufixos, prefixos e normalizadas para o singular. Isso ajudar´a com que palavras distintas, por´em de significado semelhante (mesma raiz), sejam consideradas iguais durante a representa¸c˜ao do documento em vetor. Nota-se assim que esse processo ´e dependente do idioma dos documentos, uma vez que cada l´ıngua trata diferente prefixos, plural, etc. Como exemplo dessa etapa, mostra-se na Figura 5 o processo de Stemming.. Figura 5: Exemplo de Stemming (PASSARIN, 2005) p.23. • Thesaurus: Representam-se dicion´arios, acrˆonimos, abrevia¸co˜es que s˜ao relacionados a um certo dom´ınio e aplicados aos documentos em an´alise com o objetivo de 11.

(23) reduzir o n´ umero de palavras a serem analisadas e ajudar o usu´ario a encontrar a informa¸ca˜o desejada. Nessa fase tamb´em pode-se identificar certos erros gramaticais mas que sejam comuns dado um certo dom´ınio. Caso estejam sendo analisados documentos provenientes das redes sociais, certos erros gramaticais existir˜ao e ser˜ao frequentes, tais como escrever certos caracteres repetidos. Logo, ´e poss´ıvel tamb´em normalizar os textos com base nessas informa¸co˜es espec´ıficas a um dom´ınio. Para exemplificar a utiliza¸ca˜o, tenha como exemplo um documento que contenha a palavra ONG e outro que contenha o termo “Organiza¸ca˜o n˜ao Governamental”. Ambas palavras tˆem o mesmo significado e espera-se que esta rela¸c˜ao esteja dispon´ıvel no thesaurus para que quando ocorra a transforma¸ca˜o do texto em vetor ambos documentos, com rela¸ca˜o a essa palavra em espec´ıfico, possuam o mesmo atributo (RONCERO, 2010). Ap´os essas etapas, j´a ´e poss´ıvel identificar todas as colunas do vetor que representar´a cada documento. Falta ainda saber qual ser´a o peso ou importˆancia de cada um desses atributos e, para isso, existem as seguintes m´etricas: (MATSUBARA; MARTINS; MONARD, 2003) (MORAIS; AMBR´oSIO, 2007): • Indica¸ca˜o bin´aria: 1 caso ocorra a palavra no documento e 0 caso n˜ao ocorra • Frequˆencia absoluta: normalmente denominada como term frequency (tf) e medida como a quantidade de vezes que a palavra aparece no documento. • Frequˆencia relativa: calculado pela divis˜ao entre a frequˆencia absoluta (tf) e o n´ umero de palavras naquele documento. • TFIDF: tamb´em conhecida como term frequency-inverse document frequency, ´e calculada pela Equa¸ca˜o 1, onde ftd ´e a frequˆencia do termo t no documento d, N ´e o n´ umero total de documentos e nt ´e o n´ umero de documentos contendo a palavra t:. T F IDF = ftd × log(. N ) nt. (1). Tendo uma representa¸ca˜o vetorial para o documento d e para a consulta q utilizando as 4 etapas anteriores, ´e poss´ıvel ent˜ao realizar uma busca e identificar os documentos 12.

(24) mais similares a essa consulta. Quanto mais perto estiverem os vetores que representam o documento e a consulta, menor ser´a o aˆngulo θ, ilustrado na Figura 6, e consequentemente mais importante ser´a esse documento com rela¸ca˜o a` consulta (FERREIRA, 2011).. ˆ Figura 6: Angulo θ formado pela representa¸ca˜o vetorial do documento e da consulta (FERREIRA, 2011) p.23. Conforme Ferreira (2011), a similaridade entre o documento e a consulta pode ser obtida atrav´es da medida conhecida como Similaridade do Cosseno e calculada pela Equa¸c˜ao 2: →·→ q d Sim(d, q) = cos(θ) =

(25)

(26)

(27)

(28)

(29)

(30)

(31)

(32)

(33)

(34)

(35)

(36) ×

(37)

(38) d. (2). q. onde: • : → · → ´e o produto escalar entre os dois vetores d. q.

(39)

(40)

(41)

(42)

(43)

(44)

(45)

(46) • :

(47)

(48) ×

(49)

(50)

(51)

(52) ´e o produto das distˆancias Euclidianas dos dois vetores d. q. Dado que a maneira utilizada para representar os documentos ´e a mesma para todos documentos, permite assim comparar similaridade de documentos e entre documentos e a consulta, o que permite retornar os documentos ao usu´ario utilizando um certo ranking (TAKAO, 2001). Dada a teoria simples e coerente por tr´as desse modelo, permite-se o seu uso amplo e, consequentemente, o desenvolvimento de solu¸co˜es que tratam a indexa¸ca˜o de documentos 13.

(53) e sua consequente recupera¸ca˜o, como ´e o caso do software Lucene (BARTH, 2013).. 2.1.3. Modelo Probabil´ıstico. Modelo baseado na Teoria das Probabilidades, inicialmente encontrado em Robertson (1977) e Robertson e Jones (1976), onde se assume que exista um grupo de documentos perfeito R que deva ser recuperado para cada consulta q poss´ıvel. Segundo Baeza-Yates e Ribeiro-Neto (1999), dado uma consulta (query) e um documento (d ) existente, esse modelo ir´a estimar a probabilidade do usu´ario encontrar o documento desejado. Essa probabilidade depende somente da consulta e da representa¸ca˜o dos documentos, muitas vezes similares a` representa¸c˜ao explicada anteriormente. Para cada consulta, assume que existe um grupo de documentos R que responde perfeitamente uma consulta q. Assim, os documentos desse conjuntos s˜ao relevantes `a consulta, enquanto que aqueles que n˜ao est˜ao presentes, R, n˜ao s˜ao relevantes. Assim, dada uma consulta q e os poss´ıveis documentos, quando o usu´ario selecionar alguns desses documentos, a consulta assim como documentos ser˜ao submetidos novamente, a fim de melhorar o resultado. Esse processo ´e conhecido como Relevance Feedback e atribui uma relevˆancia baseada em probabilidade (SILVA et al., 2013). Atrav´es do Princ´ıpio da Ordena¸ca˜o Probabil´ıstica, os termos que ocorrem no grupo de documentos R podem ajudar a encontrar outros documentos relevantes. Esse princ´ıpio nos diz que a distribui¸ca˜o dos termos na cole¸c˜ao pode informar a relevˆancia prov´avel de um documento na consulta (BAEZA-YATES; RIBEIRO-NETO, 1999). Assim, para uma consulta q, o modelo probabil´ıstico assinala uma similaridade para cada documento dj existente (ALMEIDA, 2007). Essa similaridade ´e calculada conforme a Equa¸ca˜o 3:. sim(dj , q) =. P (R|dj ) P (R|dj ). (3). Existem diversas abordagens para calcular as probabilidades acima mencionadas (ALMEIDA, 2007), e uma delas ´e a m´etrica BM25, que vem sendo bem sucedida ao ser usada. 14.

(54) com o modelo probabil´ıstico (ROBERTSON; WALKER, 1999) (ROBERTSON et al., 1995). Essa m´etrica e outras ser˜ao aprofundadas na Se¸ca˜o 5.2. Assim ´e poss´ıvel ordenar os documentos recuperados para uma certa consulta de um usu´ario, uma vez que se tem a probabilidade de cada documento ser relevante (BARTH, 2013).. 2.2. O Conceito Relevˆ ancia para Recupera¸c˜ ao de Informa¸c˜ ao. Relevˆancia ´e o ponto principal nos Sistemas de Recupera¸ca˜o de Informa¸c˜ao. O objetivo principal ´e criar t´ecnicas artificiais que sejam capazes de oferecer ao usu´ario documentos pertinentes a` sua busca ordenados da melhor forma poss´ıvel. Essa ordena¸c˜ao ´e baseada no ranking que cada documento possui com rela¸ca˜o a uma certa query e ´e objeto de estudo dessa disserta¸ca˜o (SILVA et al., 2013). Segundo Mizzaro (1997) muitos pesquisadores estudaram o assunto da relevˆancia, sendo que ´e poss´ıvel citar 3 dos primeiros estudos que ajudaram a entender melhor esse conceito:. • Vickery (1959a) e Vickery (1959b): apresenta uma distin¸ca˜o entre a relevˆancia referente a um certo assunto, que se refere ao que o Sistema de Recupera¸c˜ao de Informa¸ca˜o diz ser relevante, e relevˆancia ao usu´ario, que refere-se aquilo que o usu´ario realmente necessita; • Rees e Schultz (1967): estudo que mostra a dificuldade em acreditar-se nas relevˆancias apontadas para os documentos e que podem ser afetadas por mais de 40 vari´aveis; • Cuadra (1967) e Cuadra e Katter (1967): encontra 38 vari´aveis que influenciam a relevˆancia apontada para documentos, questionando assim a relevˆancia apontada por humanos;. Mizzaro (1998) explica com detalhes em seu artigo a importˆancia da relevˆancia para sistemas de busca e diz que a relevˆancia pode ser estudada atrav´es de suas 4 dimens˜oes. A primeira seriam os recursos da informa¸ca˜o, que possui trˆes partes constituintes: 15.

(55) • Documento: entidade f´ısica que o usu´ario vai obter do sistema; • Representa¸c˜ao: representa¸ca˜o do documento, em que pode conter t´ıtulo, autor, bibliografia e outras informa¸c˜ao; • Informa¸ca˜o: entidade (n˜ao f´ısica) que o usu´ario recebe e cria quando lendo o documento;. A segunda dimens˜ao est´a relacionada com a representa¸c˜ao do problema do usu´ario. Esse est´a necessitando de alguma informa¸ca˜o e precisa informar ao sistema de Recupera¸ca˜o de Informa¸ca˜o essa necessidade. Assim, pode-se definir RIR (Real Informa¸ca˜o Requisitada) como sendo a informa¸ca˜o que o usu´ario est´a precisando. Essa informa¸ca˜o ser´a traduzida ou representada na mente do usu´ario de uma outra forma, em que se define outro termo ICR (Informa¸c˜ao Compreendida Requisitada). Na sequˆencia, o usu´ario ir´a expressar o ICR em linguagem natural, uma requisi¸ca˜o, e por fim realizar uma consulta (conjunto de termos, express˜oes booleanas) junto ao Sistema de Recupera¸ca˜o de Informa¸ca˜o. Essa dimens˜ao retrata a dificuldade do usu´ario em colocar atrav´es de palavras o seu problema, uma vez que podem existir diversas maneiras de express´a-lo os quais nem sempre trar˜ao os documentos que procura. A terceira est´a referente com a quest˜ao tempo, em que a RIR pode variar com o passar do tempo ou que um documento que antes era a informa¸ca˜o requisitada pode n˜ao ser mais para a mesma consulta. Esse dinamismo ilustra um comportamento comum e que acontece com sistemas de Recupera¸c˜ao de Informa¸ca˜o. Por fim, a quarta dimens˜ao s˜ao os componentes de uma busca, que seria a decomposi¸ca˜o das entidades das duas primeiras dimens˜oes:. • T´opico: assunto de pesquisa do usu´ario; • Tarefa: o que o usu´ario vai fazer com os documentos recuperados; • Contexto: tudo que n˜ao est´a relacionado ao t´opico ou tarefa mas que influencia nos resultados, como por exemplo documentos j´a conhecidos e que n˜ao s˜ao relevantes ao resultado; 16.

(56) A ideia de relevˆancia est´a como ponto de importˆancia e preocupa¸c˜ao nos modelos de implementa¸ca˜o dos Sistemas de Recupera¸ca˜o de Informa¸ca˜o. Ser capaz de anotar e saber quais documentos os usu´arios consideram relevantes ir´a ajudar a obter um melhor ranking dos documentos durante as buscas feitas pelo usu´ario. Como melhorar e ser capaz de sempre devolver os documentos na melhor ordem poss´ıvel ser´a estudado durante o Cap´ıtulo 5.. 17.

(57) 3. Avaliando Sistemas de Recupera¸ c˜ ao de Informa¸ c˜ ao Neste Cap´ıtulo ser˜ao apresentadas quais s˜ao as maneiras existentes de se analisar. um algoritmo de Recupera¸c˜ao de Informa¸ca˜o a fim de verificar se ele est´a retornando as informa¸co˜es procuradas pelo usu´ario, ou seja, se o conjunto de documentos retornado ´e relevante ou n˜ao para o usu´ario. O foco nesse caso n˜ao ´e uma resposta exata, mas sim em verificar se os melhores documentos (mais relacionados a consulta) est˜ao sempre sendo retornados (BAEZA-YATES; RIBEIRO-NETO, 1999). A fim de avaliar esses algoritmos e obter as m´etricas, usam-se cole¸co˜es de dados para teste de uma maneira padronizada, conforme a Tabela 2, possuindo as seguintes colunas (BARTH, 2013): • Consulta: diversas consultas reais que usu´arios ir˜ao fazer ao sistema de Recupera¸c˜ao de Informa¸ca˜o; • Documento: poss´ıveis documentos a serem recuperados, podendo estar indexados por partes (t´ıtulo, autor) ou como um texto longo apenas; • Relevˆancia: grau de relevˆancia de um documento perante uma certa consulta, obtido conforme um dos dois m´etodos a serem apresentados na Se¸ca˜o 5.1; Consulta. Documento. Relevˆancia. c1. Documento1. 1. c1. Documento2. 2. c1. Documento3. 1. c2. Documento5. 0. c2. Documento8. 0. c2. Documento19. 1. Tabela 2: Cole¸co˜es de Teste para Algoritmos de Recupera¸c˜ao de Informa¸ca˜o. 3.1. Precis˜ ao. Precis˜ao (precision em inglˆes) est´a relacionado com a quantidade de documentos que foram recuperados corretamente, ou seja, que s˜ao relevantes, para uma certa consulta 18.

(58) (BAEZA-YATES; RIBEIRO-NETO, 1999). Formalmente, pode-se definir segundo a Equa¸ca˜o 4:. T n(relevantes recuperados) P recisao = n(recuperados). (4). Exemplificando o c´alculo, considera-se que para uma certa consulta, temos:. • documentos recuperados: d1, d2, d3, d4, d5 (ou seja, 5 documentos) • documentos relevantes para a consulta: d1, d2 e d6 • documentos relevantes e recuperados para a consulta: d1, d2. Nesse caso, a precis˜ao seria de 40%, pois 2 documentos relevantes foram recuperados dentre os 5 documentos recuperados para a consulta.. 3.2. Cobertura. Cobertura (recall em inglˆes) est´a relacionado com a quantidade de documentos relevantes recuperados tendo em vista todos documentos relevantes para uma certa consulta (BAEZA-YATES; RIBEIRO-NETO, 1999). Formalmente, pode-se definir de acordo com a Equa¸c˜ao 5:. T n(relevantes recuperados) cobertura = n(relevantes). (5). Utilizando o mesmo exemplo de consulta da se¸c˜ao anterior, a cobertura seria de 66,67%, pois recuperou-se 2 documentos relevantes dentre os 3 documentos relevantes poss´ıveis. A rela¸c˜ao entre os conceitos Precis˜ao e Cobertura pode ser visualizada pela Figura 7.. 19.

(59) Figura 7: Precis˜ao x Cobertura. 3.3. Medida F. Um sistema que retorna sempre todos documentos poss´ıveis ter´a garantia de possuir 100% de cobertura, mas com uma baixa precis˜ao. J´a um sistema que retorna somente um documento, h´a chances de ter uma alta precis˜ao, mas uma baixa cobertura, j´a que retorna apenas um documento. Dessa maneira, existe a Medida F que ´e respons´avel por uma m´edia harmˆonica entre a precis˜ao e a cobertura (MANNING et al., 2008), segundo a Equa¸ca˜o 6.. F =. 2 × (precisao × cobertura) precisao + cobertura. (6). Utilizando os mesmos exemplos da se¸c˜ao 3.1, a medida F nesse caso seria 0.5, pois F = 2 × (0.4 × 0.6667) / (0.4 + 0.6667).. 3.4. Precis˜ ao em n. Segundo a defini¸ca˜o de Barth (2013), a Precis˜ao em n (P@n) mede a relevˆancia dos n primeiros documentos em uma lista ordenada, em que n ´e o n´ umero de documentos retornados e r ´e o n´ umero de documentos retornados relevantes at´e a posi¸c˜ao n. 20.

(60) Para o c´alculo da Precis˜ao em n, utiliza-se a Equa¸c˜ao 7:. P @n =. r n. (7). Suponha-se que para uma dada consulta, os 5 primeiros documentos retornados s˜ao os especificados na Tabela 3. Posi¸ca˜o. Documento Relevante?. 1. sim. 2. sim. 3. n˜ao. 4. n˜ao. 5. sim. Tabela 3: Documentos relevantes de acordo com a posi¸ca˜o Para esse caso espec´ıfico, tem-se que a Precis˜ao em n para esses documentos recuperados s˜ao os valores da Tabela 4. Precis˜ao em n. Valor. P@1. 1. P@2. 1. P@3. 2/3. P@4. 2/4. P@5. 3/5. Tabela 4: Valores da Precis˜ao em n. 3.5. M´ edia dos Valores da Precis˜ ao M´ edia. A m´edia dos Valores da Precis˜ao M´edia, em inglˆes Mean Average Precision (MAP), tem como objetivo sumarizar os valores da Precis˜ao em N depois que cada documento relevante foi recuperado para cada uma das consultas. Esta m´etrica ´e uma das mais utilizadas quando deseja-se uma m´etrica com rela¸ca˜o a v´arias consultas (AGICHTEIN; BRILL; DUMAIS, 2006). 21.

(61) Sendo rq o n´ umero total de documentos relevantes para uma certa consulta, N o numero total de documentos recuperados na consulta e rel(n) uma fun¸c˜ao bin´aria cujo valor ´e 1 caso o documento em quest˜ao seja relevante e 0 caso contr´ario. Assim, primeiramente define-se a Precis˜ao M´edia, em inglˆes Average Precision (AP), a qual visa obter a m´edia dos valores P@n para uma consulta espec´ıfica tendo-se como base apenas os documentos relevantes (BARTH, 2013), ´e calculado pela Equa¸ca˜o 8: PN AP =. n=1. P @n × rel(n) rq. (8). Tendo-se como base a Tabela 4, com valores de Precis˜ao em n, o valor de AP seria:. AP =. (1 × 1) + (1 × 1) + (2/3 × 0) + (2/4 × 0) + (3/5 × 1) = 0.86 3. Assim, a MAP seria a m´edia dos AP considerando-se todas as consultas realizadas. Logo, se tivermos 5 consultas, em que a AP de cada uma ´e {0.9, 0.8, 0.8, 0.5, 0.7}, a MAP seria:. M AP =. 3.6. 0.9 + 0.8 + 0.8 + 0.5 + 0.7 = 0.74 5. Mean Reciprocal Rank. Mean Reciprocal Rank (MRR) ´e uma medida utilizada para o caso em que o foco ´e uma u ´nica resposta correta (BARTH, 2013), ou com rela¸c˜ao ao contexto de Recupera¸ca˜o de Informa¸ca˜o, em que o foco ´e um u ´nico documento tido como correto com rela¸ca˜o a uma certa consulta. Sendo N o n´ umero total de consultas realizadas, pi a posi¸c˜ao correta do documento (rank ) para a consulta i, a medida MRR ´e definida como a m´edia do inverso do rank para todas as consultas realizadas (BURGES; RAGNO; LE, 2006), conforme Equa¸c˜ao 9 : PN M RR = 22. 1 i=1 pi. N. (9).

(62) Tenha como base a Tabela 5: Consulta. Resultado Ordenado. Documento Correto. Posi¸ca˜o Correta. Reciprocal Rank. c1. doc1 , doc2. doc1. 1. 1. c2. doc1 , doc2. doc2. 2. 1/2. c3. doc1 , doc2 , doc3. doc3. 3. 1/3. Tabela 5: Documentos e Informa¸c˜oes para o c´alculo do MRR. Para esse exemplo, o valor de MRR seria 0.61, conforme o c´alculo abaixo: M RR =. 3.7. 1 + 1/2 + 1/3 = 0.61 3. Normalized Discounted Cumulative Gain. A medida NDCG (Normalized Discounted Cumulative Gain) ´e uma medida utilizada quando existem diferentes graus de relevˆancia para os documentos retornados de uma ´ o caso em que para uma consulta existiriam documentos com grau de certa consulta. E relevˆancia 0 (nada relacionado com a consulta), 1 (pouco relacionando com a consulta), 2 (relevante a` consulta) e 3 (muito relevante `a consulta) (BARTH, 2013). Essa medida tem duas vantagens com rela¸ca˜o a`s outras medidas. Primeiramente, como dito anteriormente, ela pode ser obtida dos casos em que existem graus de relevˆancia para os documentos e n˜ao somente resultados bin´arios de relevˆancia (sim ou n˜ao). A segunda vantagem est´a relacionada com o fato de priorizar os documentos retornados no come¸co, o que as outras medidas n˜ao diferenciam (WANG et al., 2013). Dada uma lista de documentos retornados de uma consulta, documentos os quais est˜ao ordenados por grau de relevˆancia, ´e claro que os seguintes pontos s˜ao verdadeiros e ¨ ¨ AINEN, ¨ considerados para o c´alculo do NDCG (JARVELIN; KEKAL 2002): • Documentos que est˜ao nas primeiras posi¸co˜es s˜ao mais importantes para o usu´ario • Quanto mais para o fim da lista o documento estiver, menos importante ele ser´a, j´a que ser´a dif´ıcil para o usu´ario acess´a-lo. 23.

(63) A fim de melhor compreender o c´alculo do NDCG, este ser´a dividido em trˆes etapas. A primeira consiste em apresentar o Ganho Acumulado (CG). Essa medida ´e calculada como a soma das relevˆancias desde a posi¸ca˜o 1 at´e a posi¸c˜ao atual para todas as posi¸co˜es do vetor. Considere o seguinte vetor G, que consiste dos documentos retornados para uma certa consulta, em que o valor para cada posi¸ca˜o ´e o grau de relevˆancia, sendo 0 o ¨ ¨ AINEN, ¨ menor valor e 3 o maior poss´ıvel (JARVELIN; KEKAL 2002):. G = { 3, 2, 3, 0, 0, 1, 2, 2, 3, 0, ... }. Formalmente, CG ´e definido recursivamente de acordo com a Equa¸ca˜o 10, onde G[i] ¨ ¨ AINEN, ¨ ´e o grau de relevˆancia para a posi¸c˜ao i (JARVELIN; KEKAL 2002):. CG[i] =.   G[i],. se i = 1 (10).  CG[i − 1] + G[i] se i > 1. Para o vetor G apresentado anteriormente e considerando-se a Equa¸ca˜o 10, ter´ıamos o Ganho Acumulado (CG) sendo:. CG = { 3, 5, 8, 8, 8, 9, 11, 13, 16, 16, ... }. A segunda etapa garante o que foi mencionando anteriormente ao informar que os documentos mais pro fim da lista ser˜ao menos importantes. Para isso, uma fun¸c˜ao que ir´a progressivamente diminuir a importˆancia ´e necess´ario e ser´a apresentada ao calcular-se o Ganho Acumulado Descontado (DCG). Sendo b a base do logaritmo, DCG ´e calculado ¨ ¨ AINEN, ¨ recursivamente(JARVELIN; KEKAL 2002) pela Equa¸ca˜o 11:. DCG[i] =.   CG[i],. se i < b (11).  DCG[i − 1] + G[i]/ log i se i ≥ b b. Utilizando o vetor G apresentado anteriormente e tendo-se a base do logaritmo b = 2, pode-se obter o Ganho Acumulado Descontado sendo: 24.

(64) DCG = { 3, 5, 6.89, 6.89, 6.89, 7.28, 7.99, 8.66, 9.61, 9.61, ... }. Por fim, ´e poss´ıvel agora calcular-se o Ganho Acumulado Descontado Normalizado (NDCG). Tendo-se um vetor I, chamado de Ideal, contendo uma lista de documentos dado uma certa consulta ordenada da melhor maneira atrav´es do grau de relevˆancia, ´e poss´ıvel calcular o DCGi = { i1 , i2 , i3 , i4 , i5 ... }. Tendo-se tamb´em os valores de DCG calculados atrav´es dos documentos recuperados e representados como DCGr = { r1 , r2 , r3 , r4 , r5 ... }, a medida NDCG pode ser calculada dividindo-se cada posi¸ca˜o de DCGr por DCGi , ¨ ¨ AINEN, ¨ de acordo com a Equa¸ca˜o 12 (JARVELIN; KEKAL 2002):. N DCG = {i1 /r1 , i2 /r2 , i3 /r3 , ...}. (12). Por exemplo, se o valor ideal de DCGi for { 3, 6, 7.89, 8.89, 9.75, 10.52, 10.88, 11.21, 11.53, 11.83 ... }, e utilizando o valor de DCG obtido anteriormente, tem-se NDCG:. NDCG = { 1, 0.83, 0.87, 0.77, 0.70, 0.69, 0.73, 0.77, 0.83, 0.81, ... }. 3.8. Acur´ acia. A acur´acia ´e uma medida muito comum em algoritmos de aprendizagem de m´aquina, que consiste em calcular a raz˜ao entre a quantidade de predi¸co˜es corretas sobre todas as predi¸co˜es realizadas. Contudo, por mais que a tarefa da ´area de Recupera¸ca˜o de Informa¸ca˜o possa ser vista como um problema de classifica¸ca˜o de duas classes (relevante e n˜ao relevante), essa n˜ao ´e uma medida muito apropriada para esse cen´ario. Normalmente a maioria dos documentos podem ser considerados n˜ao relevantes para uma certa consulta, ou seja, apenas uma pequena parcela satisfaz a consulta do usu´ario. Assim sendo, um sistema que sempre informe os documentos com a classe n˜ao relevante, teria uma grande acur´acia, afinal estaria predizendo corretamente a classe para uma grande quantidade de documentos e, consequentemente, teria uma grande acur´acia. Contudo, os documentos relevantes n˜ao teriam sido recuperados, ocasiando uma falsa id´eia que o sistema tenha uma boa capacidade de predi¸c˜ao (VECHTOMOVA, 2009).. 25.

(65) 4. T´ ecnicas de Ensemble Neste Cap´ıtulo ser´a apresentado um conceito conhecido por Ensemble. Uma vez que. esse trabalho tem como objetivo avaliar se ao combinar diferentes algoritmos Learning to Rank ´e poss´ıvel obter um algoritmo que consigo retornar documentos mais relevantes a pesquisa e em melhores posi¸c˜oes, ´e necess´ario conhecer como ´e feita essa combina¸c˜ao, as diferentes maneiras e principalmente o m´etodo conhecido por Stacking. Algoritmos de aprendizagem de m´aquina tˆem como objetivo serem capazes de representar pontos do espa¸co vetorial, representados pelo vetor x, e uma certa classe y, atrav´es de uma fun¸c˜ao f, tal que y = f(x). Assim, deve-se encontrar uma fun¸ca˜o h que seja o mais pr´oximo poss´ıvel da fun¸ca˜o y. Por´em encontrar essa fun¸ca˜o h n˜ao ´e uma tarefa f´acil e pode sofrer de dois problemas. O primeiro ´e o fato da possibilidade de existir muitos dados de treinamento (x) e consequentemente a fun¸ca˜o h pode funcionar corretamente somente para uma parte desse conjunto de dados, ou seja, a fun¸ca˜o varia com diferentes dados de treinamento. Um algoritmo que possui esse comportamento ´e conhecido por ter alta variˆancia. O segundo problema est´a relacionado a como estimar a fun¸c˜ao h, uma vez que certos algoritmos tendem a fazer alguma suposi¸ca˜o sobre como cri´a-la e, algoritmos que possuem muitas suposi¸co˜es s˜ao conhecidos por terem um alto vi´es. A fim de tentar ajudar a combater esses dois problemas, ´e poss´ıvel combinar algoritmos utilizando uma t´ecnica conhecida por Ensemble (DIETTERICH, 2002). O termo Ensemble consiste em criar um modelo de aprendizagem de m´aquina (um classificador por exemplo) que ir´a combinar as predi¸c˜oes de outros modelos. Espera-se que o resultado desse modelo combinado possua uma melhor capacidade de predi¸ca˜o, ou seja, que possa por exemplo identificar mais classes corretas em um teste do que qualquer modelo individual que foi utilizado (OPITZ; MACLIN, 1999). Diversos estudos realizados como, por exemplo o do Hansen e Salamon (1990) ou Hashem (1997), apontam que um bom Ensemble ´e aquele em que cada um dos modelos individuais possui capacidade de predi¸ca˜o correta ou comete erros em diferentes partes do conjunto de treinamento. Com isso, o modelo combinado ser´a capaz de unir os pontos fortes de cada algoritmo. Um processo usual de Ensemble acontece de acordo com a figura 8. Cada uma das. 26.

(66) Redes Neurais (network 1 at´e network N), que poderiam ser substituidas por outro tipo de classificador, ´e treinada com o mesmo conjunto de treinamento. Ent˜ao, o resultado de cada um desses classificadores ´e combinado para produzir um resultado final (ensemble output), sendo que pode ser combinado atrav´es de vota¸c˜ao simples, ou seja, a classe que teve mais votos ´e eleita a classe correta a ser predita (BREIMAN, 1996).. Figura 8: Processo para combinar predi¸c˜oes de Redes Neurais (OPITZ; MACLIN, 1999) p.171. A seguir ser˜ao apresentados trˆes m´etodos da literatura que visam combinar diferentes modelos de aprendizagem de m´aquina: Bagging, Boosting e Stacking.. 4.1. Bagging. Bagging ´e um m´etodo de Ensemble criado por Breiman (1996), acrˆonimo para bootstrap aggregating, que visa reduzir a variˆancia, obtendo-se um modelo com melhor qualidade de predi¸ca˜o, ou seja, fazer com que o modelo a ser criado n˜ao seja espec´ıfico ao conjunto de treinamento. Um dos fatos que chamou a aten¸c˜ao para esse m´etodo foi a sua simplicidade de implementa¸c˜ao e, posteriormente comprovado por B¨ uchlmann e Yu (2002) que realmente melhora a capacidade de predi¸ca˜o para algoritmos de regress˜ao ou ´arvores de classifica¸ca˜o. O algoritmo consiste em criar diversos modelos utilizando uma amostra aleat´oria do conjunto de treinamento de tamanho N. Assim, cada modelo ser´a criado utilizando N amostras desse conjunto, por´em pode ter-se elementos repetidos e logo alguns faltantes. Tenha-se, por exemplo, o seguinte conjunto de treinamento dispon´ıvel: 1,2,3,4,5,6,7 e 8. Na Figura 9 verifica-se com qual conjunto de treinamento cada modelo seria treinado. 27.

(67) No primeiro caso tem-se uma amostra de 8 n´ umeros, por´em os n´ umeros 4 e 5 n˜ao est˜ao presentes enquanto os n´ umeros 3 e 7 est˜ao repetidos. Dessa maneira, para cada modelo espera-se ter um erro maior do que se fosse usado todos os dados dispon´ıveis, por´em, se combinados, normalmente produzem menos erros do que cada um dos modelos individuais.. Figura 9: Processo de amostragem do conjunto de treinamento para Bagging (OPITZ; MACLIN, 1999) p.173. Esse processo repete-se t vezes e ap´os ter-se t modelos criados com diferentes conjuntos de treinamento, calcula-se uma vota¸c˜ao para eleger a classe mais predita, caso for um modelo de classifica¸ca˜o, ou uma m´edia de valores, caso o modelo for de regress˜ao. Na Figura 10a existe um u ´nico modelo criado tentando-se encontrar uma fronteira de separa¸ca˜o entre os dois diferentes dados. J´a na Figura 10c existem os t diferentes modelos criados utilizando partes aleat´orias do conjuntos de treinamento e, por fim, na Figura 10b o modelo final de Bagging que foi poss´ıvel ser encontrado.. Figura 10: Superf´ıcie de separa¸c˜ao de dados utilizando Bagging (ZHOU, 2012) p.50. 28.

(68) 4.2. Boosting. Boosting ´e uma t´ecnica que consiste em criar diversos modelos fracos, por´em que se combinados, ser˜ao capazes de ter uma predi¸ca˜o melhor do que qualquer um dos modelos individuais. Esse m´etodo foi primeiramente encontrado em Schapire (1990) e Freund, Schapire et al. (1996), em que se cria uma s´erie de modelos onde o conjunto de treinamento de cada modelo ´e escolhido baseado no resultado da etapa anterior. Logo, ´e importante salientar que esse m´etodo n˜ao ´e paraleliz´avel, uma vez que o modelo posterior ´e dependente do anterior, diferentemente do que acontece no Bagging. Isso acontece porque exemplos que foram preditos corretamente durante um treinamento tˆem menos chances de serem escolhidos para as pr´oximas etapas, uma vez que foca-se nos exemplos dif´ıceis de serem preditos corretamente. Assim, diferentemente de Bagging, o conjunto de treinamento ´e dependente da etapa anterior. Na Figura 11 tem-se o seguinte conjunto de treinamento inicial: 1,2,3,4,5,6,7 e 8. Por´em, considerando-se que o exemplo 1 ´e o mais dif´ıcil a se predizer corretamente, ele passa a ocorrer mais frequentemente nas pr´oximas itera¸c˜oes, a fim de tentar criar um modelo que seja capaz de lidar com esse exemplo. Assim como no Bagging, o resultado final tamb´em pode ser escolhido atrav´es de uma vota¸ca˜o majorit´aria.. Figura 11: Processo de amostragem do conjunto de treinamento para Boosting (OPITZ; MACLIN, 1999) p.173. Para visualizar a superf´ıcie de separa¸c˜ao de um conjunto de dados utilizando Boosting, tem-se a Figura 12b, em que combina classificadores fracos (Figura 12c), e demonstra ter uma capacidade maior de separa¸c˜ao entre as duas classes existentes do que a Figura 12a, que possui apenas um modelo para tentar separar os dados.. 29.

(69) Figura 12: Superf´ıcie de separa¸c˜ao de dados utilizando Boosting (ZHOU, 2012) p.30. 4.3. Stacking. Stacking ´e um m´etodo criado por Wolpert (1992) que visa criar um novo modelo que seja capaz de combinar diferentes modelos. Ou seja, ao inv´es de utilizar uma vota¸c˜ao para definir qual a predi¸ca˜o correta, nesse caso deve ser realizado um treinamento de um algoritmo com o objetivo de realizar essa tarefa. Os modelos que ser˜ao combinados s˜ao conhecidos por Modelos de N´ıvel 1, enquanto que o modelo que ir´a realizar a combina¸ca˜o ´e conhecido por Modelo de N´ıvel 2 ou meta-learner. Deve-se treinar todos os modelos de N´ıvel 1 utilizando o conjunto de dados de treinamento inicial e utilizar a sa´ıda desses modelos como entrada para o modelo de N´ıvel 2, sendo que o valor esperado, ou classe esperada se for um modelo de classifica¸ca˜o, ´e a ´ recomend´avel que os mesma dos dados iniciais, processo esse ilustrado na Figura 13. E algoritmos do N´ıvel 1 sejam de diferentes tipos, como Redes Neurais, Random Forest, etc, garantindo uma variedade de resultados na predi¸ca˜o desses modelos (ZHOU, 2012).. 30.

(70) Figura 13: Stacking de modelos de aprendizagem. Uma outra maneira de realizar o Stacking consiste em dividir o conjunto de dados de treinamento em duas partes diferentes, em que a primeira parte ´e utilizada para treinar os modelos de N´ıvel 1 e a segunda parte para test´a-los, sendo que o resultado desse teste ser´a utilizado para gerar o conjunto de treinamento para o modelo de N´ıvel 2 (SEWELL, 2008). Pode-se ainda separar o conjunto de treinamento realizando uma valida¸ca˜o cruzada de k pastas, em que se deve dividir aleatoriamente esse conjunto em k partes, D1 , ...., Dk . Seja ent˜ao D(j) o conjunto de teste e D(−j) o conjunto de treinamento para cada uma das pastas. Para cada um dos modelos do N´ıvel 1 ent˜ao ser´a utilizado os dados D(−j) para treinamento e os dados D(j) para teste, o qual produzir´a novos dados de treinamento a serem utilizados para o modelo de N´ıvel 2. Deve-se lembrar que ap´os os novos dados serem gerados, os modelos do N´ıvel 1 s˜ao criados novamente, agora utilizando todo conjunto de treinamento dispon´ıvel (ZHOU, 2012).. 31.

(71) 5. Learning to Rank Nesse Cap´ıtulo ´e apresentado um campo de estudo conhecido por Learning to Rank. que pode ser aplicado em diversas ´areas tais como de Recupera¸ca˜o de Informa¸ca˜o, Processamento de Linguagem Natural (PLN) e Minera¸ca˜o de Dados, cujas aplica¸co˜es pr´aticas podem ser os Sistemas de Recupera¸c˜ao de Informa¸ca˜o, Filtro Colaborativo (do inglˆes collaborative filtering), sistemas de perguntas e respostas, tradu¸co˜es autom´aticas e outros. Diferentemente dos modelos cl´assicos, esses algoritmos empregam t´ecnicas de Aprendizagem de M´aquina e Inteligˆencia Artificial, a fim de serem capazes de retornar os documentos em uma ordena¸ca˜o melhor e fazer com que o usu´ario encontre mais facilmente a informa¸ca˜o desejada. Os Sistemas de Recupera¸ca˜o de Informa¸ca˜o possuem ciˆencia de todos documentos e, dado uma certa consulta que recebe, este ir´a retornar os documentos que acredita serem relevantes, encontrados atrav´es da verifica¸ca˜o das palavras da consulta nos documentos. Antes de retornar os documentos, o sistema ordena os mesmos atrav´es de uma fun¸ca˜o de ranking f(q,d), em que q ´e a consulta e d ´e o documento, conforme Figura 14. Normalmente essa fun¸ca˜o de ranking ´e criada sem envolver t´ecnicas de aprendizagem de m´aquina, usando a m´etrica BM25, explicada na Se¸ca˜o 5.2, ou ainda a distˆancia vetorial entre o documento e a consulta (distˆancia do cosseno) (HANG, 2011).. Figura 14: Processo utilizado na Recupera¸ca˜o de Informa¸ca˜o Tradicional (HANG, 2011) p.1854. Nos u ´ltimos anos, cada vez mais t´ecnicas de aprendizagem de m´aquina vˆem sendo usadas para resolver o problema de ranking, principalmente aplicadas `a a´rea de Recupera¸c˜ao 32.

Referências

Documentos relacionados

Determinar o efeito de compostos das classes dos pirazóis, isoxazóis e isoxazolinonas sobre a atividade da enzima AChE cerebral de ratos nas seguintes estruturas cerebrais:

O direito tributário tem na legalidade um princípio basilar de toda sua estrutura jurídica, tendo exigências específicas para a aplicação da lei tributária, de

Um guia de onda é uma região de um substrato em que o índice de refração é maior do que em outra, de tal modo que a luz (ou uma onda eletromagnética), possa ser confinada e

A partir desses pressupostos, desenvolveu-se aqui uma proposta de formação inicial e continuada de professores, visando à utilização de geotecnologias para o ensino

Nas citações, as chamadas pelo sobrenome do autor, pela instituição responsável ou título incluído na sentença devem ser em letras maiúsculas e minúsculas e,

Para este grupo de frutas, a forma mais fácil para obtenção do suco é a trituração em liquidificador com adição de uma pequena porção de água. Após a trituração, filtra-se

À premência da adoção da perspectiva social na Constituição, reconhecendo a organização da sociedade em grupos que mereciam representação, expandindo direitos trabalhistas

Tendo como referência a letra da música Camaro Amarelo, julgue os itens de 83 a 85 e faça o que se pede no item 86, que é do tipo D.. 83 Nas canções Camaro Amarelo e Cuitelinho,